Skip to content

Add loadBalancerSourceRanges for RabbitMQ Service #1922

@sdibernardo

Description

@sdibernardo

Is your feature request related to a problem? Please describe.
In our current setup we use the rabbitmq cluster operater in order to provision multiple rabbitmq clusters for different clients. I'd like to allow access based on IP whitelists, which generally can be done, but not out of the box with the operator.

Describe the solution you'd like
I'd like to have the additional configuration to specify whitelists for services of type LoadBalancer, based on the implementation of regular Services (https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/).

kind: RabbitmqCluster
metadata:
  name: rabbitmq
spec:
  replicas: {{ .Values.replicas }}
  image: "{{ .Values.image.repository }}:{{ .Values.image.version }}"
  service:
     type: LoadBalancer
     loadBalancerSourceRanges: []

Describe alternatives you've considered

  • Patching the resource directly on the cluster and disable automatic Argo Sync
  • Mutating Webhook to alter the creation of rabbitmq services

Additional context
I saw that the requested field exists in the CRD (

) but when I configure the RabbitMQ Cluster with the ranges specified, Argo stays OutOfSync and does not apply the changes. The logs of the operator do not give any hints regarding errors, just emitting logs with regards to the reconciliation of the provisioned resources.

After a quick glance over https://github.com/rabbitmq/cluster-operator/blob/d08d5700721bc332ff5852334dea97d1f63b62e7/internal/resource/service.go it seems to me, that specifying the ranges doesnt do anything codewise.

Any feedback will be appreciated ❤️

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions