Skip to content

Add Argo CD and Helm configuration for UOP and FAP Results Letter topology resources#330

Open
Bhaswati1148 wants to merge 25 commits into
mainfrom
add-uop-specific-rabbitmq-definitions
Open

Add Argo CD and Helm configuration for UOP and FAP Results Letter topology resources#330
Bhaswati1148 wants to merge 25 commits into
mainfrom
add-uop-specific-rabbitmq-definitions

Conversation

@Bhaswati1148

@Bhaswati1148 Bhaswati1148 commented Jun 15, 2026

Copy link
Copy Markdown

Closes https://github.com/isisbusapps/docker-orchestration/issues/857

This PR adds the Argo CD configuration and Helm chart changes required to deploy the UOP and FAP Results Letter RabbitMQ topology resources. The changes include Helm values, chart configuration, and templates for managing the topology resources.
This PR also adds httpRoute for the rabbitmq cluster operator instance.

@Bhaswati1148 Bhaswati1148 requested review from a team as code owners June 15, 2026 16:28
@Bhaswati1148 Bhaswati1148 requested a review from bashanlam June 15, 2026 16:28
@Bhaswati1148 Bhaswati1148 requested a review from a team as a code owner June 16, 2026 10:08
- values.yaml
# Kustomize config for ingress
- path: components/shared/message-broker/overlays/dev
repoURL: 'https://github.com/isisbusapps/gitops'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate

valueFiles:
- values.yaml
# Kustomize config for ingress
- path: components/shared/message-broker/overlays/dev

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are we adding Kustomize files , we already have helm chart

@Bhaswati1148 Bhaswati1148 Jun 25, 2026

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The kustomize files are for including the HTTPRoute configuration of the rabbitmq cluster operator instance.
The HTTPRoute is configured in dev and can be accessed using https://devkubernetes.developers.facilities.rl.ac.uk/rmq/#/queues

@Sahil-STFC Sahil-STFC Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of kustomize can you use helm ?
whats happening here is that half of the implementation is in helm and other half in kustomize

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this file needed ?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

R&A team needs to access the management UI to check the queues and exchanges. I mentioned about this in one of our meetings with your team.
The HTTPRoute is required to expose the RabbitMQ Management UI through the Gateway API.
The HTTPRoute configuration is applied using kustomize, so it has been added to argocd configuration files. This has noting to do with rabbitmq cluster operator instance which is deployed using helm values.
@Sahil-STFC

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have exposed Publisher using HTTPRoute and Helm , I think you can do the same thing for the exchange?

rabbitmq cluster operator and message broker both are deployed using helm.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could find this HTTPRoute and kustomize configuration for Publisher, is this the one you are referring above ?
I don't find helm being used to expose publisher, unless I am looking at wrong place.
@Sahil-STFC

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry my bad, Publisher is kustomize and HTTPRoutes, I don't remember why its that way, we might have to change it in the future.
As of now I think if you'll put HTTPRoute in template folder it should work the same way kustomize does. Besides I don't see why we'd want to override the base file for different env, but if we need to we can just use values file .
HTTPRoutes is essentially just another K8 manifest file that can get its values from value-<env>.yaml.
Also while you are at it , you might want to remove the hardcoded values and make it more template driven ?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Message broker is deployed via helm , why are we adding Kustomize files ?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kustomize files are for deploying HTTPRoute gateway configuration for accessing rabbitmq management UI

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you'll need 2 values files - 1 for dev and second one for prod

@@ -0,0 +1,24 @@
apiVersion: v2
name: user-exchange-topology-chart

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Chart name should be different

vhost: {{ $.Values.uop_exchange_vhost}}
rabbitmqClusterReference:
name: {{ $.Values.rmq_cluster_name }}
deletionPolicy: retain

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You might wanna check this. This ensures your queue never gets deleted, even if you have removed it from the values.yaml file.
If that's what's intended then that's fine

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My intention was to preserve the current behaviour. With the existing deployment of Bitnami helm charts, queues are imported via definitions.json, and removing them from the definitions does not automatically delete them from RabbitMQ. Using deletionPolicy: retain keeps that behaviour during the migration.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion : If you have only 1 policy then its best to hard code the value, it will be easier for you to maintain

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to keep this as a Helm template for consistency with other topology objects

@@ -0,0 +1,24 @@
apiVersion: v2
name: user-exchange-topology-chart

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Name of the chart

@Bhaswati1148 Bhaswati1148 requested a review from Sahil-STFC June 26, 2026 10:34
type: ReplacePrefixMatch
replacePrefixMatch: ""
backendRef:
name: rmq-message-broker

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above

@@ -0,0 +1,17 @@
httpRoute:
name: rmq-message-broker

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't need this, this can be referenced from RMQ- message-broker values.yaml.

@@ -0,0 +1,17 @@
httpRoute:
name: rmq-message-broker
namespace: apps

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above

@Bhaswati1148 Bhaswati1148 requested a review from Sahil-STFC June 26, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants