Skip to content

Commit 3e4f302

Browse files
authored
Merge pull request #3132 from wireapp/release_2023-03-06_18_57
Release 2023-03-06 - (expected chart version 4.34.0)
2 parents 78e697e + efe044c commit 3e4f302

594 files changed

Lines changed: 33906 additions & 13882 deletions

File tree

Some content is hidden

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

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ jobs:
1111
- uses: actions/checkout@v2
1212
with:
1313
submodules: true
14-
- uses: cachix/install-nix-action@v14.1
15-
- uses: cachix/cachix-action@v10
14+
- uses: cachix/install-nix-action@v20
15+
- uses: cachix/cachix-action@v12
1616
with:
1717
name: wire-server
1818
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
@@ -32,8 +32,8 @@ jobs:
3232
- uses: actions/checkout@v2
3333
with:
3434
submodules: true
35-
- uses: cachix/install-nix-action@v14.1
36-
- uses: cachix/cachix-action@v10
35+
- uses: cachix/install-nix-action@v20
36+
- uses: cachix/cachix-action@v12
3737
with:
3838
name: wire-server
3939
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'

.gitignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,6 @@ spar.integration-aws.yaml
5959
integration-aws.yaml
6060
DOCKER_ID*
6161
swagger-ui
62-
!charts/nginz/static/swagger-ui
63-
64-
services/nginz/integration-test/conf/nginz/zwagger-ui/*
6562

6663
deploy/dockerephemeral/build/airdock_base-all/
6764
deploy/dockerephemeral/build/airdock_base/
@@ -112,3 +109,6 @@ result-*
112109

113110
/integration-ca-key.pem
114111
/integration-ca.pem
112+
113+
services/nginz/third_party/headers-more-nginx-module
114+
services/nginz/third_party/nginx-module-vts

CHANGELOG.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,122 @@
1+
# [2023-03-06] (Chart Release 4.34.0)
2+
3+
## Release notes
4+
5+
6+
* In (the unlikely) case your server config file contains `setWhitelist:`, you need to change this before the upgrade! It used to refer to a whitelisting service, which is now replaced with a local list of allowed domains and phone numbers. See [docs](https://docs.wire.com/developer/reference/user/activation.html?highlight=whitelist#phone-email-whitelist) for details. Migration path: add new config fields; upgrade, remove old config fields. (#3043)
7+
8+
* The coturn Helm chart has been promoted to *beta* level stability. (#3078)
9+
10+
11+
## API changes
12+
13+
14+
* API v3 is now supported. The new MLS endpoints introduced in API v3 have been removed, and are now only available under v4. (#3122)
15+
16+
17+
## Features
18+
19+
20+
* Add internal endpoints of `cargohold`, `galley`, `legalhold` and `spar` to the Swagger docs for internal endpoints. (#3007)
21+
22+
* The coturn container image included in the coturn Helm chart was updated to
23+
version `4.6.0-wireapp.4`.
24+
25+
With this version of coturn, the Prometheus metrics endpoint has been
26+
updated, and the `turn_active_allocations` metric label has been *renamed* to
27+
`turn_total_allocations`. (#3078)
28+
29+
* Better error message for invalid ID in a credential when uploading MLS key packages (#3102)
30+
31+
* Add Swagger documentation for internal endpoints. It's reachable at the path `/v<n>/api-internal/swagger{-ui,.json}`. (#3003)
32+
33+
* Render one Swagger page per internal endpoint. This superseeds the previous Swagger docs page for all internal endpoints. (#3094)
34+
35+
* Feature flag for Outlook calendar integration (#3025)
36+
37+
* Team feature setting for MLS end-to-end identity was added and server setting `setEnableMls` is exposed via new authorized endpoint `GET /system/settings` (#3082)
38+
39+
40+
## Bug fixes and other updates
41+
42+
43+
* The container image used for handling online TLS certificate updates in the
44+
coturn Helm chart was updated to a version with metadata compatible with
45+
containerd. (#3078)
46+
47+
* Fix a bug in the helm chart's nginx-ingress-services / federator Ingress resource introduced in the last release. (#3034)
48+
49+
* Remove overly restricte api check (#3131)
50+
51+
* Typing indicators not working accross federated backends (#3118)
52+
53+
54+
## Documentation
55+
56+
57+
* Extend the docs on the federation error type (#3045)
58+
59+
* Update SAML/SCIM docs (#3038)
60+
61+
62+
## Internal changes
63+
64+
65+
* - use exponential backoff for retrying requests to Amazon
66+
- also retry in case of server-side rate limiting by Amazon (#3121)
67+
68+
* Also run the 'backoffice' pod in CI (to test it can successfully start) (#3130)
69+
70+
* Make brig-schema a little faster by merging the first 34 schema migrations on fresh installations. (#3099)
71+
72+
* Deflake integration test: metrics (#3053)
73+
74+
* Document in code a function that sends remote Proteus messages (#PR_NOT_FOUND)
75+
76+
* Lower the log level of federator inotify (#3056)
77+
78+
* use Wai's settings for graceful shutdown (#3069)
79+
80+
* CI integration setup time should be reduced: tweak the way cassandra-ephemeral is started (#3052)
81+
82+
* charts: Mark all service/secret/configmap test resources to be re-created by defining them as helm hooks (#3037, #3049)
83+
84+
* New integration test script with support for running end2end tests locally (#3062)
85+
86+
* Bump nixpkgs to latest commit on nixpkgs-unstable branch (#3084)
87+
88+
* Add config to allow to run helm tests for different services in parallel; improve integration test output logs (#3040)
89+
90+
* Run brig and galley integration tests concurrently (#2825)
91+
92+
* Add wrapper for bitnami/postgresql chart. (#3012)
93+
94+
* Branch on performAction tags for finer-grained CallsFed constraints (#3030)
95+
96+
* Fixed broken stern endpoint `POST i/user/meta-info` (#3035)
97+
98+
* Make stern fail on startup if supported backend api version needs bumping (#3035)
99+
100+
* Automatically track CallsFed constraints via a GHC plugin (#3083)
101+
102+
* Rust library `rusty-jwt-tools` upgraded to latest version (#3112)
103+
104+
* Fixed test of jwt-tools Rust FFI (#3125)
105+
106+
* Enabling warnings for redundant constraints and removing the redundant
107+
constraints. (#3009)
108+
109+
* Migrate `/teams/notifications` to use the Servant library. (#3020)
110+
111+
* Split polysemy `Members` constraints into multiple `Member` constraints (#3093)
112+
113+
114+
## Federation changes
115+
116+
117+
* Use `HsOpenSSL` instead of `tls` for federation communication. (#3051)
118+
119+
1120
# [2023-01-26] (Chart Release 4.31.0)
2121

3122
## Release notes

Makefile

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ 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 \
2020
nginx-ingress-controller nginx-ingress-services reaper sftd restund coturn \
21-
inbucket k8ssandra-test-cluster
21+
inbucket k8ssandra-test-cluster postgresql
2222
KIND_CLUSTER_NAME := wire-server
23+
HELM_PARALLELISM ?= 1 # 1 for sequential tests; 6 for all-parallel tests
2324

2425
package ?= all
2526
EXE_SCHEMA := ./dist/$(package)-schema
@@ -90,6 +91,15 @@ endif
9091
ci: c db-migrate
9192
./hack/bin/cabal-run-integration.sh $(package)
9293

94+
.PHONY: sanitize-pr
95+
sanitize-pr:
96+
./hack/bin/generate-local-nix-packages.sh
97+
make formatf-all
98+
make hlint-inplace-all
99+
make git-add-cassandra-schema
100+
@git diff-files --quiet -- || ( echo "There are unstaged changes, please take a look, consider committing them, and try again."; exit 1 )
101+
@git diff-index --quiet --cached HEAD -- || ( echo "There are staged changes, please take a look, consider committing them, and try again."; exit 1 )
102+
93103
.PHONY: cabal-fmt
94104
cabal-fmt:
95105
./hack/bin/cabal-fmt.sh $(package)
@@ -235,11 +245,11 @@ db-migrate-package:
235245

236246
# Usage:
237247
#
238-
# Reset all keyspaces
239-
# make db-reset
248+
# Migrate all keyspaces and reset the ES index
249+
# make db-migrate
240250
#
241-
# Reset keyspace for only one service, say galley:
242-
# make db-reset package=galley
251+
# Migrate keyspace for only one service, say galley:
252+
# make db-migrate package=galley
243253
.PHONY: db-reset
244254
db-reset: c
245255
@echo "Make sure you have ./deploy/dockerephemeral/run.sh running in another window!"
@@ -248,31 +258,42 @@ ifeq ($(package), all)
248258
./dist/galley-schema --keyspace galley_test --replication-factor 1 --reset
249259
./dist/gundeck-schema --keyspace gundeck_test --replication-factor 1 --reset
250260
./dist/spar-schema --keyspace spar_test --replication-factor 1 --reset
261+
ifeq ($(INTEGRATION_FEDERATION_TESTS), 1)
262+
./dist/brig-schema --keyspace brig_test2 --replication-factor 1 --reset
263+
./dist/galley-schema --keyspace galley_test2 --replication-factor 1 --reset
264+
./dist/gundeck-schema --keyspace gundeck_test2 --replication-factor 1 --reset
265+
./dist/spar-schema --keyspace spar_test2 --replication-factor 1 --reset
266+
endif
251267
else
252268
$(EXE_SCHEMA) --keyspace $(package)_test --replication-factor 1 --reset
269+
ifeq ($(INTEGRATION_FEDERATION_TESTS), 1)
270+
$(EXE_SCHEMA) --keyspace $(package)_test2 --replication-factor 1 --reset
271+
endif
253272
endif
273+
./dist/brig-index reset --elasticsearch-index directory_test --elasticsearch-server http://localhost:9200 > /dev/null
274+
./dist/brig-index reset --elasticsearch-index directory_test2 --elasticsearch-server http://localhost:9200 > /dev/null
254275

255276
# Usage:
256277
#
257-
# Migrate all keyspaces
278+
# Migrate all keyspaces and reset the ES index
258279
# make db-migrate
259280
#
260281
# Migrate keyspace for only one service, say galley:
261282
# make db-migrate package=galley
262283
.PHONY: db-migrate
263284
db-migrate: c
264-
ifeq ($(package), all)
265-
./dist/brig-schema --keyspace brig_test --replication-factor 1
266-
./dist/galley-schema --keyspace galley_test --replication-factor 1
267-
./dist/gundeck-schema --keyspace gundeck_test --replication-factor 1
268-
./dist/spar-schema --keyspace spar_test --replication-factor 1
269-
# How this check works: https://stackoverflow.com/a/9802777
270-
else ifeq ($(package), $(filter $(package),brig galley gundeck spar))
271-
$(EXE_SCHEMA) --keyspace $(package)_test --replication-factor 1
272-
else
273-
@echo No schema migrations for $(package)
285+
./dist/brig-schema --keyspace brig_test --replication-factor 1 > /dev/null
286+
./dist/galley-schema --keyspace galley_test --replication-factor 1 > /dev/null
287+
./dist/gundeck-schema --keyspace gundeck_test --replication-factor 1 > /dev/null
288+
./dist/spar-schema --keyspace spar_test --replication-factor 1 > /dev/null
289+
ifeq ($(INTEGRATION_FEDERATION_TESTS), 1)
290+
./dist/brig-schema --keyspace brig_test2 --replication-factor 1 > /dev/null
291+
./dist/galley-schema --keyspace galley_test2 --replication-factor 1 > /dev/null
292+
./dist/gundeck-schema --keyspace gundeck_test2 --replication-factor 1 > /dev/null
293+
./dist/spar-schema --keyspace spar_test2 --replication-factor 1 > /dev/null
274294
endif
275-
295+
./dist/brig-index reset --elasticsearch-index-prefix directory --elasticsearch-server http://localhost:9200 > /dev/null
296+
./dist/brig-index reset --elasticsearch-index-prefix directory2 --elasticsearch-server http://localhost:9200 > /dev/null
276297

277298
#################################
278299
## dependencies
@@ -315,15 +336,15 @@ kube-integration: kube-integration-setup kube-integration-test
315336

316337
.PHONY: kube-integration-setup
317338
kube-integration-setup: charts-integration
318-
export NAMESPACE=$(NAMESPACE); ./hack/bin/integration-setup-federation.sh
339+
export NAMESPACE=$(NAMESPACE); export HELM_PARALLELISM=$(HELM_PARALLELISM); ./hack/bin/integration-setup-federation.sh
319340

320341
.PHONY: kube-integration-test
321342
kube-integration-test:
322-
export NAMESPACE=$(NAMESPACE); ./hack/bin/integration-test.sh
343+
export NAMESPACE=$(NAMESPACE); export HELM_PARALLELISM=$(HELM_PARALLELISM); ./hack/bin/integration-test.sh
323344

324345
.PHONY: kube-integration-teardown
325346
kube-integration-teardown:
326-
export NAMESPACE=$(NAMESPACE); ./hack/bin/integration-teardown-federation.sh
347+
export NAMESPACE=$(NAMESPACE); export HELM_PARALLELISM=$(HELM_PARALLELISM); ./hack/bin/integration-teardown-federation.sh
327348

328349
.PHONY: kube-integration-e2e-telepresence
329350
kube-integration-e2e-telepresence:

cabal.project

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
with-compiler: ghc-8.10.7
1+
with-compiler: ghc-9.2.4
22

33
packages:
44
libs/api-bot/

cassandra-schema.cql

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,13 @@ CREATE TABLE galley_test.team_features (
137137
mls_allowed_ciphersuites set<int>,
138138
mls_default_ciphersuite int,
139139
mls_default_protocol int,
140+
mls_e2eid_lock_status int,
141+
mls_e2eid_status int,
142+
mls_e2eid_ver_exp timestamp,
140143
mls_protocol_toggle_users set<uuid>,
141144
mls_status int,
145+
outlook_cal_integration_lock_status int,
146+
outlook_cal_integration_status int,
142147
search_visibility_inbound_status int,
143148
search_visibility_status int,
144149
self_deleting_messages_lock_status int,
@@ -1083,7 +1088,7 @@ CREATE TABLE brig_test.provider (
10831088
CREATE TABLE brig_test.user_keys (
10841089
key text PRIMARY KEY,
10851090
user uuid
1086-
) WITH bloom_filter_fp_chance = 0.01
1091+
) WITH bloom_filter_fp_chance = 0.1
10871092
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
10881093
AND comment = ''
10891094
AND compaction = {'class': 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
@@ -1124,7 +1129,7 @@ CREATE TABLE brig_test.invitee_info (
11241129
invitee uuid PRIMARY KEY,
11251130
conv uuid,
11261131
inviter uuid
1127-
) WITH bloom_filter_fp_chance = 0.01
1132+
) WITH bloom_filter_fp_chance = 0.1
11281133
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
11291134
AND comment = ''
11301135
AND compaction = {'class': 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
@@ -1290,7 +1295,7 @@ CREATE TABLE brig_test.user (
12901295
sso_id text,
12911296
status int,
12921297
team uuid
1293-
) WITH bloom_filter_fp_chance = 0.01
1298+
) WITH bloom_filter_fp_chance = 0.1
12941299
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
12951300
AND comment = ''
12961301
AND compaction = {'class': 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
@@ -1398,7 +1403,7 @@ CREATE TABLE brig_test.password_reset (
13981403
retries int,
13991404
timeout timestamp,
14001405
user uuid
1401-
) WITH bloom_filter_fp_chance = 0.01
1406+
) WITH bloom_filter_fp_chance = 0.1
14021407
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
14031408
AND comment = ''
14041409
AND compaction = {'class': 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
@@ -1513,7 +1518,7 @@ CREATE TABLE brig_test.connection (
15131518
status int,
15141519
PRIMARY KEY (left, right)
15151520
) WITH CLUSTERING ORDER BY (right ASC)
1516-
AND bloom_filter_fp_chance = 0.01
1521+
AND bloom_filter_fp_chance = 0.1
15171522
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
15181523
AND comment = ''
15191524
AND compaction = {'class': 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
@@ -1584,7 +1589,7 @@ CREATE TABLE brig_test.activation_keys (
15841589
key_type ascii,
15851590
retries int,
15861591
user uuid
1587-
) WITH bloom_filter_fp_chance = 0.01
1592+
) WITH bloom_filter_fp_chance = 0.1
15881593
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
15891594
AND comment = ''
15901595
AND compaction = {'class': 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}

charts/brig/templates/configmap.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,8 +270,11 @@ data:
270270
{{- if .setSftListAllServers }}
271271
setSftListAllServers: {{ .setSftListAllServers }}
272272
{{- end }}
273-
{{- if .setWhitelist }}
274-
setWhitelist: {{ toYaml .setWhitelist | nindent 8 }}
273+
{{- if .setAllowlistEmailDomains }}
274+
setAllowlistEmailDomains: {{ toYaml .setAllowlistEmailDomains | nindent 8 }}
275+
{{- end }}
276+
{{- if .setAllowlistPhonePrefixes }}
277+
setAllowlistPhonePrefixes: {{ toYaml .setAllowlistPhonePrefixes | nindent 8 }}
275278
{{- end }}
276279
{{- if .setFeatureFlags }}
277280
setFeatureFlags: {{ toYaml .setFeatureFlags | nindent 8 }}

charts/brig/templates/tests/brig-integration.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@ apiVersion: v1
22
kind: Service
33
metadata:
44
name: "brig-integration"
5+
annotations:
6+
"helm.sh/hook": post-install
7+
"helm.sh/hook-delete-policy": before-hook-creation
58
labels:
69
app: brig-integration
710
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
811
release: {{ .Release.Name }}
912
heritage: {{ .Release.Service }}
1013
spec:
1114
type: ClusterIP
12-
ports:
13-
- port: 9000
14-
targetPort: 9000
15+
clusterIP: None
1516
selector:
1617
app: brig-integration
1718
release: {{ .Release.Name }}
@@ -21,7 +22,7 @@ kind: Pod
2122
metadata:
2223
name: "{{ .Release.Name }}-brig-integration"
2324
annotations:
24-
"helm.sh/hook": test-success
25+
"helm.sh/hook": test
2526
labels:
2627
app: brig-integration
2728
release: {{ .Release.Name }}

0 commit comments

Comments
 (0)