Skip to content

Wiab staging improvements#896

Open
mohitrajain wants to merge 5 commits intomasterfrom
wiab-staging-improvements
Open

Wiab staging improvements#896
mohitrajain wants to merge 5 commits intomasterfrom
wiab-staging-improvements

Conversation

@mohitrajain
Copy link
Copy Markdown
Contributor

@mohitrajain mohitrajain commented Apr 8, 2026

Change type

  • Fix
  • Feature
  • Documentation
  • Security / Upgrade

Basic information

  • THIS CHANGE REQUIRES A DEPLOYMENT PACKAGE RELEASE
  • THIS CHANGE REQUIRES A WIRE-DOCS RELEASE

Testing

  • I ran/applied the changes myself, in a test environment.
  • The CI job attached to this repo will test it for me.

Offline Build CI (label-based)

Add one or more labels to trigger offline builds:

  • build-default - Full production build (ansible, terraform, all packages)
  • build-dev - WIAB/dev build
  • build-wiab-staging - WIAB-staging build
  • build-min - Minimal build (fastest, essential charts only)
  • build-all - Run all three builds

Note: No builds run by default. Add a label to trigger CI.

Tracking

  • I added a new entry in an appropriate subdirectory of changelog.d
  • I mentioned this PR in Jira, OR I mentioned the Jira ticket in this PR.
  • I mentioned this PR in one of the issues attached to one of our repositories.

Knowledge Transfer

  • An Asciinema session is attached to the Jira ticket.

Motivation

Objective

Reason

Use case

…lling services and improved the flow based on cert-manager and calling services requirement
…ory, how to verify, download artifact, and documentation around cert-manager and calling components
@mohitrajain mohitrajain requested review from a team and julialongtin as code owners April 8, 2026 15:27
@sonarqubecloud
Copy link
Copy Markdown

ENV=$1
TYPE=$2
charts=(fake-aws smtp rabbitmq databases-ephemeral reaper wire-server webapp account-pages team-settings ingress-nginx-controller nginx-ingress-services coturn sftd cert-manager)
charts=(fake-aws demo-smtp rabbitmq databases-ephemeral reaper wire-server webapp account-pages team-settings ingress-nginx-controller)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not know if this is bad or not, but I want to remark that here in process_values() we change from smtp to demo-smtp, but the deploy_charts() in main() still references smtp and not demo-smtp.

Not sure what the impact is, or even if this is an actual problem, but I thought I'd point out the potential inconsistency.

fi

# Setting coturn node IP values
yq eval -i ".coturnTurnListenIP = \"$CALLING_NODE_IP\"" "$BASE_DIR/values/coturn/values.yaml"
Copy link
Copy Markdown
Contributor

@arthurwolf arthurwolf Apr 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a problem that predates the PR, but I thought I'd still mention: almost all value modifications use a temporary file pattern, like:

yq eval -i '.tls.issuerRef.name = "letsencrypt-http01"' "$TEMP_DIR/sftd-values.yaml"

just above...

But these edit the files "directly" without going through a temp file, which means no "Updating..." log messages like other edits have, no idempotency check, more risk etc.

Minor but thought I'd point it out.

- `CERT_MASTER_EMAIL`: email used by cert-manager for ACME registration.
- `HOST_IP`: public IP that matches your DNS A record (auto-detected if empty).
- `TARGET_SYSTEM`: your domain (e.g., `wire.example.com` or `example.dev`) using which you have created subdomains, check more at [How to set up DNS records](https://docs.wire.com/latest/how-to/install/demo-wiab.html#dns-requirements).
- `CERT_MASTER_EMAIL`: email used by cert-manager for ACME registration (dy default=TRUE).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `CERT_MASTER_EMAIL`: email used by cert-manager for ACME registration (dy default=TRUE).
- `CERT_MASTER_EMAIL`: email used by cert-manager for ACME registration (by default=TRUE).

typo

*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.*

**Manually removing non-required helm charts**:
- If some helm charts are not required in your environment like `demo-smtp` for email relayomg then use the following command to uninstall them:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- If some helm charts are not required in your environment like `demo-smtp` for email relayomg then use the following command to uninstall them:
- If some helm charts are not required in your environment like `demo-smtp` for email relaying then use the following command to uninstall them:


- If the VMs are reachable with a private key, set `ansible_ssh_private_key_file` in the inventory and run Ansible normally.
- If you rely on an SSH agent, keep `ansible_ssh_private_key_file` commented out and ensure the agent on the `adminhost` can reach all VMs.
- If you do not use a private key entry in the inventory and password authentication is enabled on the VMs, add `--ask-pass` when runing ansible-playbooks manually and `--ask-become-pass` for sudo access.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- If you do not use a private key entry in the inventory and password authentication is enabled on the VMs, add `--ask-pass` when runing ansible-playbooks manually and `--ask-become-pass` for sudo access.
- If you do not use a private key entry in the inventory and password authentication is enabled on the VMs, add `--ask-pass` when running ansible-playbooks manually and `--ask-become-pass` for sudo access.

small typo

# verify if all kube-system pods are running well
sudo docker run --network=host -v $PWD:/wire-server-deploy $WSD_CONTAINER sh -c 'kubectl -n kube-system get pods'

sudo docker run --network=host -v $PWD:/wire-server-deploy $WSD_CONTAINER sh -c 'TARGET_SYSTEM="example.dev" CERT_MASTER_EMAIL="certmaster@example.dev" DEPLOY_CERT_MANAGER=TRUE DUMP_LOGS_ON_FAIL=TRUE ./bin/helm-operations.sh'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
sudo docker run --network=host -v $PWD:/wire-server-deploy $WSD_CONTAINER sh -c 'TARGET_SYSTEM="example.dev" CERT_MASTER_EMAIL="certmaster@example.dev" DEPLOY_CERT_MANAGER=TRUE DUMP_LOGS_ON_FAIL=TRUE ./bin/helm-operations.sh'
sudo docker run --network=host -v $PWD:/wire-server-deploy $WSD_CONTAINER sh -c 'TARGET_SYSTEM="example.dev" CERT_MASTER_EMAIL="certmaster@example.dev" DEPLOY_CERT_MANAGER=TRUE DUMP_LOGS_ON_FAIL=TRUE DEPLOY_CALLING_SERVICES=TRUE ./bin/helm-operations.sh'

So, DEPLOY_CALLING_SERVICES defaults to TRUE if not specified (I think), so behavior is preserved no matter what here, but shouldn't we make it explicit with DEPLOY_CALLING_SERVICES=TRUE here?

Otherwise somebody looking at this line / copy-pasting it has no idea that DEPLOY_CALLING_SERVICES is a thing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants