Skip to content

Mattermost team edition path based routing #491

@aceeric

Description

@aceeric

I'm so far unable to Helm install MM team with path based ingress routing on Nginx. I'm installing this way:

helm upgrade --install mattermost https://github.com/mattermost/mattermost-helm/releases/download/mattermost-team-edition-6.6.71/mattermost-team-edition-6.6.71.tgz\
  --namespace mattermost\
  --create-namespace\
  --values mattermost.yaml

My ingress values are:

ingress:
  enabled: true
  path: /mattermost(/|$)(.*)
  pathType: ImplementationSpecific
  hosts:
    - <redacted>
  annotations:
    cert-manager.io/cluster-issuer: my-cluster-issuer
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/use-regex: "true"
  tls:
    - secretName: mattermost-ingress
      hosts:
        - <redacted>

Note - the Ingress template doesn't support setting pathType so I hand-patch that. (See PR.)

But even so, the Nginx logs have:

"GET /mattermost HTTP/2.0" 200 7085 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" 1047 0.001 [mattermost-mattermost-team-edition-8065] [] 10.42.0.13:8065 7098 0.002 200 8a745a0a67bd8cdbf8da469cedfa3979
"GET /static/css/initial_loading_screen.css HTTP/2.0" 404 548 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" 95 0.001 [upstream-default-backend] [] 127.0.0.1:8181 548 0.001 404 18f3b471679a036af52c9c6bd6cf7dfc
"GET /static/main.93abfc573478fd7c02b0.js HTTP/2.0" 404 548 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" 67 0.001 [upstream-default-backend] [] 127.0.0.1:8181 548 0.000 404 78aa2bba53ce1e1a4813d54f324642de
"GET /static/remote_entry.js?bt=1739887020935 HTTP/2.0" 404 548 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" 55 0.001 [upstream-default-backend] [] 127.0.0.1:8181 548 0.001 404 14ecc6d687b91b36fab9b641f253ae4c

You can see that the first GET /mattermost is followed by GET /static when only GET /mattermost/static would work since the Ingress will ignore anything that doesn't start with mattermost... I've used this approach with other workloads that prefer to run under /. But no success here.

Is there a recipe to run Mattermost Team Edition behind Nginx with path-based routing. E.g.:

https://my-particular-host/mattermost

The use case supports running in Kubernetes clusters without host-based routing. So each workload gets a path. E.g.:

Thanks!

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