gitdataai/deploy/templates/ingress.yaml

85 lines
2.4 KiB
YAML

{{- /* Single unified Ingress for all services */ -}}
{{- $fullName := include "gitdata.fullname" . -}}
{{- $ns := include "gitdata.namespace" . -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ $fullName }}-ingress
namespace: {{ $ns }}
labels:
app.kubernetes.io/name: {{ $fullName }}
app.kubernetes.io/instance: {{ .Release.Name }}
annotations:
cert-manager.io/cluster-issuer: cloudflare-acme-cluster-issuer
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
spec:
ingressClassName: nginx
tls:
- hosts:
- gitdata.ai
- api.gitdata.ai
- git.gitdata.ai
- static.gitdata.ai
secretName: {{ $fullName }}-tls
rules:
# Frontend (default), with /api and /ws routed to app
- host: gitdata.ai
http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: {{ $fullName }}-app
port:
number: {{ .Values.app.service.port }}
- path: /ws
pathType: Prefix
backend:
service:
name: {{ $fullName }}-app
port:
number: {{ .Values.app.service.port }}
- path: /
pathType: Prefix
backend:
service:
name: {{ $fullName }}-frontend
port:
number: 80
# Dedicated API host
- host: api.gitdata.ai
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ $fullName }}-app
port:
number: {{ .Values.app.service.port }}
# Gitserver HTTP
- host: git.gitdata.ai
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ $fullName }}-gitserver-http
port:
number: {{ .Values.gitserver.service.http.port }}
# Static files
- host: static.gitdata.ai
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ $fullName }}-static
port:
number: {{ .Values.static.service.port }}