WPB-23942 prevent rabbit mq queues creation for client notifications#5116
Conversation
There was a problem hiding this comment.
Pull request overview
This PR makes “consumable notifications” (RabbitMQ-backed client notifications) configurable and disables the RabbitMQ queue setup/publishing paths by default, to prevent unintended queue creation for client notifications.
Changes:
- Add a new
consumableNotificationsboolean setting to Brig and Gundeck configs and propagate it via Helm/integration YAML. - Gate RabbitMQ queue setup for consumable-notification clients (Brig + Gundeck internal endpoint) and gate RabbitMQ routing in Gundeck push processing.
- Update integration tests to explicitly enable consumable notifications when exercising that functionality.
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| services/gundeck/test/unit/MockGundeck.hs | Implements new MonadPushAll capability flag in the mock. |
| services/gundeck/src/Gundeck/Push.hs | Adds mpaConsumableNotificationsEnabled and gates RabbitMQ split/routing. |
| services/gundeck/src/Gundeck/Options.hs | Adds settings.consumableNotifications to Gundeck settings schema. |
| services/gundeck/src/Gundeck/API/Internal.hs | Prevents queue setup calls when consumable notifications are disabled. |
| services/gundeck/gundeck.integration.yaml | Sets settings.consumableNotifications: false for integration config. |
| services/brig/src/Brig/Options.hs | Adds optSettings.setConsumableNotifications to Brig settings schema. |
| services/brig/src/Brig/API/Client.hs | Gates setupConsumableNotifications on the new Brig setting. |
| services/brig/brig.integration.yaml | Sets optSettings.setConsumableNotifications: false for integration config. |
| integration/test/Test/Events.hs | Enables consumable notifications via overrides in tests that depend on it. |
| hack/helm_vars/wire-server/values.yaml.gotmpl | Introduces CI helm values knob consumableNotifications: false. |
| hack/bin/helm-render-ci-values.sh | Adds helper script to render CI values via helmfile. |
| charts/wire-server/values.yaml | Adds top-level Helm value consumableNotifications: false. |
| charts/wire-server/templates/gundeck/configmap.yaml | Wires Helm value into Gundeck settings.consumableNotifications. |
| charts/wire-server/templates/brig/configmap.yaml | Wires Helm value into Brig optSettings.setConsumableNotifications. |
| changelog.d/5-internal/WPB-23942 | Adds changelog entry for configurability/default disable. |
| Makefile | Adds render-ci-manifest target to render CI manifest from rendered values. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 18 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
supersven
left a comment
There was a problem hiding this comment.
Overall, this is looking great 👍
Please consider my mktemp comments as optional improvements.
We should be certain about the future structure of the one-for-all Helm values though, as that might be hard to change later ("hard" as in "we would have to guide customers through this" 😉 ).
I'm approving anyways, because you will surely take care of this.
https://wearezeta.atlassian.net/browse/WPB-23942
Checklist
changelog.d