Files
k3s-manifests/charts/app/templates/ingress.yaml
2026-07-19 08:40:53 +00:00

33 lines
1.1 KiB
YAML

{{- if .Values.ingress.enabled }}
{{- if not .Values.ingress.host }}
{{- fail "ingress.enabled is true but ingress.host is empty — set the hostname in your service's values.yaml" }}
{{- end }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ include "app.name" . }}
labels:
{{- include "app.labels" . | nindent 4 }}
annotations:
# Phase 1: cert-manager issues the cert. Phase 2: external-dns reads the
# host below and creates the DNS record. Both driven off this one Ingress.
cert-manager.io/cluster-issuer: {{ .Values.ingress.clusterIssuer }}
spec:
ingressClassName: {{ .Values.ingress.className }}
tls:
- hosts:
- {{ .Values.ingress.host }}
secretName: {{ .Values.ingress.tlsSecretName | default (printf "%s-tls" (include "app.name" .)) }}
rules:
- host: {{ .Values.ingress.host }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ include "app.name" . }}
port:
number: {{ .Values.service.port }}
{{- end }}