TrueChartsClone/charts/stable/k8s-gateway/templates/_configmap.tpl

65 lines
1.9 KiB
Smarty

{{/*
Create the matchable regex from domain
*/}}
{{- define "k8s-gateway.configmap.regex" -}}
{{- if .Values.domain }}
{{- .Values.domain | replace "." "[.]" -}}
{{- else -}}
{{ "unset" }}
{{- end }}
{{- end -}}
{{/* Define the configmap */}}
{{- define "k8s-gateway.configmap" -}}
{{- $values := .Values }}
{{- $fqdn := ( include "tc.common.names.fqdn" . ) }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "tc.common.names.fullname" . }}-corefile
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
Corefile: |-
.:53 {
errors
log
health {
lameduck 5s
}
ready
{{- range .Values.domains }}
{{- if .dnsChallenge.enabled }}
template IN ANY {{ required "Delegated domain ('domain') is mandatory " .domain }} {
match "_acme-challenge[.](.*)[.]{{ include "k8s-gateway.configmap.regex" . }}"
answer "{{ "{{" }} .Name {{ "}}" }} 5 IN CNAME {{ "{{" }} index .Match 1 {{ "}}" }}.{{ required "DNS01 challenge domain is mandatory " $values.dnsChallenge.domain }}"
fallthrough
}
{{- end }}
k8s_gateway "{{ required "Delegated domain ('domain') is mandatory " .domain }}" {
apex {{ $values.apex | default $fqdn }}
ttl {{ $values.ttl }}
{{- if $values.secondary }}
secondary {{ $values.secondary }}
{{- end }}
{{- if $values.watchedResources }}
resources {{ join " " $values.watchedResources }}
{{- end }}
fallthrough
}
{{- end }}
prometheus 0.0.0.0:9153
{{- if .Values.forward.enabled }}
forward . {{ .Values.forward.primary }} {{ .Values.forward.secondary }} {
{{- range .Values.forward.options }}
{{ .name }} {{ .value }}
{{- end }}
}
{{- end }}
loop
reload
loadbalance
}
{{- end -}}