apache / apache/devlake-helm-chart

[Bug][Helm chart] Path based routing doesn't work for common host

Open
#149 6 comments 2 reactions 1 assignee Claimed by @ZhangNing10 View on GitHub
Dominant language
Go Template
Stars
52
Forks
72
Avg merge
21h 4m
Merged PRs (30d)
1

Description

There is an issue with the helm chart for Ingress resources. We are using path based routing for multiple applications with the same host and the way Devlake helm chart creates ingress resource is based on the helm values file and the path is picked from `Prefix` value of helm chart. Based on how our ingresses are setup, we are supposed to give `devlake` as prefix. But this option doesn't seem to working since the application is looking for assets in `/` and throwing a 404 error in logs. So basically I am getting a blank page when I try to access https:///devlake.
helm values file
```
--
devlake:
ingress:
enabled: true
enableHttps: false
useDefaultNginx: true
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
hostname: devlake-hostname.com
prefix: devlake
httpPort: 80
```
Ingress logs
```
infra-ingress-controller-ingress-nginx-controller-6bc664dbs2svg:controller 172.20.3.79 - - [19/Jun/2023:23:47:53 +0000] "GET /assets/index-afa74f6a.css HTTP/2.0" 404 548 "https://dvlake-hostname.com/devlake" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 366 0.001 [upstream-default-backend] [] 127.0.0.1:8181 548 0.001 404 1cad31d8fa0f700b151b7624b57aabaa
```
Ingress resource
```
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$2
generation: 3
name: devlake
namespace: devlake
spec:
rules:
- host: devlake-hostname.com
http:
paths:
- backend:
service:
name: devlake-grafana
port:
number: 3000
path: /devlake/grafana(/|$)(.*)
pathType: Prefix
- backend:
service:
name: devlake-ui
port:
number: 4000
path: /devlake(/?|$)(.*)
pathType: Prefix
```
If we use prefix as `/` it works just fine but we are not hosting anything at the root of the url. I think this is because of the base_href path is not mentioned in `index.html`.

Having an option to overwrite the base_path would be ideal in this case where one can put any custom path based on their environments.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.