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

Creating an Ingress for the Management UI in a RabbitmqCluster spec #940

Open
yannayh opened this issue Jan 28, 2022 · 10 comments
Open

Creating an Ingress for the Management UI in a RabbitmqCluster spec #940

yannayh opened this issue Jan 28, 2022 · 10 comments
Assignees
Labels
enhancement New feature or request never-stale Issue or PR marked to never go stale

Comments

@yannayh
Copy link

yannayh commented Jan 28, 2022

Currently, in order to access a cluster's management UI we have to use a temporary port forward, which makes it problematic to have a consistent way to access the UI.

It would be great if we could define an ingress within the RabbitmqCluster spec, which will create an ingress forwarding to the cluster's management UI.

@Zerpet
Copy link
Collaborator

Zerpet commented Feb 1, 2022

I think it would be nice to have some automation around the creation of an Ingress, however I do not want to embed the entire Ingress spec in the RabbitmqCluster. It can be interesting to generate an ingress with the name of the RabbitmqCluster name and -rabbitmq suffix, with a rule to match prefix $rabbitmqClusterName + "-rabbitmq", and automagically set the backend Service to the same Service we create.

I think something like this in RabbitmqCluster spec:

apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
  name: hello-world
spec:
  ingress:
    ingressClassName: my-ingress-class
    annotations:
      some/annotation: foo-bar

Resulting in the creation of an Ingress in these lines:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hello-world-rabbitmq
  annotations:
    some/annotation: foo-bar
spec:
  ingressClassName: my-ingress-class
  rules:
  - http:
      paths:
      - path: /hello-world-rabbitmq
        pathType: Prefix
        backend:
          service:
            name: hello-world
            port:
              number: 15672

There are some caveats in the UX: the user needs to know their Ingress IP or DNS. It's not easy to observe (monitor) and troubleshoot a misconfigured Ingress.

@yannayh
Copy link
Author

yannayh commented Feb 1, 2022

I agree, I think that the ingressHost should be optionally specified, and will be used if specified.
Maybe secretName aswell?

@Zerpet
Copy link
Collaborator

Zerpet commented Feb 1, 2022

secretName as well could be interesting. I haven't thought too much about TLS in this case yet, mostly because the different scenarios e.g. TLS termination at Ingress, TLS without termination, different certs for AMQP than for Ingress, to name a few, can become very complex quickly. We can start thinking about those when we agree to go ahead with this feature.

The team received the idea positively, but we still have to do some exploring to determine the effort to build this feature.

@github-actions
Copy link

github-actions bot commented Apr 3, 2022

This issue has been marked as stale due to 60 days of inactivity. Stale issues will be closed after a further 30 days of inactivity; please remove the stale label in order to prevent this occurring.

@github-actions github-actions bot added the stale Issue or PR with long period of inactivity label Apr 3, 2022
@Zerpet Zerpet added never-stale Issue or PR marked to never go stale and removed stale Issue or PR with long period of inactivity labels Apr 5, 2022
@MirahImage MirahImage added the enhancement New feature or request label Jul 5, 2022
@ikavgo ikavgo self-assigned this Aug 24, 2023
@AlissonRS
Copy link

Is this still being considered? I was looking forward to using such a feature.

@Zerpet
Copy link
Collaborator

Zerpet commented Oct 9, 2023

I'm not actively working on this, but I think it's a nice feature to have. Perhaps @ikvmw is considering this?

@kamikaze
Copy link

+1

@chitrarchitect
Copy link

Looking forward for this feature too! Thanks!

@Elyytscha
Copy link

+1

@khmarochos
Copy link

+1!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request never-stale Issue or PR marked to never go stale
Projects
None yet
Development

No branches or pull requests

9 participants