TrueChartsClone/charts/enterprise/blocky/templates/common.yaml

107 lines
3.3 KiB
YAML

{{/* Make sure all variables are set properly */}}
{{- include "tc.common.loader.init" . }}
{{ include "blocky.configmap" . }}
{{/* Always mount the configmap, with the basic config, plus the 'blockyConfig' */}}
{{- define "blocky.configmap.mount" -}}
enabled: true
type: custom
mountPath: /app/config.yml
subPath: config.yml
readOnly: true
volumeSpec:
configMap:
name: '{{ printf "%s-config" (include "tc.common.names.fullname" .) }}'
{{- end -}}
{{/* Append the general configMap volume to the volumes */}}
{{- define "k8sgateway.configvolume" -}}
enabled: "true"
mountPath: "/etc/coredns"
readOnly: true
type: "custom"
volumeSpec:
configMap:
name: {{ include "tc.common.names.fullname" . }}-corefile
items:
- key: Corefile
path: Corefile
{{- end -}}
{{- $_ := set .Values.persistence "tc-config" (include "blocky.configmap.mount" . | fromYaml) -}}
{{- $_ := set .Values.podAnnotations "prometheus.io/scrape" "true" -}}
{{- $_ := set .Values.podAnnotations "prometheus.io/path" "/metrics" -}}
{{- $_ := set .Values.podAnnotations "prometheus.io/port" (.Values.service.http.ports.http.port | toString) -}}
{{- if .Values.webUI.enabled -}}
{{- $_ := set .Values.additionalContainers "frontend" (include "blocky.frontend" . | fromYaml) -}}
{{- end -}}
{{- if and .Values.k8sgateway.enabled .Values.k8sgateway.domains -}}
{{- include "k8sgateway.configmap" . }}
{{- $_ := set .Values.persistence "config-volume" (include "k8sgateway.configvolume" . | fromYaml) -}}
{{- $_ := set .Values.additionalContainers "k8sgateway" (include "k8sgateway.container" . | fromYaml) -}}
{{- end -}}
{{/* Define path for api */}}
{{- define "blocky.api" -}}
{{- $fullname := include "tc.common.names.fullname" . -}}
path: "/api"
# -- Ignored if not kubeVersion >= 1.14-0
pathType: Prefix
service:
# -- Overrides the service name reference for this path
name: {{ printf "%s-http" $fullname }}
port: {{ .Values.service.http.ports.http.port }}
{{- end -}}
{{/* inject websocket path to all main ingress hosts*/}}
{{- define "blocky.apiinjector" -}}
{{- $path := list (include "blocky.api" . | fromYaml) -}}
{{- if .Values.ingress.main.enabled }}
{{- range .Values.ingress.main.hosts }}
{{- $newpaths := list }}
{{- $newpaths := concat .paths $path }}
{{- $_ := set . "paths" ( deepCopy $newpaths ) -}}
{{- end }}
{{- end }}
{{- end -}}
{{/* inject api paths in ingress */}}
{{- include "blocky.apiinjector" . }}
{{/* Define path for DoH */}}
{{- define "blocky.doh" -}}
{{- $fullname := include "tc.common.names.fullname" . -}}
path: "/dns-query"
# -- Ignored if not kubeVersion >= 1.14-0
pathType: Prefix
service:
# -- Overrides the service name reference for this path
name: {{ printf "%s-http" $fullname }}
port: {{ .Values.service.http.ports.http.port }}
{{- end -}}
{{/* inject websocket path to all main ingress hosts*/}}
{{- define "blocky.dohinjector" -}}
{{- $path := list (include "blocky.doh" . | fromYaml) -}}
{{- if .Values.ingress.main.enabled }}
{{- range .Values.ingress.main.hosts }}
{{- $newpaths := list }}
{{- $newpaths := concat .paths $path }}
{{- $_ := set . "paths" ( deepCopy $newpaths ) -}}
{{- end }}
{{- end }}
{{- end -}}
{{/* inject api paths in ingress */}}
{{- include "blocky.dohinjector" . }}
{{- include "blocky.servicemonitor" . -}}
{{- include "blocky.prometheusrule" . -}}
{{/* Render the templates */}}
{{ include "tc.common.loader.apply" . }}