Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WPB-10308] Use RabbitMQ queues for notifications #4272

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
e7c1fc3
create rabbitmq exchange
battermann Sep 26, 2024
3d70ead
set up DLX
battermann Sep 26, 2024
70d96a9
wip
battermann Sep 26, 2024
adf32b7
create user queues on client add/update
battermann Sep 26, 2024
253e107
make it internal server error
battermann Sep 27, 2024
44b506c
make galley compile
battermann Sep 27, 2024
b8fac8e
make rabbitmq mandatory
battermann Sep 27, 2024
8ce0eb3
fix integration tests
battermann Sep 27, 2024
031f063
set correct DLX headers
battermann Sep 27, 2024
98ed71a
wip
battermann Sep 30, 2024
a36e176
Add a WIP test to consume notifs via `GET /events`
akshaymankar Sep 30, 2024
c02ac0a
cannon: Roughly implement subscribing notifs from RabbitMQ
akshaymankar Sep 30, 2024
cf9ed15
gundeck: Start implementing push to rabbitmq
akshaymankar Sep 30, 2024
94659ee
integration: Fix assertion to assert on a real event
akshaymankar Oct 1, 2024
d689885
integration: Use correct vHost in cannon
akshaymankar Oct 1, 2024
2ba7f1d
cannon: Ensure exchange exists and publish event correctly on WS
akshaymankar Oct 1, 2024
c6efecd
NotificationSubsystem: Align names for queues and extract them as top…
akshaymankar Oct 1, 2024
c4e4fe5
gundeck: Push events to RabbitMQ for compatible clients
akshaymankar Oct 1, 2024
78cfda9
integration: Assert that acked events don't come back
akshaymankar Oct 1, 2024
f900dc8
cannon: Forward client acks to rabbitmq
akshaymankar Oct 1, 2024
7bb78fd
WIP: Get rid of channel as an explicit param for NotificationSubsyste…
akshaymankar Oct 1, 2024
a5b1210
Get galley to compile.
fisx Oct 1, 2024
5642a47
Fix some easy TODOs.
fisx Oct 1, 2024
9d05cf6
Use these library better.
fisx Oct 2, 2024
f47dfd8
resolve rebase conflict better.
fisx Oct 2, 2024
a0239ab
fix ghc errors.
fisx Oct 2, 2024
c1bf85d
Extract rabbitmq channel lookup into helper.
fisx Oct 2, 2024
2f78dce
Move setupConsumableNotificationsClient from subsystems to gundeck.
fisx Oct 2, 2024
460ecd6
Revert "Get galley to compile."
akshaymankar Oct 2, 2024
818a77c
wire-subsystems: Fix compile errors in tests
akshaymankar Oct 2, 2024
e64cdc2
gundeck: doesn't depend on wire-subsystems (yet?)
akshaymankar Oct 2, 2024
670769b
brig: Remove unnecessary import
akshaymankar Oct 2, 2024
47190ff
cannon: Don't create the queue for clients, expect it to already be t…
akshaymankar Oct 2, 2024
d059fb9
cannon: close ws connection when something goes wrong
akshaymankar Oct 2, 2024
db306e8
Funky!
akshaymankar Oct 2, 2024
e368674
Undo funkiness: Create Wire.API.WebSocket with types for comms on the…
akshaymankar Oct 2, 2024
3ace353
WIP: cannon: try to use the new types from wire-api
akshaymankar Oct 2, 2024
ded4622
wire-api: Cabal file
akshaymankar Oct 2, 2024
108e241
gen nix stuff
fisx Oct 4, 2024
f5a48c8
ormolu
fisx Oct 4, 2024
8148e57
Is this a good way of representing websocket messages?
fisx Oct 4, 2024
1b590ed
Resolve TODO.
fisx Oct 4, 2024
fe26080
Refactor test, extend coverage.
fisx Oct 4, 2024
c3c231e
Suggestions for better module name; removed "websocket" reference fro…
fisx Oct 4, 2024
9a65550
Roundtrip tests for Message*To*.
fisx Oct 7, 2024
6e75fcc
Source comments.
fisx Oct 7, 2024
c4dc168
debug failing test [WIP]
fisx Oct 7, 2024
42142a5
refactor tests a bit, fix ack, fix typos
battermann Oct 7, 2024
d68e3a6
fix test, handle connection closed, format
battermann Oct 7, 2024
4508ea7
ping pong test
battermann Oct 7, 2024
b302c8e
Maintain stable connection to rabbitmq from cannon. [WIP]
fisx Oct 7, 2024
5ac11b0
Fix typo.
fisx Oct 8, 2024
a70071b
Tune tests.
fisx Oct 8, 2024
67f9187
Remove ping-pong stuff.
fisx Oct 8, 2024
310732c
Revert "Maintain stable connection to rabbitmq from cannon. [WIP]"
fisx Oct 8, 2024
f451f89
Test multiple acks and out of order acks
akshaymankar Oct 8, 2024
bd4adb2
cannon: Refactor code a little and more logging
akshaymankar Oct 8, 2024
0c9eadd
integration: Deal with events websocket more gracefully, ensure all a…
akshaymankar Oct 8, 2024
df36aee
cannon: Easier to understand cleanup code
akshaymankar Oct 8, 2024
f7cb1be
Add TODO for tomorrow
akshaymankar Oct 8, 2024
d329c79
cannon: Ensure invalid messages don't accumulate
akshaymankar Oct 9, 2024
21444ee
small re-org of code
akshaymankar Oct 9, 2024
0943ec9
Avoid using unsafeRange
akshaymankar Oct 9, 2024
b438882
Reduce top level functions
akshaymankar Oct 9, 2024
954b466
integration: Test that old and new clients can co-exist
akshaymankar Oct 9, 2024
e18fbf4
gundeck: Optimize number of calls to brig
akshaymankar Oct 9, 2024
97ee4fb
gundeck: Try to not kill brig
akshaymankar Oct 9, 2024
98c8e58
Fix typo
akshaymankar Oct 9, 2024
2c2d1a7
gundeck: Remove pairing comment
akshaymankar Oct 9, 2024
304886b
wire-api: Rename Wire.API.WebSocket -> Wire.API.Event.WebSocketProtocol
akshaymankar Oct 9, 2024
935af4e
gundeck: Don't configure dead-lettering while declaring queues
akshaymankar Oct 10, 2024
10d9504
More TODOs
akshaymankar Oct 10, 2024
e068179
Use direct exchange for user notifications
akshaymankar Oct 10, 2024
9510c87
integration: Test that users only get notifs meant for them
akshaymankar Oct 10, 2024
0fa079c
integration/Notifications: Allow waiting for notifs without a client
akshaymankar Oct 10, 2024
19197aa
Deflake newly written tests
akshaymankar Oct 10, 2024
bc13ae3
cannon: Don't declare the exchange, its not needed
akshaymankar Oct 10, 2024
2aa58f2
integration: Make cannon logLevel Warn again
akshaymankar Oct 10, 2024
a30c2f3
integrations: Throw error if websocket responds with invalid JSON
akshaymankar Oct 10, 2024
4991f1c
Add ticket number to FUTUREWORK
akshaymankar Oct 10, 2024
8f51bed
Add notification Id to rabbitmq notifs
akshaymankar Oct 10, 2024
c87d7b0
Makefile/clean-rabbit: Also cleanup exchanges
akshaymankar Oct 10, 2024
0cd93b1
gundeck: Get preexisting unit tests to pass
akshaymankar Oct 21, 2024
8d4ea13
Set correct expiration on events pushed to RabbitMQ
akshaymankar Oct 21, 2024
5c48522
Merge remote-tracking branch 'origin/develop' into WPB-10308-use-rabb…
mdimjasevic Oct 22, 2024
7c3632d
fix a typo in the changelog
mdimjasevic Oct 22, 2024
b4220fd
Fix a release note
mdimjasevic Oct 22, 2024
816e540
Add changelogs for public and internal API changes
mdimjasevic Oct 22, 2024
593f5f2
Move around routing key helper functions
mdimjasevic Oct 22, 2024
c465c92
Remove commented out code
mdimjasevic Oct 22, 2024
e628387
Merge remote-tracking branch 'origin/develop' into WPB-10308-use-rabb…
mdimjasevic Oct 22, 2024
bb5179f
Hi CI
mdimjasevic Oct 23, 2024
ea0f937
Merge remote-tracking branch 'origin/develop' into WPB-10308-use-rabb…
mdimjasevic Oct 24, 2024
581df47
Merge remote-tracking branch 'origin/develop' into WPB-10308-use-rabb…
mdimjasevic Oct 30, 2024
b74b7e6
Merge remote-tracking branch 'origin/develop' into WPB-10308-use-rabb…
mdimjasevic Oct 30, 2024
b8f80ac
Merge remote-tracking branch 'origin/develop' into WPB-10308-use-rabb…
mdimjasevic Oct 31, 2024
6b01607
Merge remote-tracking branch 'origin/develop' into WPB-10308-use-rabb…
mdimjasevic Nov 4, 2024
4334775
Merge remote-tracking branch 'origin/develop' into WPB-10308-use-rabb…
mdimjasevic Nov 11, 2024
f86217f
Hi CI
mdimjasevic Nov 12, 2024
61bacf2
Detect and flag missed notifications from RabbitMQ (#4317)
elland Nov 12, 2024
938fea4
Update a change log to reflect changes from PR #4317
mdimjasevic Nov 12, 2024
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
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,12 @@ install: init

.PHONY: rabbit-clean
rabbit-clean:
rabbitmqadmin -f pretty_json list queues vhost name messages | jq -r '.[] | "rabbitmqadmin delete queue name=\(.name) --vhost=\(.vhost)"' | bash
rabbitmqadmin -f pretty_json list queues vhost name \
| jq -r '.[] | "rabbitmqadmin delete queue name=\(.name) --vhost=\(.vhost)"' \
| bash
rabbitmqadmin -f pretty_json list exchanges name vhost \
| jq -r '.[] |select(.name | startswith("amq") | not) | select (.name != "") | "rabbitmqadmin delete exchange name=\(.name) --vhost=\(.vhost)"' \
| bash

# Clean
.PHONY: full-clean
Expand Down
20 changes: 20 additions & 0 deletions cassandra-schema.cql
Original file line number Diff line number Diff line change
Expand Up @@ -1729,6 +1729,26 @@ CREATE TABLE gundeck_test.meta (
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';

CREATE TABLE gundeck_test.missed_notifications (
user_id uuid,
client_id text,
PRIMARY KEY (user_id, client_id)
) WITH CLUSTERING ORDER BY (client_id ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
AND comment = ''
AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';

CREATE TABLE gundeck_test.push (
ptoken text,
app text,
Expand Down
1 change: 1 addition & 0 deletions changelog.d/0-release-notes/WBP-10308
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Notifications are now also sent via RabbitMQ. Therefore, if federation is enabled, RabbitMQ is a required configuration in Brig.
3 changes: 3 additions & 0 deletions changelog.d/1-api-changes/WPB-10308
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
New endpoint `GET /events` for consuming events is added.

When a client misses notifications because it was offline for too long, it needs to know this information so it can do a full synchronisation. This appears as the first notification in `GET /events` endpoint whenever the system detects this happening. The next acknowledgement of the message makes this notification not appear anymore until the next notification is missed.
2 changes: 2 additions & 0 deletions changelog.d/5-internal/WPB-10308
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- RabbitMQ queues have been introduced for client notifications
- New internal endpoint `POST /i/users/:uid/clients/:cid/consumable-notifications` is added
6 changes: 6 additions & 0 deletions charts/background-worker/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ data:
host: federator
port: 8080

cassandra:
endpoint:
host: {{ .cassandra.host }}
port: 9042
keyspace: gundeck

{{- with .rabbitmq }}
rabbitmq:
host: {{ .host }}
Expand Down
2 changes: 2 additions & 0 deletions charts/background-worker/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ config:
# tlsCaSecretRef:
# name: <secret-name>
# key: <ca-attribute>
cassandra:
host: aws-cassandra

backendNotificationPusher:
pushBackoffMinWait: 10000 # in microseconds, so 10ms
Expand Down
37 changes: 29 additions & 8 deletions charts/cannon/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,46 @@
apiVersion: v1
data:
{{- with .Values }}
cannon.yaml: |
logFormat: {{ .Values.config.logFormat }}
logLevel: {{ .Values.config.logLevel }}
logNetStrings: {{ .Values.config.logNetStrings }}
logFormat: {{ .config.logFormat }}
logLevel: {{ .config.logLevel }}
logNetStrings: {{ .config.logNetStrings }}
cannon:
host: 0.0.0.0
port: {{ .Values.service.externalPort }}
port: {{ .service.externalPort }}
externalHostFile: /etc/wire/cannon/externalHost/host.txt
gundeck:
host: gundeck
port: 8080
cassandra:
endpoint:
host: {{ .config.cassandra.host }}
port: 9042
keyspace: gundeck
{{- with .config.rabbitmq }}
rabbitmq:
host: {{ .host }}
port: {{ .port }}
vHost: {{ .vHost }}
enableTls: {{ .enableTls }}
insecureSkipVerifyTls: {{ .insecureSkipVerifyTls }}
{{- if .tlsCaSecretRef }}
caCert: /etc/wire/gundeck/rabbitmq-ca/{{ .tlsCaSecretRef.key }}
{{- end }}
{{- end }}
drainOpts:
gracePeriodSeconds: {{ .Values.config.drainOpts.gracePeriodSeconds }}
millisecondsBetweenBatches: {{ .Values.config.drainOpts.millisecondsBetweenBatches }}
minBatchSize: {{ .Values.config.drainOpts.minBatchSize }}
gracePeriodSeconds: {{ .config.drainOpts.gracePeriodSeconds }}
millisecondsBetweenBatches: {{ .config.drainOpts.millisecondsBetweenBatches }}
minBatchSize: {{ .config.drainOpts.minBatchSize }}
disabledAPIVersions: {{ toJson .config.disabledAPIVersions }}
{{- end }}

disabledAPIVersions: {{ toJson .Values.config.disabledAPIVersions }}

kind: ConfigMap
metadata:
Expand Down
29 changes: 29 additions & 0 deletions charts/cannon/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,35 @@ config:
logLevel: Info
logFormat: StructuredJSON
logNetStrings: false
rabbitmq:
host: rabbitmq
port: 5672
vHost: /
enableTls: false
insecureSkipVerifyTls: false
cassandra:
host: aws-cassandra
# To enable TLS provide a CA:
# tlsCa: <CA in PEM format (can be self-signed)>
#
# Or refer to an existing secret (containing the CA):
# tlsCaSecretRef:
# name: <secret-name>
# key: <ca-attribute>

redis:
host: redis-ephemeral-master
port: 6379
connectionMode: "master" # master | cluster
enableTls: false
insecureSkipVerifyTls: false
# To configure custom TLS CA, please provide one of these:
# tlsCa: <CA in PEM format (can be self-signed)>
#
# Or refer to an existing secret (containing the CA):
# tlsCaSecretRef:
# name: <secret-name>
# key: <ca-attribute>

# See also the section 'Controlling the speed of websocket draining during
# cannon pod replacement' in docs/how-to/install/configuration-options.rst
Expand Down
12 changes: 12 additions & 0 deletions charts/gundeck/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,18 @@ data:
tlsCa: /etc/wire/gundeck/cassandra/{{- (include "tlsSecretRef" . | fromYaml).key }}
{{- end }}

{{- with .rabbitmq }}
rabbitmq:
host: {{ .host }}
port: {{ .port }}
vHost: {{ .vHost }}
enableTls: {{ .enableTls }}
insecureSkipVerifyTls: {{ .insecureSkipVerifyTls }}
{{- if .tlsCaSecretRef }}
caCert: /etc/wire/gundeck/rabbitmq-ca/{{ .tlsCaSecretRef.key }}
{{- end }}
{{- end }}

redis:
host: {{ .redis.host }}
port: {{ .redis.port }}
Expand Down
19 changes: 19 additions & 0 deletions charts/gundeck/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ spec:
- name: "gundeck-config"
configMap:
name: "gundeck"
{{- if .Values.config.rabbitmq.tlsCaSecretRef }}
- name: "rabbitmq-ca"
secret:
secretName: {{ .Values.config.rabbitmq.tlsCaSecretRef.name }}
{{- end }}
{{- if eq (include "useCassandraTLS" .Values.config) "true" }}
- name: "gundeck-cassandra"
secret:
Expand Down Expand Up @@ -77,7 +82,21 @@ spec:
- name: "additional-redis-ca"
mountPath: "/etc/wire/gundeck/additional-redis-ca/"
{{- end }}
{{- if .Values.config.rabbitmq.tlsCaSecretRef }}
- name: "rabbitmq-ca"
mountPath: "/etc/wire/gundeck/rabbitmq-ca/"
{{- end }}
env:
- name: RABBITMQ_USERNAME
valueFrom:
secretKeyRef:
name: gundeck
key: rabbitmqUsername
- name: RABBITMQ_PASSWORD
valueFrom:
secretKeyRef:
name: gundeck
key: rabbitmqPassword
{{- if hasKey .Values.secrets "awsKeyId" }}
- name: AWS_ACCESS_KEY_ID
valueFrom:
Expand Down
2 changes: 2 additions & 0 deletions charts/gundeck/templates/secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ metadata:
type: Opaque
data:
{{- with .Values.secrets }}
rabbitmqUsername: {{ .rabbitmq.username | b64enc | quote }}
rabbitmqPassword: {{ .rabbitmq.password | b64enc | quote }}
{{- if hasKey . "awsKeyId" }}
awsKeyId: {{ .awsKeyId | b64enc | quote }}
{{- end }}
Expand Down
14 changes: 14 additions & 0 deletions charts/gundeck/templates/tests/gundeck-integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ spec:
secret:
secretName: {{ include "redisTlsSecretName" .Values.config }}
{{- end }}
{{- if .Values.config.rabbitmq.tlsCaSecretRef }}
- name: "rabbitmq-ca"
secret:
secretName: {{ .Values.config.rabbitmq.tlsCaSecretRef.name }}
{{- end }}
containers:
- name: integration
# TODO: When deployed to staging (or real AWS env), _all_ tests should be run
Expand Down Expand Up @@ -72,6 +77,10 @@ spec:
- name: "redis-ca"
mountPath: "/etc/wire/gundeck/redis-ca/"
{{- end }}
{{- if .Values.config.rabbitmq.tlsCaSecretRef }}
- name: "rabbitmq-ca"
mountPath: "/etc/wire/gundeck/rabbitmq-ca/"
{{- end }}
env:
# these dummy values are necessary for Amazonka's "Discover"
- name: AWS_ACCESS_KEY_ID
Expand All @@ -82,6 +91,11 @@ spec:
value: "eu-west-1"
- name: TEST_XML
value: /tmp/result.xml
# RabbitMQ needs dummy credentials for the tests to run
- name: RABBITMQ_USERNAME
value: "guest"
- name: RABBITMQ_PASSWORD
value: "guest"
{{- if hasKey .Values.secrets "redisUsername" }}
- name: REDIS_USERNAME
valueFrom:
Expand Down
7 changes: 7 additions & 0 deletions charts/gundeck/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ config:
logLevel: Info
logFormat: StructuredJSON
logNetStrings: false
rabbitmq:
host: rabbitmq
port: 5672
adminPort: 15672
vHost: /
enableTls: false
insecureSkipVerifyTls: false
cassandra:
host: aws-cassandra
# To enable TLS provide a CA:
Expand Down
3 changes: 3 additions & 0 deletions charts/integration/templates/integration-integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,9 @@ spec:
- name: rabbitmq-ca
mountPath: /etc/wire/background-worker/rabbitmq-ca

- name: rabbitmq-ca
mountPath: /etc/wire/gundeck/rabbitmq-ca

{{- if eq (include "useCassandraTLS" .Values.config) "true" }}
- name: "integration-cassandra"
mountPath: "/certs"
Expand Down
1 change: 1 addition & 0 deletions deploy/dockerephemeral/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@ services:
ports:
- '127.0.0.1:5671:5671'
- '127.0.0.1:15671:15671'
- '127.0.0.1:15672:15672'
volumes:
- ./rabbitmq-config/rabbitmq.conf:/etc/rabbitmq/conf.d/20-wire.conf
- ./rabbitmq-config/certificates:/etc/rabbitmq/certificates
Expand Down
41 changes: 38 additions & 3 deletions hack/helm_vars/wire-server/values.yaml.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ brig:
enableTls: true
insecureSkipVerifyTls: false
tlsCaSecretRef:
name: rabbitmq-certificate
name: "rabbitmq-certificate"
key: "ca.crt"
authSettings:
userTokenTimeout: 120
Expand Down Expand Up @@ -205,7 +205,23 @@ cannon:
memory: 512Mi
drainTimeout: 0
config:
cassandra:
host: {{ .Values.cassandraHost }}
replicaCount: 1
disabledAPIVersions: []
rabbitmq:
port: 5671
adminPort: 15671
enableTls: true
insecureSkipVerifyTls: false
tlsCaSecretRef:
name: "rabbitmq-certificate"
key: "ca.crt"
secrets:
rabbitmq:
username: {{ .Values.rabbitmqUsername }}
password: {{ .Values.rabbitmqPassword }}

cargohold:
replicaCount: 1
imagePullPolicy: {{ .Values.imagePullPolicy }}
Expand Down Expand Up @@ -252,7 +268,7 @@ galley:
enableTls: true
insecureSkipVerifyTls: false
tlsCaSecretRef:
name: rabbitmq-certificate
name: "rabbitmq-certificate"
key: "ca.crt"
enableFederation: true # keep in sync with brig.config.enableFederation, cargohold.config.enableFederation and tags.federator!
settings:
Expand Down Expand Up @@ -373,6 +389,14 @@ gundeck:
name: "cassandra-jks-keystore"
key: "ca.crt"
{{- end }}
rabbitmq:
port: 5671
adminPort: 15671
enableTls: true
insecureSkipVerifyTls: false
tlsCaSecretRef:
name: "rabbitmq-certificate"
key: "ca.crt"
redis:
host: redis-ephemeral-master
connectionMode: master
Expand All @@ -395,6 +419,9 @@ gundeck:
awsKeyId: dummykey
awsSecretKey: dummysecret
redisPassword: very-secure-redis-master-password
rabbitmq:
username: {{ .Values.rabbitmqUsername }}
password: {{ .Values.rabbitmqPassword }}
tests:
{{- if .Values.uploadXml }}
config:
Expand Down Expand Up @@ -518,13 +545,21 @@ background-worker:
pushBackoffMinWait: 1000 # 1ms
pushBackoffMaxWait: 500000 # 0.5s
remotesRefreshInterval: 1000000 # 1s
cassandra:
host: {{ .Values.cassandraHost }}
replicaCount: 1
{{- if .Values.useK8ssandraSSL.enabled }}
tlsCaSecretRef:
name: "cassandra-jks-keystore"
key: "ca.crt"
{{- end }}
rabbitmq:
port: 5671
adminPort: 15671
enableTls: true
insecureSkipVerifyTls: false
tlsCaSecretRef:
name: rabbitmq-certificate
name: "rabbitmq-certificate"
key: "ca.crt"
secrets:
rabbitmq:
Expand Down
2 changes: 1 addition & 1 deletion hack/helmfile.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
# This helfile is used for the setup of two ephemeral backends on kubernetes
# This helmfile is used for the setup of two ephemeral backends on kubernetes
# during integration testing (including federation integration tests spanning
# over 2 backends)
# This helmfile is used via the './hack/bin/integration-setup-federation.sh' via
Expand Down
1 change: 1 addition & 0 deletions integration/integration.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ library
Test.Demo
Test.EJPD
Test.Errors
Test.Events
Test.ExternalPartner
Test.FeatureFlags
Test.FeatureFlags.AppLock
Expand Down
Loading
Loading