Skip to content

Commit abe3058

Browse files
authored
Merge pull request #4688 from wireapp/release_2025-07-28_13_19
Release 2025-07-28 - (expected chart version 5.19.0)
2 parents c29f652 + 7e5f7b8 commit abe3058

File tree

193 files changed

+37916
-1127
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+37916
-1127
lines changed

CHANGELOG.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,58 @@
1+
# [2025-07-28] (Chart Release 5.19.0)
2+
3+
## Release notes
4+
5+
6+
* Galley now requires a connection to PostgreSQL. This can be configured similar to brig using configs `galley.config.postgresql` and `galley.secrets.pgPassword`. Galley must use the same PostgreSQL instance as brig. (#4677)
7+
8+
9+
## API changes
10+
11+
12+
* Create new API version V11 and finalize V10 (#4510, #4684)
13+
14+
15+
## Features
16+
17+
18+
* New immutable feature config `allowedGlobalOperations` with MLS conversation reset option (#4671)
19+
20+
* Add endpoints to add team collaborators ("bots") and query all for a team. (#4659)
21+
22+
* Add option to check group info consistency on every MLS commit (#4670)
23+
24+
* Allow team collaborators to create team conversations. (#4677)
25+
26+
27+
## Bug fixes and other updates
28+
29+
30+
* Prevent typing indicator notification being send to own clients (#4658)
31+
32+
* background-worker: Set metric gauge `wire_background_worker_running_workers` to 1 when a worker is running instead of 0. (#4662)
33+
34+
35+
## Internal changes
36+
37+
38+
* The chart for `nginx-ingress-controller` has been removed (#4675)
39+
40+
* Do not log KilledByHttp2ThreadManager error thrown by http2 client (#4672)
41+
42+
* A rate limit error from an internal call to `i/users/:uid/reauthenticate` will now be propagated to the external caller (#4673)
43+
44+
* Dedicated error label for MLS leaf node signature validation failure (#4665)
45+
46+
* Include the new group ID in the MLS conversation reset event (#4669)
47+
48+
* Log AMQP consumer cancellations in backend notification pusher. (#4634)
49+
50+
* Decrease `backendNotificationPusher.remotesRefreshInterval` for local
51+
integration tests to give it a better chance to run between test executions. (#4634)
52+
53+
* Make `make devtest` make rule work for other packages. (#4667)
54+
55+
156
# [2025-07-11] (Chart Release 5.18.0)
257

358
## Release notes

Makefile

Lines changed: 34 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ DOCKER_TAG ?= $(USER)
77
# default helm chart version must be 0.0.42 for local development (because 42 is the answer to the universe and everything)
88
HELM_SEMVER ?= 0.0.42
99
# The list of helm charts needed on internal kubernetes testing environments
10-
CHARTS_INTEGRATION := wire-server databases-ephemeral redis-cluster rabbitmq fake-aws ingress-nginx-controller nginx-ingress-controller nginx-ingress-services fluent-bit kibana restund k8ssandra-test-cluster wire-server-enterprise
10+
CHARTS_INTEGRATION := wire-server databases-ephemeral redis-cluster rabbitmq fake-aws ingress-nginx-controller nginx-ingress-services fluent-bit kibana restund k8ssandra-test-cluster wire-server-enterprise
1111
# The list of helm charts to publish on S3
1212
# FUTUREWORK: after we "inline local subcharts",
1313
# (e.g. move charts/brig to charts/wire-server/brig)
@@ -17,7 +17,7 @@ CHARTS_RELEASE := wire-server redis-ephemeral redis-cluster rabbitmq rabbitmq-ex
1717
fake-aws fake-aws-s3 fake-aws-sqs aws-ingress fluent-bit kibana backoffice \
1818
calling-test demo-smtp elasticsearch-curator elasticsearch-external \
1919
elasticsearch-ephemeral minio-external cassandra-external \
20-
nginx-ingress-controller ingress-nginx-controller nginx-ingress-services reaper restund \
20+
ingress-nginx-controller nginx-ingress-services reaper restund \
2121
k8ssandra-test-cluster ldap-scim-bridge wire-server-enterprise
2222
KIND_CLUSTER_NAME := wire-server
2323
HELM_PARALLELISM ?= 1 # 1 for sequential tests; 6 for all-parallel tests
@@ -64,6 +64,7 @@ full-clean: clean
6464
make rabbit-clean
6565
rm -rf ~/.cache/hie-bios
6666
rm -rf ./dist-newstyle ./.env
67+
find . -name '*.hie' -type d -exec rm -rf {} \;
6768
direnv reload
6869
@echo -e "\n\n*** NOTE: you may want to also 'rm -rf ~/.cabal/store \$$CABAL_DIR/store', not sure.\n"
6970

@@ -137,27 +138,37 @@ crm: c db-migrate
137138
# Run integration from new test suite
138139
# Usage: make devtest
139140
# Usage: TEST_INCLUDE=test1,test2 make devtest
140-
.PHONY: devtest
141-
devtest:
142-
ghcid --command 'cabal repl lib:integration' --test='Testlib.Run.mainI []'
143-
144-
# Run unit tests for a package in a loop, re-loading and -running on
145-
# file change in the unit tests.
141+
#
142+
# Now also supports running unit tests for a package in a loop,
143+
# re-loading and -running on file change in the unit tests *and* the
144+
# library. Just say `make devtest package=wire-subsystems`. If this
145+
# doesn't work for some package, compare the cabal file with
146+
# wire-subsystems.cabal (eg., name of test suite needs to follow a
147+
# pattern).
146148
#
147149
# There some alternatives, but they are all either too slow or do not
148150
# watch / compile enough modules, or both. Here is one just running
149151
# make c on a package in a loop for all package changes:
150152
#
151153
# find . -name '*.hs' | entr -s 'make -C ~/src/wire-server c package=wire-subsystems test=1'
154+
.PHONY: devtest
155+
devtest:
156+
ifeq ("$(package)", "all")
157+
ghcid --command 'cabal repl lib:integration' --test='Testlib.Run.mainI []'
158+
else
159+
@ghcid --command 'cabal repl $(package):${package}-tests lib:$(package)' --test='Main.main' \
160+
|| echo -e "\n\n\n*** usage: make devtest-package package=<package>.\n*** this works for wire-subsystems; for other packages, you may need to edit the cabal file.\n\n"
161+
endif
162+
152163
.PHONY: devtest-package
153164
devtest-package:
154-
@ghcid --command 'cabal repl $(package):tests lib:$(package)' --test='main' \
155-
|| echo -e "\n\n\n*** usage: make devtest-package package=<package>.\n*** this works for wire-subsystems; for other packages, you may need to edit the cabal file.\n\n"
165+
@echo "deprecated: use 'make devtest package=<package>' instead."
166+
@false
156167

157168
.PHONY: sanitize-pr
158169
sanitize-pr: check-weed treefmt
159170
make lint-all-shallow
160-
make git-add-cassandra-schema
171+
make cassandra-schema
161172
@git diff-files --quiet -- || ( echo "There are unstaged changes, please take a look, consider committing them, and try again."; exit 1 )
162173
@git diff-index --quiet --cached HEAD -- || ( echo "There are staged changes, please take a look, consider committing them, and try again."; exit 1 )
163174
make list-flaky-tests
@@ -311,12 +322,16 @@ upload-hoogle-image:
311322
## cassandra management
312323

313324
.PHONY: git-add-cassandra-schema
314-
git-add-cassandra-schema: db-migrate git-add-cassandra-schema-impl
325+
git-add-cassandra-schema:
326+
@echo "deprecated. use 'make cassandra-schema' instead."
327+
@false
315328

316-
.PHONY: git-add-cassandra-schema-impl
317-
git-add-cassandra-schema-impl:
329+
.PHONY: cassandra-schema
330+
cassandra-schema: db-migrate git-add-cassandra-schema-impl
331+
332+
.PHONY: cassandra-schema-impl
333+
cassandra-schema-impl:
318334
./hack/bin/cassandra_dump_schema > ./cassandra-schema.cql
319-
git add ./cassandra-schema.cql
320335

321336
.PHONY: cqlsh
322337
cqlsh:
@@ -463,14 +478,15 @@ kube-integration-teardown:
463478
kube-integration-e2e-telepresence:
464479
./services/brig/federation-tests.sh $(NAMESPACE)
465480

481+
.PHONY: helm-oci-login
482+
helm-oci-login:
483+
./hack/bin/helm-oci-login.sh
484+
466485
.PHONY: kube-restart-%
467486
kube-restart-%:
468487
kubectl delete pod -n $(NAMESPACE) -l app=$(*)
469488
kubectl delete pod -n $(NAMESPACE)-fed2 -l app=$(*)
470489

471-
helm-oci-login:
472-
./hack/bin/helm-oci-login.sh
473-
474490
.PHONY: latest-tag
475491
latest-tag:
476492
./hack/bin/find-latest-docker-tag.sh

cassandra-schema.cql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-- automatically generated with `make git-add-cassandra-schema`
1+
-- automatically generated with `make cassandra-schema`
22

33
CREATE KEYSPACE brig_test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true;
44

charts/galley/templates/configmap.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ data:
2525
tlsCa: /etc/wire/galley/cassandra/{{- (include "tlsSecretRef" . | fromYaml).key }}
2626
{{- end }}
2727
28+
postgresql: {{ toYaml .postgresql | nindent 6 }}
29+
{{- if hasKey $.Values.secrets "pgPassword" }}
30+
postgresqlPassword: /etc/wire/galley/secrets/pgPassword
31+
{{- end }}
32+
2833
brig:
2934
host: brig
3035
port: 8080
@@ -101,6 +106,9 @@ data:
101106
{{- end }}
102107
passwordHashingOptions: {{ toYaml .settings.passwordHashingOptions | nindent 8 }}
103108
passwordHashingRateLimit: {{ toYaml .settings.passwordHashingRateLimit | nindent 8 }}
109+
{{- if .settings.checkGroupInfo }}
110+
checkGroupInfo: {{ .settings.checkGroupInfo }}
111+
{{- end }}
104112
featureFlags:
105113
sso: {{ .settings.featureFlags.sso }}
106114
legalhold: {{ .settings.featureFlags.legalhold }}
@@ -175,5 +183,9 @@ data:
175183
cells:
176184
{{- toYaml .settings.featureFlags.cells | nindent 10 }}
177185
{{- end }}
186+
{{- if .settings.featureFlags.allowedGlobalOperations }}
187+
allowedGlobalOperations:
188+
{{- toYaml .settings.featureFlags.allowedGlobalOperations | nindent 10 }}
189+
{{- end }}
178190
{{- end }}
179191
{{- end }}

charts/galley/templates/deployment.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ spec:
5353
secret:
5454
secretName: {{ .Values.config.rabbitmq.tlsCaSecretRef.name }}
5555
{{- end }}
56+
{{- if .Values.additionalVolumes }}
57+
{{ toYaml .Values.additionalVolumes | nindent 8 }}
58+
{{- end }}
5659
containers:
5760
- name: galley
5861
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
@@ -74,6 +77,9 @@ spec:
7477
- name: "rabbitmq-ca"
7578
mountPath: "/etc/wire/galley/rabbitmq-ca/"
7679
{{- end }}
80+
{{- if .Values.additionalVolumeMounts }}
81+
{{ toYaml .Values.additionalVolumeMounts | nindent 10 }}
82+
{{- end }}
7783
env:
7884
{{- if hasKey .Values.secrets "awsKeyId" }}
7985
- name: AWS_ACCESS_KEY_ID

charts/galley/templates/secret.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,7 @@ data:
2020
rabbitmqUsername: {{ .Values.secrets.rabbitmq.username | b64enc | quote }}
2121
rabbitmqPassword: {{ .Values.secrets.rabbitmq.password | b64enc | quote }}
2222
{{- end }}
23+
24+
{{- if .Values.secrets.pgPassword }}
25+
pgPassword: {{ .Values.secrets.pgPassword | b64enc | quote }}
26+
{{- end }}

charts/galley/values.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,25 @@ config:
3333
# tlsCaSecretRef:
3434
# name: <secret-name>
3535
# key: <ca-attribute>
36+
37+
# Postgres connection settings
38+
#
39+
# Values are described in https://www.postgresql.org/docs/17/libpq-connect.html#LIBPQ-PARAMKEYWORDS
40+
# To set the password via a brig secret see `secrets.pgPassword`.
41+
#
42+
# `additionalVolumeMounts` and `additionalVolumes` can be used to mount
43+
# additional files (e.g. certificates) into the galley container. This way
44+
# does not work for password files (parameter `passfile`), because
45+
# libpq-connect requires access rights (mask 0600) for them that we cannot
46+
# provide for random uids.
47+
#
48+
# Below is an example configuration we're using for our CI tests.
49+
postgresql:
50+
host: postgresql # DNS name without protocol
51+
port: "5432"
52+
user: wire-server
53+
dbname: wire-server
54+
3655
enableFederation: false # keep in sync with background-worker, brig and cargohold charts' config.enableFederation as well as wire-server chart's tags.federation
3756
# Not used if enableFederation is false
3857
rabbitmq:
@@ -91,6 +110,8 @@ config:
91110
ipAddressExceptions: []
92111
maxRateLimitedKeys: 100000 # Estimated memory usage: 4 MB
93112

113+
checkGroupInfo: false
114+
94115
# To disable proteus for new federated conversations:
95116
# federationProtocols: ["mls"]
96117

@@ -185,6 +206,10 @@ config:
185206
allowed_to_create_channels: team-members
186207
allowed_to_open_channels: team-members
187208
lockStatus: locked
209+
allowedGlobalOperations:
210+
status: enabled
211+
config:
212+
mlsConversationReset: false
188213

189214
aws:
190215
region: "eu-west-1"

charts/nginx-ingress-controller/.helmignore

Lines changed: 0 additions & 21 deletions
This file was deleted.

charts/nginx-ingress-controller/Chart.yaml

Lines changed: 0 additions & 5 deletions
This file was deleted.

charts/nginx-ingress-controller/README.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)