Camunda8 Self-Managed: Usage of GatewayAPI with a shared Gateway instead of Ingress

Super - thanks for the feedback!

Regarding the controllerNamespace, does the comment here help you to make it clear camunda-platform-helm/charts/camunda-platform-8.10/values.yaml at faa57dd935ddc382655a52f52a4fba790db1dcc0 · camunda/camunda-platform-helm · GitHub?

Regarding the identity topic - I could not reproduce it. Could you share more configuration/ steps how to reproduce the issue?

Ah, I see, this clarifies the difference @Immi. The name is misleading though, in this case it’s more like routesNamespace than controllerNamespace. And one evil admin could even come up with the idea to have Camunda, controller and routes in three different namespaces. :grimacing:

I could imagine using only one namespace setting and then depending on external: true/external: false use it in different ways.

As we’re talking - the comment in the Helm chart for global.gateway.external should mention something like “if you create the routes in a different namespace you need to set controllerNamespace.”

@Immi Regarding identity:

  • https://<domain>/identity/ → works
  • https://<domain>/identity → empty page (404 visible in dev console as described)

The Helm chart specifically creates a rule to rewrite /identity to /identity/:

This doesn’t seem to work. A redirect would work.


And (completely different topic) if you click the Camunda logo in Management Identity…

… it links to:

  • https://<domain>/ → 404 (there is no route for /)

We tackled this by adding a separate HTTPRoute that redirects / (exact) to /identity/ but ideally we make the UI properly link to itself. :slight_smile:

Hi @Immi @Jesse_Simpson ,

The main improvements have been released with Helm chart 14.7 and 14.8 and everything is well configurable via the chart without the need for separate patches!

Thanks!

For everyone else reading: The config changed to:

global:
  host: "${environment}.${dns_zone}"
  gateway:
    enabled: true
    createGatewayResource: false
    name: "${gateway_name}"            # <- NEW
    namespace: "${gateway_namespace}"  # <- NEW
    className: nginx
    tls:
      enabled: true

orchestration:
  contextPath: "/orchestration"
  gateway:
    grpc:
      enabled: true
      host: "${environment}-grpc.${dns_zone}"