You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by Frank Kelly <fk...@cogitocorp.com.INVALID> on 2023/11/13 14:51:04 UTC

Pulsar Helm Chart: Ingress does not support multiple hosts

Hello Folks,

I am still only intermediate at Helm charts but I think the Public pulsar
helm chart does not support multiple DNS host names in the various ingress
definitions. See

https://github.com/apache/pulsar-helm-chart/blob/8cb3c18377e547e5de4ca19e63138ca1387aef59/charts/pulsar/templates/proxy-ingress.yaml#L41-L47

I'd like to propose a solution but need some community input.
The problem is that I can't just provide multiple hosts - basically the
ingress will need rules per DNS name (as best i can tell) e.g..

$ kubectl get ingress foo -o yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
  name: foo
  namespace: bar
spec:
  rules:
  - host: dns1.cogitocorp.com
    http:
      paths:
      - backend:
          service:
            name: foo
            port:
              name: http
        path: /foo
        pathType: ImplementationSpecific
  - host:  dns2.cogitocorp.com
    http:
      paths:
      - backend:
          service:
            name: foo
            port:
              name: http
        path: /foo
        pathType: ImplementationSpecific
  tls:
  - hosts:
    -  dns1.cogitocorp.com
    -  dns2.cogitocorp.com
    secretName: some-certificate

I've seen some example Helm charts that solve this but they are pretty
complex and very hard to read / maintain - creating data structures and
then iterating over them.

I did some googling and stack overflowing to find a simple helm chart but
have not been successful.

Anyway here are my questions:
- Do folks know of any example helm chart that would be a good exemplar to
copy from? Ideally something relatively readable / maintainable.
- I noticed that Ingress is frozen
https://kubernetes.io/docs/concepts/services-networking/ingress/ and there
is a (complex) migration guide to the new Gateway API
https://gateway-api.sigs.k8s.io/guides/migrating-from-ingress/#migrating-from-ingress
so I am not sure how to factor that into things?

Appreciate any thoughts, suggestions or alternatives,

Thanks in advance,

Frank Kelly

-- 

*Frank Kelly | Principal Engineer, Core Platform Team*

www.cogitocorp.com | Cogito on LinkedIn
<https://www.linkedin.com/company/cogito-corp-/>