Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
d550393
charts/brig: Support running brig with GeoIP database (#2406)
akshaymankar May 18, 2022
a41f375
KeyPackage -> Conversation Internal API (#2375)
stephen-smith May 19, 2022
a0cbc11
Merge pull request #2414 from wireapp/master
jschaul May 19, 2022
73d38b8
SQSERVICES-1519 IdP for SAML that was overridden by update cannot be …
battermann May 19, 2022
06469cd
Additional Swagger docs for access_role_v2 in create new conv schema …
battermann May 19, 2022
db3b0e0
SQSERVICES-559 make `AllFeatureConfigs` typed (#2403)
battermann May 19, 2022
48cc7a6
Cannon: Drain websockets in a controlled fashion on SIGTERM or SIGIN…
akshaymankar May 20, 2022
16584cc
Sqservices 1546 number of devices in csv export in tm (#2407)
battermann May 20, 2022
e36c356
Servantify Team CSV endpoint (#2419)
pcapriotti May 20, 2022
152ea15
SQSERVICES-1560-more-canonical-handling-of-hard-wired-defaults-type-c…
battermann May 23, 2022
32903f5
galley: refactor withSettingsOverrides (#2381)
smatting May 23, 2022
711bc15
Adding linting.
elland May 11, 2022
077461e
Linted brig.
elland May 23, 2022
c9cc20d
show package name for which tests run (#2392)
jschaul May 24, 2022
618d871
Feature configs should have different swagger schema names (#2425)
pcapriotti May 25, 2022
7800170
fix path
arthurwolf May 25, 2022
b1749da
fix path
arthurwolf May 25, 2022
6b0bdf0
Add security response about wire.com outage on 2022-05-23 (#2427)
comawill May 25, 2022
4a3b372
charts/cannon: Bundle nginz and expose directly to load balancer (#2421)
akshaymankar May 25, 2022
85ec135
Merge pull request #2382 from wireapp/hlint-stern
elland May 25, 2022
97286de
Merge pull request #2420 from wireapp/lint-brig
elland May 25, 2022
4c2dc58
[FS-507] Improve the Federated Welcome Message Request (#2412)
mdimjasevic May 25, 2022
473044d
SQSERVICES-1557-be-unexpected-logic-in-password-verification-for-acco…
battermann May 27, 2022
ce0cc3e
Bump haskell/zlib to 0.6.3.0 (#2431)
fisx May 27, 2022
8769d3e
Export NIX_BUILD_SHELL for cabal also.
elland May 30, 2022
2b3bb7d
delete namespace after helm resource deletion (#2428)
jschaul May 30, 2022
e45afb2
wire-docs: redesigned to conform to brand styleguides (#2429)
Veki301 May 30, 2022
f1a297b
fixed check for SAML user (#2437)
battermann May 30, 2022
338167f
Merge pull request #2433 from wireapp/hotfix-cabal-wrapper-nix
elland May 30, 2022
94e31f2
Linted Cannon.
elland May 31, 2022
8e2d3c9
Replace return with pure.
elland May 31, 2022
6c9a2b4
charts/{cannon,nginz}: Allow configuring arbitrary hosts for CORS all…
akshaymankar May 31, 2022
f36b2d8
charts/{cannon,nginz}: Increase map_hash_bucket_size for nginx to 128…
akshaymankar May 31, 2022
a453778
Disable rate limiting for /api-version (#2439)
pcapriotti May 31, 2022
e67566a
Remove binding of users to saml idps using saml. (#2441)
fisx May 31, 2022
2ca5449
Merge pull request #2440 from wireapp/lint-cannon
elland Jun 1, 2022
24f6a31
Remove golden test case generator (#2442)
pcapriotti Jun 1, 2022
850af19
SQSERVICES-1557 Added integration test (#2434)
battermann Jun 1, 2022
f62e4de
charts/nginz: Support galeb and allow upstream services to be in anot…
akshaymankar Jun 1, 2022
96ed73d
Lint tests as well.
elland Jun 1, 2022
7d1ca33
Merge pull request #2446 from wireapp/lint-tests
elland Jun 2, 2022
4b71d35
Linted cargohold.
elland Jun 2, 2022
b2c2f45
Replace return with pure for Cargohold.
elland Jun 2, 2022
327561d
Merge pull request #2447 from wireapp/lint-cargohold
elland Jun 2, 2022
1471756
Linted Gundeck.
elland Jun 2, 2022
38edf6e
Replace return with pure.
elland Jun 2, 2022
2df962f
Use old bitnami helm repo from git for redis and postgresql (#2448)
akshaymankar Jun 2, 2022
ead5204
fix: missing docs logo (#2452)
Veki301 Jun 5, 2022
d6b6c52
Merge pull request #2451 from wireapp/lint-gundeck
elland Jun 7, 2022
ea42baa
Add changelog for Release 2022-06-07
zebot Jun 7, 2022
9cc1cb0
clean up changelog
battermann Jun 7, 2022
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
3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@
.stack-root-buildah
.local
services/nginz/src/objs
dist-newstyle
.env
.direnv
15 changes: 15 additions & 0 deletions .hlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# We need quasi quotes support.
- arguments: [ -XQuasiQuotes, --color ]
# Used to enforce ormolu styling. Can be revisited if we change formatters.
- ignore: { name: Redundant $ }
- ignore: { name: Redundant do }
- ignore: { name: Use newtype instead of data }
#
# Left for the programmer to decide. See discussion at https://github.com/wireapp/wire-server/pull/2382#discussion_r871194424
- ignore: { name: Avoid lambda }
- ignore: { name: Avoid lambda using `infix` }

- ignore: { name: Use section }
# custom rules:
- hint: { lhs: (() <$), rhs: void }
- hint: { lhs: return, rhs: pure }
89 changes: 89 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,92 @@
# [2022-06-07] (Chart Release 4.13.0)

## Release notes


* The `.cannon.drainTimeout` setting on the wire-server helm chart has been
removed and replaced with `.cannon.config.drainOpts`. (#2416)

* Note for wire.com operators: deploy nginz (#2439)


## API changes


* Disable rate limiting for /api-version (#2439)


## Features


* Drain websockets in a controlled fashion when cannon receives a SIGTERM or
SIGINT. Instead of waiting for connections to close on their own, the websockets
are now severed at a controlled pace. This allows for quicker rollouts of new
versions. (#2416)

* Optionally allow to run cannon with its own nginz inside the same pod; and connect to a load balancer directly.
This allows the cannon-slow-drain behaviour implemented in #2416 to take effect by not having other intermediate network hops which could break websocket connections all at once.
Some (internal) context: https://wearezeta.atlassian.net/wiki/spaces/PS/pages/585564424/How+to+gracefully+drain+cannon+but+not+so+slowly
For details on how to configure this, see docs/src/how-to/install/configuration-options.rst (#2421)

* Support running brig with GeoIP database when using helm charts (#2406)

* charts/nginz: Add upstream configuration for galeb (#2444)

* charts/nginz: Allow upstreams to be in other namespaces (#2444)

* CSV export in team management now includes the number of devices per user (#2407)


## Bug fixes and other updates


* When an IdP issuer (aka entity ID) is updated, the old issuer was still marked as "in use". (#2400)

* On actions that require re-authentication a password is not required if the user has SAML credentials (#2430, #2434, #2437)


## Documentation


* Feature configs should have different swagger schema names (#2425)


## Internal changes


* `AllFeatureConfigs` is now typed (#2403)

* Type class for default team feature status (#2404)

* charts/{redis-ephemeral,legalhold}: Use old index for bitnami repo as the new index doesn't have old versions of postgresql and redis helm charts (#2448)

* Bump haskell/zlib version to 0.6.3.0 (#2431)

* New internal brig endpoints for MLS KeyPackage -> Conversation association query/update (#2375)

* galley: refactor withSettingsOverrides (#2381)

* charts/{nginz,cannon}: Increase map_hash_bucket_size for nginx to 128 (#2443)

* charts/{cannon,nginz}: values listed in
`nginx_conf.randomport_allowlisted_origins` must be full hostnames. Hostnames
listed here will be allowlisted with and without TLS. (#2438)

* Remove binding of users to saml idps using saml (this has never been picked up by clients; use scim instead) (#2441)

* Remove golden test case generator

(#2442)

* Convert Team CSV endpoint to Servant (#2419)


## Federation changes


* Send only the raw welcome message in the Galley "mls-welcome" federation endpoint (#2412)


# [2022-05-18] (Chart Release 4.12.0)

## Release notes
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ ci: c
# pass target=package:name to specify which target is watched.
.PHONY: ghcid
ghcid:
ghcid --command "cabal repl $(target)"
ghcid -l=hlint --command "cabal repl $(target)"

# reset db using cabal
.PHONY: db-reset-package
Expand Down
2 changes: 1 addition & 1 deletion cabal.project.freeze
Original file line number Diff line number Diff line change
Expand Up @@ -2754,7 +2754,7 @@ constraints: any.AC-Angle ==1.0,
any.zip-stream ==0.2.1.0,
any.zipper-extra ==0.1.3.2,
any.zippers ==0.3.2,
any.zlib ==0.6.2.3,
any.zlib ==0.6.3.0,
any.zlib-bindings ==0.1.1.5,
any.zlib-lens ==0.1.2.1,
any.zot ==0.0.3,
Expand Down
5 changes: 5 additions & 0 deletions charts/brig/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,11 @@ data:
{{- end }}
{{- end }}

{{- if .geoip.enabled }}
# Shared emptyDir with geoipupdate container
geoDb: /usr/share/GeoIP/GeoIP2-City.mmdb
{{- end }}

{{- with .optSettings }}
optSettings:
setActivationTimeout: {{ .setActivationTimeout }}
Expand Down
66 changes: 66 additions & 0 deletions charts/brig/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,40 @@ spec:
- name: "brig-secrets"
secret:
secretName: "brig"
{{- if .Values.config.geoip.enabled }}
- name: "geoip"
emptyDir: {}
{{- end }}
{{- if .Values.config.geoip.enabled }}
# Brig needs GeoIP database to be downloaded before it can start.
initContainers:
- name: geoipdownload
image: "{{ .Values.config.geoip.image.repository }}:{{ .Values.config.geoip.image.tag }}"
imagePullPolicy: {{ default "" .Values.config.geoip.imagePullPolicy | quote }}
volumeMounts:
- name: "geoip"
mountPath: "/usr/share/GeoIP"
# The environment variables are documented at:
# https://github.com/maxmind/geoipupdate/blob/62b34e648a842dc03ccf4ad3f61e2d85eaec98fc/doc/docker.md
env:
- name: GEOIPUPDATE_ACCOUNT_ID
valueFrom:
secretKeyRef:
name: brig-geoip
key: accountId
- name: GEOIPUPDATE_LICENSE_KEY
valueFrom:
secretKeyRef:
name: brig-geoip
key: licenseKey
- name: GEOIPUPDATE_EDITION_IDS
valueFrom:
secretKeyRef:
name: brig-geoip
key: editionIds
- name: GEOIPUPDATE_FREQUENCY
value: "0" # Setting this to 0 makes the script only run geoipupdate once.
{{- end }}
containers:
- name: brig
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
Expand All @@ -55,6 +89,10 @@ spec:
- name: "turn-servers"
mountPath: "/etc/wire/brig/turn"
{{- end }}
{{- if .Values.config.geoip.enabled }}
- name: "geoip"
mountPath: "/usr/share/GeoIP"
{{- end }}
env:
- name: LOG_LEVEL
value: {{ .Values.config.logLevel }}
Expand Down Expand Up @@ -107,3 +145,31 @@ spec:
port: {{ .Values.service.internalPort }}
resources:
{{ toYaml .Values.resources | indent 12 }}
{{- if .Values.config.geoip.enabled }}
- name: geoipupdate
image: "{{ .Values.config.geoip.image.repository }}:{{ .Values.config.geoip.image.tag }}"
imagePullPolicy: {{ default "" .Values.config.geoip.imagePullPolicy | quote }}
volumeMounts:
- name: "geoip"
mountPath: "/usr/share/GeoIP"
# The environment variables are documented at:
# https://github.com/maxmind/geoipupdate/blob/62b34e648a842dc03ccf4ad3f61e2d85eaec98fc/doc/docker.md
env:
- name: GEOIPUPDATE_ACCOUNT_ID
valueFrom:
secretKeyRef:
name: brig-geoip
key: accountId
- name: GEOIPUPDATE_LICENSE_KEY
valueFrom:
secretKeyRef:
name: brig-geoip
key: licenseKey
- name: GEOIPUPDATE_EDITION_IDS
valueFrom:
secretKeyRef:
name: brig-geoip
key: editionIds
- name: GEOIPUPDATE_FREQUENCY
value: "24" # hours
{{- end }}
18 changes: 18 additions & 0 deletions charts/brig/templates/geoip-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{- if .Values.config.geoip.enabled }}
apiVersion: v1
kind: Secret
metadata:
name: brig-geoip
labels:
wireService: brig
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
type: Opaque
data:
{{- with .Values.secrets.geoip }}
accountId: {{ required ".secrets.geoip.accountId must be provided when .Values.config.geoip.enabled is True" .accountId | b64enc | quote }}
licenseKey: {{ required ".secrets.geoip.licenseKey must be provided when .Values.config.geoip.enabled is True" .licenseKey | b64enc | quote }}
editionIds: {{ required ".secrets.geoip.editionIds must be provided when .Values.config.geoip.enabled is True" .editionIds | b64enc | quote }}
{{- end }}
{{- end }}
8 changes: 8 additions & 0 deletions charts/brig/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,14 @@ config:
smtp:
passwordFile: /etc/wire/brig/secrets/smtp-password.txt
proxy: {}

geoip:
# When enabling this, .secrets.geoip.accountId, .secrets.geoip.licenseKey and
# .secret.geoip.editionIds must be provided.
enabled: false
image:
repository: docker.io/maxmindinc/geoipupdate
tag: v4.9
turnStatic:
v1:
- turn:localhost:3478
Expand Down
17 changes: 17 additions & 0 deletions charts/cannon/conf/static/zauth.acl
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
a (blacklist (path "/provider")
(path "/provider/**")
(path "/bot")
(path "/bot/**")
(path "/i/**"))

b (whitelist (path "/bot")
(path "/bot/**"))

p (whitelist (path "/provider")
(path "/provider/**"))

# LegalHold Access Tokens
la (whitelist (path "/notifications")
(path "/assets/v3/**")
(path "/users")
(path "/users/**"))
Loading