feat(ingress): Traefik ingress to revproxy for web UI; ClusterIP revproxy in k3s example

Made-with: Cursor
This commit is contained in:
timotheereausanofi
2026-03-20 10:27:51 +01:00
parent e0e294a944
commit 279829cfee
4 changed files with 66 additions and 4 deletions

View File

@@ -0,0 +1,34 @@
{{- if .Values.ingress.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: onelab-revproxy
labels:
{{- include "onelab.labels" . | nindent 4 }}
annotations:
argocd.argoproj.io/sync-wave: {{ .Values.syncWaves.apps | quote }}
{{- with .Values.ingress.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.className }}
ingressClassName: {{ .Values.ingress.className | quote }}
{{- end }}
{{- if .Values.ingress.tls }}
tls:
- hosts:
- {{ .Values.ingress.host | quote }}
secretName: {{ if .Values.ingress.tlsSecretName }}{{ .Values.ingress.tlsSecretName | quote }}{{ else }}{{ printf "%s-tls" .Release.Name | quote }}{{ end }}
{{- end }}
rules:
- host: {{ .Values.ingress.host | quote }}
http:
paths:
- path: {{ .Values.ingress.path | quote }}
pathType: {{ .Values.ingress.pathType | quote }}
backend:
service:
name: revproxy
port:
name: http
{{- end }}

View File

@@ -87,6 +87,17 @@ revproxy:
nodePort: 30080
ipv6Listen: true
# HTTP routing to internal nginx (revproxy). On k3s, set className: traefik (default controller).
ingress:
enabled: false
className: ""
host: onelab.local
path: /
pathType: Prefix
annotations: {}
tls: false
tlsSecretName: ""
# Replica counts (api.apidevice etc. override defaults in templates/workloads.yaml via this map)
replicas:
api: 2