Helm chart 8.3.3 contains no Zeebe Gateway reference

Hi folks,

I am following the "Deploy an EKS cluster with Terraform
" and “Install Camunda 8 on an EKS cluster” (+ own Domain) guides from Camunda.

Now everything works fine except the very last step where i try to connect from my Desktop Modeler to the cluster. In the Modeler I get the error message “Cannot connect to Zeebe cluster”.

Then I spent hours searching for the mistake. Turns out, even though I used the scripts provided on the homepage, the zeebe.gateway ingess is not created.

kubectl get ingress -n camunda only spits out the “camunda-camunda-platform” ingress and not the zeebe gateway one.

Then I took a look at the heml chart version 8.3.3 and the ingress.yaml file and I don´t see any logic for taking care of handling those script parameters:

 --set zeebeGateway.ingress.enabled=true \
 --set zeebeGateway.ingress.host="zeebe.$DOMAIN_NAME" \
 --set zeebeGateway.ingress.tls.enabled=true \

Can this be the reson why the zeebe ingress is not created (and hence why connection from the Modeler to my cluster is not working)?

Thanks!

Hi @Sebastian_Stemmer and welcome to the forum,

Please make sure to consider the correct version of the documentation. In older versions of Camunda, such as 8.3.3, properties related to the zeebe Gateway have the prefix zeebe-gateway:

Furthermore, I recommend to always use the latest patch release, for your minor release (i.e., 8.3.11)

I hope this helps.

Regards,
Stephan

1 Like

Hey @StephanHaarmann,

thanks a lot for your reply (always great to see when people try to answer question strangers raise)!

Now maybe - or even probably - I didn’t read this the right way but in the guide (Install Camunda 8 on an EKS cluster | Camunda 8 Docs) for the environment prerequisites it says:

# Your standard region that you host AWS resources in
export REGION=eu-central-1
# Following two environment variables can be skipped if you don't have a domain
# The domain name that you intend to use
export DOMAIN_NAME=camunda.example.com
# The e-mail to register with Let's Encrypt
export MAIL=admin@camunda.example.com
# The Ingress-Nginx Helm Chart version
export INGRESS_HELM_CHART_VERSION="4.8.3"
# The External DNS Helm Chart version
export EXTERNAL_DNS_HELM_CHART_VERSION="1.13.1"
# The Cert-Manager Helm Chart version
export CERT_MANAGER_HELM_CHART_VERSION="1.13.2"
# The Camunda 8 Helm Chart version
export CAMUNDA_HELM_CHART_VERSION="**8.3.3**"

I know right above it it says “example values” but I thought this was related to DOMAIN_NAME and MAIL part.

Therefore I used the 8.3.3 for the HELM_CHART_VERSION, assuming those values need to be used in order to work with one another.

And then my understanding is, that the helm upgrade camunda command on this site - which sets those zeebeGateway parameters, are used in conjuction with the ingress.yaml file of version 8.3.3.

Is this assumption wrong?

So even though you linked the zeebe Gateway paramaters documentation for 8.3.3, I don’t see how they can get picked up because the ingress.yaml file does not contain such a logic (from 9.3.3 as an example):

{{- if and .Values.zeebe.enabled .Values.zeebeGateway.contextPath }}
          - backend:
              service:
                name: {{ template "zeebe.fullname.gateway" . }}
                port:
                  number: {{ .Values.zeebeGateway.service.restPort }}
            path: {{ .Values.zeebeGateway.contextPath }}
            pathType: {{ .Values.zeebeGateway.ingress.rest.pathType | default .Values.global.ingress.pathType }}
          {{- end }}

Thanks you

I don’t see any problem with your understanding and reasoning.
But, I see that the values for

  • zeebeGateway.ingress.enbaled
  • zeebeGateway.ingress.host
  • zeebeGateway.ingress.tls.enabled

are used in the Ingress.yaml of v8.3.3 of the Helm charts:

So, I end up with the impression that I misunderstand your question.