Skip to content

Commit 652ab10

Browse files
committed
patched documentation further
1 parent 3ae4c0a commit 652ab10

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

offline/wiab-staging.md

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ cd wire-server-deploy
107107

108108
A sample inventory is available at [ansible/inventory/demo/wiab-staging.yml](https://github.com/wireapp/wire-server-deploy/blob/master/ansible/inventory/demo/wiab-staging.yml).
109109

110-
*Note: Replace example.com with your physical machine address where KVM is available and adjust other variables like ansible_user and ansible_ssh_private_key_file. The SSH user for ansible `ansible_user` should have password-less `sudo` access. The physical host should be running Ubuntu 22.04.*
110+
*Note: Replace example.com with your physical machine (adminhost) address where KVM is available and adjust other variables like ansible_user and ansible_ssh_private_key_file. The SSH user for ansible `ansible_user` should have password-less `sudo` access. The physical host should be running Ubuntu 22.04.*
111111

112112
**Step 3: Run the VM and network provision**
113113

@@ -127,6 +127,8 @@ Ensure the inventory file `ansible/inventory/offline/inventory.yml` in the direc
127127

128128
Since the inventory is ready, please continue with the following steps:
129129

130+
> **Note**: All next steps assume that the wire-server-deploy artifact has been downloaded on the `adminhost` (your physical machine) and extracted at `/home/ansible_user/wire-server-deploy`. All commands from here on will be issued from this directory on the `adminhost`, ssh on the node before proceeding.
131+
130132
### Environment Setup
131133

132134
- **[Making tooling available in your environment](docs_ubuntu_22.04.md#making-tooling-available-in-your-environment)**
@@ -150,7 +152,7 @@ Since the inventory is ready, please continue with the following steps:
150152
- `HOST_IP`: public IP that matches your DNS A record (auto-detected if empty).
151153

152154
**TLS / certificate behavior (cert-manager vs. Bring Your Own):**
153-
- By default, `bin/helm-operations.sh` runs `deploy_cert_manager`, which installs cert-manager and configures a Let’s Encrypt (HTTP-01) issuer for the ingress charts.
155+
- By default, `bin/helm-operations.sh` has `DEPLOY_CERT_MANAGER=TRUE`, which installs cert-manager and configures a Let’s Encrypt (HTTP-01) issuer for the ingress charts.
154156
- If you **do not** want Let’s Encrypt / cert-manager (for example, you are using **[Bring Your Own certificates](docs_ubuntu_22.04.md#acquiring--deploying-ssl-certificates)**), disable this step by passing env variable `DEPLOY_CERT_MANAGER=FALSE` when running `bin/helm-operations.sh`.
155157
- When choosing `DEPLOY_CERT_MANAGER=FALSE`, ensure your ingress is configured with your own TLS secret(s) as described at [Acquiring / Deploying SSL Certificates](docs_ubuntu_22.04.md#acquiring--deploying-ssl-certificates).
156158
- When choosing `DEPLOY_CERT_MANAGER=TRUE`, ensure if further network configuration is required by following [cert-manager behaviour in NAT / bridge environments](#cert-manager-behaviour-in-nat--bridge-environments).
@@ -162,7 +164,7 @@ d sh -c 'TARGET_SYSTEM="example.dev" CERT_MASTER_EMAIL="certmaster@example.dev"
162164
```
163165

164166
**Charts deployed by the script:**
165-
- External datastores and helpers: `cassandra-external`, `elasticsearch-external`, `minio-external`, `rabbitmq-external`, `databases-ephemeral`, `reaper`, `fake-aws`, `demo-smtp`.
167+
- External datastores and helpers: `cassandra-external`, `elasticsearch-external`, `minio-external`, `rabbitmq-external`,`postgresql-external`, `databases-ephemeral`, `reaper`, `fake-aws`, `demo-smtp`.
166168
- Wire services: `wire-server`, `webapp`, `account-pages`, `team-settings`, `smallstep-accomp`.
167169
- Ingress and certificates: `ingress-nginx-controller`, `cert-manager`, `nginx-ingress-services`.
168170
- Calling services: `sftd`, `coturn`.
@@ -171,23 +173,17 @@ d sh -c 'TARGET_SYSTEM="example.dev" CERT_MASTER_EMAIL="certmaster@example.dev"
171173
- Creates `values.yaml` and `secrets.yaml` from `prod-values.example.yaml` and `prod-secrets.example.yaml` for each chart under `values/`.
172174
- Backs up any existing `values.yaml`/`secrets.yaml` before replacing them.
173175

174-
**Values configured by the script:**
175-
- Replaces `example.com` with `TARGET_SYSTEM` in Wire and webapp hostnames.
176-
- Enables cert-manager and sets `certmasterEmail` using `CERT_MASTER_EMAIL`.
177-
- Sets SFTD hosts and switches issuer to `letsencrypt-http01`.
178-
- Sets coturn listen/relay/external IPs using the calling node IP and `HOST_IP`.
179-
180176
*Note: The `bin/helm-operations.sh` script above deploys these charts; you do not need to run the Helm commands manually unless you want to customize or debug.*
181177

182178
## Network Traffic Configuration
183179

184180
### Bring traffic from the physical machine to Wire services in the k8s cluster
185181

186-
If you used the Ansible playbook earlier, nftables firewall rules are pre-configured to forward traffic. If you set up VMs manually with your own hypervisor, you must manually configure network traffic flow using nftables.
182+
If you used the Ansible playbook earlier, nftables firewall rules are pre-configured to forward traffic. If you set up VMs manually with your own hypervisor, you must manually configure network traffic flow using nftables as descibed below.
187183

188184
**Required Network Configuration:**
189185

190-
The physical machine must forward traffic from external clients to the Kubernetes cluster running Wire services. This involves:
186+
The physical machine (adminhost) must forward traffic from external clients to the Kubernetes cluster running Wire services. This involves:
191187

192188
1. **HTTP/HTTPS Traffic (Ingress)** - Forward ports 80 and 443 to the nginx-ingress-controller running on a Kubernetes node
193189
- Port 80 (HTTP) → Kubernetes node port 31772
@@ -199,19 +195,20 @@ The physical machine must forward traffic from external clients to the Kubernete
199195

200196
**Implementation:**
201197

202-
Use the detailed nftables rules in [../ansible/files/wiab_server_nftables.conf.j2](../ansible/files/wiab_server_nftables.conf.j2) as the template. The guide covers:
198+
Use the detailed nftables rules in [../ansible/files/wiab_server_nftables.conf.j2](../ansible/files/wiab_server_nftables.conf.j2) as the template. The nftable configuration template covers:
203199
- Defining your network variables (Coturn IP, Kubernetes node IP, WAN interface)
204200
- Creating NAT rules for HTTP/HTTPS ingress traffic
205-
- Setting up TURN protocol forwarding for Coturn
206-
- Restarting nftables to apply changes
201+
- Setting up TURN protocol forwarding for Coturn and traffic for SFTD
202+
203+
*Note: If you have already ran the playbook wiab-staging-provision.yml then it is already be configured for you. Confirm it by checking if the wire endpoint `https://webapp.TARGET_SYSTEM` is reachable from public internet or your private network (in case of private network), but not from the adminhost itself.*
207204

208-
You can also apply these rules using the Ansible playbook, by following:
205+
You can also apply these rules using the Ansible playbook against your adminhost, by following:
209206

210207
```bash
211208
ansible-playbook -i inventory.yml ansible/wiab-staging-nftables.yml
212209
```
213210

214-
*Note: If you ran the playbook wiab-staging-provision.yml then it might already be configured for you. Please confirm before running.*
211+
You can run the above playbook from local system or where you have cloned/downloaded the [Wire server deploy ansible playbooks](#getting-the-ansible-playbooks).
215212

216213
The inventory should define the following variables:
217214

@@ -227,6 +224,12 @@ calling_node_ip=192.168.122.13
227224

228225
# Host WAN interface name
229226
inf_wan=eth0
227+
228+
# These are the same as wiab-staging.yml
229+
# user and ssh key for adminhost
230+
ansible_user='demo'
231+
ansible_ssh_private_key_file='~/.ssh/id_ed25519'
232+
230233
```
231234

232235
### cert-manager behaviour in NAT / bridge environments

0 commit comments

Comments
 (0)