Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
58a76d6
Update cassandra to 3.11.19
sghosh23 Nov 28, 2025
cae2f2d
add changelog and override ansible-cassandra version
sghosh23 Nov 28, 2025
56a8f32
Merge branch 'master' into update-cassandra-version
sghosh23 Dec 17, 2025
11817c3
update ansible-cassandra submodule to 3.11.19
sghosh23 Jan 7, 2026
67552d9
chore(cassandra): WPB-0000 update ansible-cassandra submodule to fix …
sghosh23 Jan 7, 2026
03185b2
chore(cassandra): WPB-0000 fix upgrade playbooks for Ansible 2.16+ an…
sghosh23 Jan 13, 2026
c98e04c
docs(cassandra): WPB-0000 document cassandra_restart.yml limitations
sghosh23 Jan 13, 2026
89ea096
docs(cassandra): WPB-20347 add Cassandra 3.11.16 to 3.11.19 upgrade g…
sghosh23 Jan 13, 2026
0deda5e
add comment on overridden cassandra version
sghosh23 Jan 14, 2026
077ce5b
fix: wpb-22439 add bin/helm-operations.sh to replace offline-helm to …
mohitrajain Jan 16, 2026
4dd6322
fix: wpb-22439 change bin/offline-secrets.sh to support helm-operatio…
mohitrajain Jan 16, 2026
c002376
fix: wpb-22439 reduce replica count for sftd and coturn to support wi…
mohitrajain Jan 16, 2026
e29e5a7
fix: wpb-22439 add changelog, change execute permission on helm-opera…
mohitrajain Jan 16, 2026
692a081
Update the upgrade doc
sghosh23 Jan 19, 2026
6291462
fix: wpb-22439 fix linting errors and secrets file path
mohitrajain Jan 19, 2026
6b92036
docs(cassandra): WPB-0000 clarify upgrade step ordering
sghosh23 Jan 19, 2026
35557f6
Merge pull request #831 from wireapp/update-cassandra-version
sghosh23 Jan 19, 2026
e50a464
fix: wpb-22846 helm-operations.sh missing helm chart support for cert…
mohitrajain Jan 19, 2026
a82a776
fix: wpb-22439 make using daemonset with nodePort for ingress-nginx-c…
mohitrajain Feb 19, 2026
b4341f5
Wpb 22439 All wiab-staging changes (#861)
mohitrajain Feb 19, 2026
0569104
fix: wpb-22439 add bin/helm-operations.sh to replace offline-helm to …
mohitrajain Jan 16, 2026
a68456e
fix: wpb-22439 change bin/offline-secrets.sh to support helm-operatio…
mohitrajain Jan 16, 2026
0529b45
fix: wpb-22439 reduce replica count for sftd and coturn to support wi…
mohitrajain Jan 16, 2026
e56aab2
fix: wpb-22439 add changelog, change execute permission on helm-opera…
mohitrajain Jan 16, 2026
30759eb
fix: wpb-22439 fix linting errors and secrets file path
mohitrajain Jan 19, 2026
fec19d5
fix: wpb-22846 helm-operations.sh missing helm chart support for cert…
mohitrajain Jan 19, 2026
8c1eab9
fix: wpb-22439 make using daemonset with nodePort for ingress-nginx-c…
mohitrajain Feb 19, 2026
ba2e3f4
fix: wpb-22439 add comment for replica-count management in coturn and…
mohitrajain Feb 19, 2026
1ba055c
fix: wpb-22439 fix cd.sh for ingress-nginx-controller file change
mohitrajain Feb 19, 2026
5938bde
fix: Merge branch 'wpb-22439-fix-helm-operations-coturn-sftd' of gith…
mohitrajain Feb 19, 2026
f1df50a
fix: wpb-22439: fixed the rabbitmq-external chart deployment
mohitrajain Feb 20, 2026
0bdefa1
fix: wpb-22439: deprecating offline-helm.sh for bin/helm-operations.sh
mohitrajain Feb 20, 2026
8c0c640
fix: wpb-22439: update wiab-staging.md and postgresql-cluster.md for …
mohitrajain Feb 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Fixes ${ISSUE_URL}
Add one or more labels to trigger offline builds:
- `build-default` - Full production build (ansible, terraform, all packages)
- `build-demo` - Demo/WIAB build
- `build-wiab-staging` - WIAB-staging build
- `build-min` - Minimal build (fastest, essential charts only)
- `build-all` - Run all three builds

Expand Down
39 changes: 0 additions & 39 deletions .github/workflows/deploy-wiab.yml

This file was deleted.

71 changes: 65 additions & 6 deletions .github/workflows/offline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,22 @@
# - No label: No builds run (must add label to trigger builds)
# - 'build-default': Builds only default profile
# - 'build-demo': Builds only demo profile
# - 'build-wiab-staging' - Builds only wiab-staging profile
# - 'build-min': Builds only min profile
# - 'build-all': Explicitly builds all profiles (useful for workflow changes)
#
# Push to master/develop: Always builds all profiles regardless of labels
#
on:
push:
branches: [master, develop]
branches: ["**"]
tags: [v*]
paths-ignore:
- "*.md"
- "**/*.md"
pull_request:
types: [synchronize, reopened, labeled]
branches: [master, develop]
branches: ["**"]
paths-ignore:
- "*.md"
- "**/*.md"
Expand All @@ -32,9 +33,9 @@ jobs:
build-default:
name: Build default profile
if: |
github.event_name == 'push' ||
contains(github.event.pull_request.labels.*.name, 'build-all') ||
contains(github.event.pull_request.labels.*.name, 'build-default')
contains(github.event.pull_request.labels.*.name, 'build-default') ||
contains(github.event.pull_request.labels.*.name, 'build-wiab-staging')
runs-on:
group: wire-server-deploy
outputs:
Expand Down Expand Up @@ -72,6 +73,27 @@ jobs:
AWS_SECRET_ACCESS_KEY: '${{ secrets.AWS_SECRET_ACCESS_KEY }}'
AWS_REGION: "eu-west-1"

verify-default:
name: Verify default profile
needs: build-default
if: |
contains(github.event.pull_request.labels.*.name, 'build-all') ||
contains(github.event.pull_request.labels.*.name, 'build-default')
runs-on:
group: wire-server-deploy
steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: cachix/install-nix-action@v27
- uses: cachix/cachix-action@v15
with:
name: wire-server
signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"

- name: Install nix environment
run: nix-env -f default.nix -iA env

- name: Install terraform
uses: hashicorp/setup-terraform@v3
with:
Expand All @@ -89,6 +111,45 @@ jobs:
env:
HCLOUD_TOKEN: '${{ secrets.HCLOUD_TOKEN }}'

# verify wiab-staging profile
verify-wiab-staging:
name: Verify wiab staging profile
needs: build-default
if: |
contains(github.event.pull_request.labels.*.name, 'build-all') ||
contains(github.event.pull_request.labels.*.name, 'build-wiab-staging')
runs-on:
group: wire-server-deploy
steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: cachix/install-nix-action@v27
- uses: cachix/cachix-action@v15
with:
name: wire-server
signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"

- name: Install nix environment
run: nix-env -f default.nix -iA env

- name: Install terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: "^1.3.7"
terraform_wrapper: false

- name: Deploy offline wiab-staging environment to hetzner
run: ./offline/cd_staging.sh
env:
HCLOUD_TOKEN: '${{ secrets.HCLOUD_TOKEN }}'

- name: Clean up hetzner wiab-staging environment; just in case
if: always()
run: (cd terraform/examples/wiab-staging-hetzner ; terraform init && terraform destroy -auto-approve)
env:
HCLOUD_TOKEN: '${{ secrets.HCLOUD_TOKEN }}'

# Build container in parallel
build-container:
name: Build container
Expand Down Expand Up @@ -118,7 +179,6 @@ jobs:
build-demo:
name: Build demo profile
if: |
github.event_name == 'push' ||
contains(github.event.pull_request.labels.*.name, 'build-all') ||
contains(github.event.pull_request.labels.*.name, 'build-demo')
runs-on:
Expand Down Expand Up @@ -179,7 +239,6 @@ jobs:
build-min:
name: Build min profile
if: |
github.event_name == 'push' ||
contains(github.event.pull_request.labels.*.name, 'build-all') ||
contains(github.event.pull_request.labels.*.name, 'build-min')
runs-on:
Expand Down
18 changes: 11 additions & 7 deletions ansible/db-operations/cassandra_post_upgrade.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,29 @@
#
# Follow the guidelines from DataStax for upgrades.
#
hosts: "cassandra"
- hosts: "cassandra"
any_errors_fatal: yes
gather_facts: no
serial: 1
vars:
cluster_name: default
cassandra_cluster_name: default
vars_files:
- roles-external/ansible-cassandra/defaults/main.yml
tasks:
- action: ec2_metadata_facts
- include: tasks/cassandra_cluster_healthy.yml
when: not (offline | default(false))
- include_tasks: tasks/cassandra_cluster_healthy.yml
vars:
cassandra_role: "cassandra_{{ cluster_name }}"
cassandra_role: cassandra
dry_run: true
# TODO: Adjust this value accordingly!
expected_num_schemas: 1

- name: 'Cassandra: upgrade sstables'
shell: nodetool upgradesstables

- include: roles-external/ansible-cassandra/tasks/repairs_backups.yml
vars:
cassandra_cluster_name: "{{ cluster_name }}"
# Skip repairs_backups setup in offline environments
# - include_tasks: ../roles-external/ansible-cassandra/tasks/repairs_backups.yml
# vars:
# cassandra_cluster_name: "{{ cassandra_cluster_name }}"
# when: not (offline | default(false))
17 changes: 11 additions & 6 deletions ansible/db-operations/cassandra_pre_upgrade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,33 @@
hosts: cassandra
gather_facts: yes
vars_files:
- roles/cassandra/defaults/main.yml
- roles-external/ansible-cassandra/defaults/main.yml

tasks:
# First let's ensure that are no repairs on _any_ nodes
- include: tasks/cassandra_remove_cron.yml
- include_tasks: tasks/cassandra_remove_cron.yml
vars:
cluster_name: default
- include: tasks/cassandra_wait_ongoing_repair.yml
cassandra_cluster_name: default
- include_tasks: tasks/cassandra_wait_ongoing_repair.yml

- name: Prepare the nodes
hosts: cassandra
any_errors_fatal: yes
gather_facts: no
serial: 1
vars:
cassandra_cluster_name: default
tasks:
- name: 'Cassandra: first upgrade sstables'
shell: nodetool upgradesstables

- name: 'Cassandra: run repairs'
shell: nodetool repair -full -pr 2>&1 | systemd-cat -t cassandra_repair

- include: tasks/cassandra_cluster_healthy.yml
- include_tasks: tasks/cassandra_cluster_healthy.yml
vars:
cassandra_role: cassandra
dry_run: true

- name: 'Cassandra: backup the data'
shell: /usr/local/bin/cassandra_backup_{{ cluster_name }} 2>&1 | systemd-cat -t cassandra_daily_backup
shell: /usr/local/bin/cassandra_backup_{{ cassandra_cluster_name }} 2>&1 | systemd-cat -t cassandra_daily_backup
16 changes: 13 additions & 3 deletions ansible/db-operations/cassandra_restart.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
#
# TODO: This playbook needs updates for offline/systemd environments:
# - cassandra_up.yml references runit (not systemd)
# - cassandra_up.yml uses AWS-specific variables (ansible_ec2_local_ipv4, routing_table)
# - cassandra_up.yml needs offline mode support
#
# For now, use manual restart approach:
# ssh <node> 'sudo systemctl restart cassandra.service'
# Wait for startup, then verify with: nodetool version && nodetool status
#
- name: restart cassandra nodes
hosts: "cassandra"
any_errors_fatal: yes
gather_facts: no
serial: 1
tasks:
- include: tasks/cassandra_cluster_healthy.yml
- include: tasks/cassandra_down.yml
- include: tasks/cassandra_up.yml
- include_tasks: tasks/cassandra_cluster_healthy.yml
- include_tasks: tasks/cassandra_down.yml
- include_tasks: tasks/cassandra_up.yml
66 changes: 0 additions & 66 deletions ansible/files/hetzner_server_nftables.conf.j2

This file was deleted.

25 changes: 0 additions & 25 deletions ansible/files/hetzner_server_sshd_config

This file was deleted.

Loading