Skip to content

Commit 94cb04d

Browse files
authored
Merge pull request #867 from wireapp/fix/bump-wire-server-5.25-pg-secrets
Bump wire-server to 5.25.0
2 parents 129e884 + 0d4c18d commit 94cb04d

7 files changed

Lines changed: 55 additions & 31 deletions

File tree

bin/helm-operations.sh

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,15 @@ deploy_charts() {
140140
if [[ "$chart" == "wire-server" ]]; then
141141

142142
echo "Retrieving PostgreSQL password from databases-ephemeral for wire-server deployment..."
143-
if kubectl get secret wire-postgresql-secret &>/dev/null; then
143+
if kubectl get secret wire-postgresql-external-secret &>/dev/null; then
144144
# Usage: sync-k8s-secret-to-wire-secrets.sh <secret-name> <secret-key> <yaml-file> <yaml-path's>
145145
"$BASE_DIR/bin/sync-k8s-secret-to-wire-secrets.sh" \
146-
wire-postgresql-secret password \
146+
"wire-postgresql-external-secret" \
147+
"password" \
147148
"$BASE_DIR/values/wire-server/secrets.yaml" \
148-
.brig.secrets.pgPassword .galley.secrets.pgPassword
149+
.brig.secrets.pgPassword .galley.secrets.pgPassword .background-worker.secrets.pgPassword
149150
else
150-
echo "⚠️ Warning: PostgreSQL secret 'wire-postgresql-secret' not found, skipping secret sync"
151+
echo "⚠️ Warning: PostgreSQL secret 'wire-postgresql-external-secret' not found, skipping secret sync"
151152
echo " Make sure databases-ephemeral chart is deployed before wire-server"
152153
fi
153154
fi
@@ -178,6 +179,9 @@ deploy_calling_services() {
178179

179180
kubectl annotate node "$CALLING_NODE" wire.com/external-ip="$HOST_IP" --overwrite
180181
helm upgrade --install coturn "$BASE_DIR/charts/coturn" --set "nodeSelector.kubernetes\\.io/hostname=$CALLING_NODE" --values "$BASE_DIR/values/coturn/values.yaml" --values "$BASE_DIR/values/coturn/secrets.yaml"
182+
183+
# display running pods post deploying all helm charts in default namespace
184+
kubectl get pods --sort-by=.metadata.creationTimestamp
181185
}
182186

183187
main() {

bin/offline-deploy.sh

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,4 @@ fi
4141

4242
$DOCKER_RUN_BASE $SSH_MOUNT $WSD_CONTAINER ./bin/offline-cluster.sh
4343

44-
# Sync PostgreSQL password from K8s secret to secrets.yaml
45-
echo "Syncing PostgreSQL password from Kubernetes secret..."
46-
sudo docker run --network=host -v $PWD:/wire-server-deploy $WSD_CONTAINER ./bin/sync-k8s-secret-to-wire-secrets.sh \
47-
wire-postgresql-external-secret \
48-
password \
49-
values/wire-server/prod-secrets.example.yaml \
50-
.brig.secrets.pgPassword \
51-
.galley.secrets.pgPassword \
52-
.spar.secrets.pgPassword \
53-
.gundeck.secrets.pgPassword
54-
5544
sudo docker run --network=host -v $PWD:/wire-server-deploy $WSD_CONTAINER ./bin/helm-operations.sh

bin/offline-helm-deprecated.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ sync_pg_secrets() {
1212
.brig.secrets.pgPassword \
1313
.galley.secrets.pgPassword \
1414
.spar.secrets.pgPassword \
15-
.gundeck.secrets.pgPassword
15+
.gundeck.secrets.pgPassword \
16+
.background-worker.secrets.pgPassword
1617
}
1718

1819
helm upgrade --install --wait cassandra-external ./charts/cassandra-external --values ./values/cassandra-external/values.yaml
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added: bump wire-server to 5.25.0, add background-worker postgresql config and pgPassword secret sync, add explicit postgresMigration.conversation=cassandra for galley and background-worker, and update prod values defaults for federation/MLS and external dependencies

offline/tasks/proc_pull_charts.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,5 +94,5 @@ pull_charts() {
9494
#fi
9595
}
9696

97-
wire_build="https://raw.githubusercontent.com/wireapp/wire-builds/7b0217a27c1b127bf8f1fedbea9ec03a1e277d5a/build.json"
97+
wire_build="https://raw.githubusercontent.com/wireapp/wire-builds/pinned-offline-multi-20260224-142104/build.json"
9898
wire_build_chart_release "$wire_build" | pull_charts

values/wire-server/prod-secrets.example.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ nginz:
9999
# RabbitMQ credentials for background-worker.
100100
background-worker:
101101
secrets:
102+
pgPassword: verysecurepassword
102103
rabbitmq:
103104
username: guest
104105
password: guest

values/wire-server/prod-values.example.yaml

Lines changed: 42 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ brig:
2828
elasticsearch:
2929
host: elasticsearch-external
3030
rabbitmq:
31-
host: rabbitmq-external
32-
# For k8s-based RabbitMQ for k8s based rabbitmq. Use 'rabbitmq-external' for production external RabbitMQ VMs
31+
# Default: rabbitmq-external (for production external RabbitMQ VMs)
32+
# CI/Demo: Change to rabbitmq when using rabbitmq chart from databases-ephemeral
33+
host: rabbitmq-external
3334
postgresql:
3435
host: postgresql-external-rw # DNS name without protocol
3536
port: "5432"
@@ -52,11 +53,10 @@ brig:
5253
teamSettings: https://teams.example.com # change this (or unset if team settings are not used)
5354
teamCreatorWelcome: https://teams.example.com/login # change this
5455
teamMemberWelcome: https://wire.example.com/download # change this
55-
# TODO: BUG! 5.23 brig charts wont deploy in CI unless federation is enabled!
56-
enableFederation: true # Enable to use federation
56+
enableFederation: false # Keep false unless federation is explicitly configured
5757
optSettings:
5858
setEnableMLS: false # Enable for MLS protocol use
59-
setFederationDomain: example.com # change this
59+
setFederationDomain: example.com # change this per host deployment
6060
# Sync the domain with the 'host' variable in the sftd chart
6161
# Comment the next line (by adding '#' before it) if conference calling is not used
6262
setSftStaticUrl: "https://sftd.example.com:443"
@@ -92,7 +92,9 @@ brig:
9292
deletionUrl: https://account.example.com/d/?key=${key}&code=${code}
9393
invitationUrl: https://account.example.com/i/${code}
9494
smtp:
95-
host: smtp # change this if you want to use your own SMTP server
95+
# Default: smtp (for CI/demo environments with demo-smtp chart)
96+
# Production: Change to your actual SMTP server hostname
97+
host: smtp
9698
port: 25 # change this
9799
connType: plain # change this. Possible values: plain|ssl|tls
98100
# proxy:
@@ -133,7 +135,9 @@ cannon:
133135
# For demo mode only, we don't need to keep websocket connections open on chart upgrades
134136
drainTimeout: 10
135137
config:
136-
rabbitmq: # Default value for CI, for on-prem deployment, use rabbitmq-external
138+
rabbitmq:
139+
# Default: rabbitmq-external (for production external RabbitMQ VMs)
140+
# CI/Demo: Change to rabbitmq when using rabbitmq chart from databases-ephemeral
137141
host: rabbitmq-external
138142
cassandra:
139143
host: cassandra-external
@@ -170,33 +174,39 @@ galley:
170174
config:
171175
cassandra:
172176
host: cassandra-external
173-
rabbitmq: # Default value for CI, for on-prem deployment, use rabbitmq-external
177+
rabbitmq:
178+
# Default: rabbitmq-external (for production external RabbitMQ VMs)
179+
# CI/Demo: Change to rabbitmq when using rabbitmq chart from databases-ephemeral
174180
host: rabbitmq-external
175181
postgresql:
176182
host: postgresql-external-rw # DNS name without protocol
177183
port: "5432"
178184
user: wire-server
179185
dbname: wire-server
186+
# Explicitly set postgresMigration to cassandra for fresh deployments.
187+
# This controls whether galley reads conversations from Cassandra or PostgreSQL.
188+
postgresMigration:
189+
conversation: cassandra
180190
enableFederation: false # Enable to use federation
181191
settings:
182192
# prefix URI used when inviting users to a conversation by link
183193
conversationCodeURI: https://account.example.com/conversation-join/ # change this
184194
federationDomain: example.com # change this
185195
# see #RefConfigOptions in `/docs/reference` (https://github.com/wireapp/wire-server/)
186196
featureFlags:
187-
mls:
197+
mls: # Keep disabled unless MLS is explicitly configured
188198
defaults:
189-
status: enabled
199+
status: disabled
190200
config:
191201
protocolToggleUsers: []
192202
defaultProtocol: mls
193203
allowedCipherSuites: [2]
194204
defaultCipherSuite: 2
195205
supportedProtocols: [proteus, mls]
196206
lockStatus: unlocked
197-
mlsMigration:
207+
mlsMigration: # Keep disabled unless MLS migration is explicitly configured
198208
defaults:
199-
status: enabled
209+
status: disabled
200210
config:
201211
startTime: null
202212
finalizeRegardlessAfter: null
@@ -231,7 +241,11 @@ gundeck:
231241
# image:
232242
# tag: some-tag (only override if you want a newer/different version than what is in the chart)
233243
config:
234-
rabbitmq: # Default value for CI, for on-prem deployment, use rabbitmq-external
244+
redis:
245+
host: databases-ephemeral-redis-ephemeral # Updated hostname for redis-ephemeral chart
246+
rabbitmq:
247+
# Default: rabbitmq-external (for production external RabbitMQ VMs)
248+
# CI/Demo: Change to rabbitmq when using rabbitmq chart from databases-ephemeral
235249
host: rabbitmq-external
236250
cassandra:
237251
host: cassandra-external
@@ -337,14 +351,28 @@ background-worker:
337351
config:
338352
federationDomain: example.com
339353
# logLevel: Debug
340-
rabbitmq: # Default value for CI, for on-prem deployment, use rabbitmq-external
354+
rabbitmq:
355+
# Default: rabbitmq-external (for production external RabbitMQ VMs)
356+
# CI/Demo: Change to rabbitmq when using rabbitmq chart from databases-ephemeral
341357
host: rabbitmq-external
342358
cassandra:
343359
host: cassandra-external
344360
cassandraGalley:
345361
host: cassandra-external
346362
cassandraBrig:
347363
host: cassandra-external
364+
postgresql:
365+
host: postgresql-external-rw # DNS name without protocol
366+
port: "5432"
367+
user: wire-server
368+
dbname: wire-server
369+
# IMPORTANT: At Chart 5.25.0, the background-worker Helm chart incorrectly defaults
370+
# postgresMigration.conversation to "postgresql" instead of "cassandra".
371+
# This MUST be explicitly set to "cassandra" unless you have already migrated
372+
# conversations to PostgreSQL. Without this override, User Group to Channel sync
373+
# jobs will silently skip member synchronization.
374+
postgresMigration:
375+
conversation: cassandra
348376
# Enable for federation
349377
enableFederation: false
350378
metrics:

0 commit comments

Comments
 (0)