199 lines
5.3 KiB
Smarty
199 lines
5.3 KiB
Smarty
{{/* Define the config */}}
|
|
{{- define "blocky.configmap" -}}
|
|
{{- $configName := printf "%s-config" (include "tc.common.names.fullname" .) }}
|
|
{{- $config := merge ( include "blocky.config" . | fromYaml ) ( .Values.blockyConfig ) }}
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: {{ $configName }}
|
|
labels:
|
|
{{- include "tc.common.labels" . | nindent 4 }}
|
|
data:
|
|
tc-config.yaml: |
|
|
{{ $config | toYaml | indent 4 }}
|
|
{{- end -}}
|
|
|
|
{{- define "blocky.config" -}}
|
|
redis:
|
|
address: {{ printf "%v-%v" .Release.Name "redis" }}:6379
|
|
password: {{ .Values.redis.redisPassword | trimAll "\"" }}
|
|
database: 0
|
|
required: true
|
|
connectionAttempts: 10
|
|
connectionCooldown: 3s
|
|
{{- if .Values.blocky.enablePrometheus }}
|
|
prometheus:
|
|
enable: true
|
|
path: /metrics
|
|
{{- end }}
|
|
upstream:
|
|
default:
|
|
{{- .Values.defaultUpstreams | toYaml | nindent 8 }}
|
|
{{- range $id, $value := .Values.upstreams }}
|
|
{{ $value.name }}:
|
|
{{- $value.dnsservers | toYaml | nindent 8 }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.certFile }}
|
|
certFile: {{ .Values.certFile }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.keyFile }}
|
|
keyFile: {{ .Values.keyFile }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.logLevel }}
|
|
logLevel: {{ .Values.logLevel }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.logTimestamp }}
|
|
logTimestamp: {{ .Values.logTimestamp }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.logPrivacy }}
|
|
logPrivacy: {{ .Values.logPrivacy }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.dohUserAgent }}
|
|
dohUserAgent: {{ .Values.dohUserAgent }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.minTlsServeVersion }}
|
|
minTlsServeVersion: {{ .Values.minTlsServeVersion }}
|
|
{{- end }}
|
|
|
|
caching:
|
|
{{ toYaml .Values.caching | indent 2 }}
|
|
|
|
{{- if .Values.hostsFile.enabled }}
|
|
{{ $hostsfile := omit .Values.hostsFile "enabled" }}
|
|
hostsFile:
|
|
{{ toYaml $hostsfile | indent 2 }}
|
|
{{- end }}
|
|
|
|
{{- if or .Values.bootstrapDns.upstream .Values.bootstrapDns.ips }}
|
|
bootstrapDns:
|
|
{{- if .Values.bootstrapDns.upstream }}
|
|
upstream: {{ .Values.bootstrapDns.upstream }}
|
|
{{- end }}
|
|
{{- if .Values.bootstrapDns.ips }}
|
|
ips:
|
|
{{- range $id, $value := .Values.bootstrapDns.ips }}
|
|
- {{ $value }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if or .Values.filtering.filtering }}
|
|
filtering:
|
|
{{- if .Values.filtering.ips }}
|
|
queryTypes:
|
|
{{- range $id, $value := .Values.filtering.ips }}
|
|
- {{ $value }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if or .Values.customDNS.filterUnmappedTypes .Values.customDNS.customTTL .Values.customDNS.rewrite .Values.customDNS.mapping }}
|
|
customDNS:
|
|
{{- if .Values.customDNS.upstream }}
|
|
upstream: {{ .Values.customDNS.upstream }}
|
|
{{- end }}
|
|
{{- if .Values.customDNS.customTTL }}
|
|
customTTL: {{ .Values.customDNS.customTTL }}
|
|
{{- end }}
|
|
{{- if .Values.customDNS.rewrite }}
|
|
rewrite:
|
|
{{- range $id, $value := .Values.customDNS.rewrite }}
|
|
{{ $value.in }}: {{ $value.out }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.customDNS.mapping }}
|
|
mapping:
|
|
{{- range $id, $value := .Values.customDNS.mapping }}
|
|
{{ $value.domain }}: {{ $value.dnsserver }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if or .Values.clientLookup.upstream .Values.clientLookup.ips }}
|
|
clientLookup:
|
|
{{- if .Values.clientLookup.upstream }}
|
|
upstream: {{ .Values.clientLookup.upstream }}
|
|
{{- end }}
|
|
{{- if .Values.clientLookup.ips }}
|
|
singleNameOrder:
|
|
{{- range $id, $value := .Values.clientLookup.ips }}
|
|
- {{ $value }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.clientLookup.clients }}
|
|
clients:
|
|
{{- range $id, $value := .Values.clientLookup.clients }}
|
|
{{ $value.domain }}:
|
|
{{- range $id, $value := .ips }}
|
|
- {{ $value }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if or .Values.conditional.rewrite .Values.conditional.mapping ( and .Values.k8sgateway.enabled .Values.k8sgateway.domains ) }}
|
|
conditional:
|
|
{{- if .Values.conditional.rewrite }}
|
|
rewrite:
|
|
{{- range $id, $value := .Values.conditional.rewrite }}
|
|
{{ $value.in }}: {{ $value.out }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if or .Values.conditional.mapping ( and .Values.k8sgateway.enabled .Values.k8sgateway.domains ) }}
|
|
mapping:
|
|
{{- if and .Values.k8sgateway.enabled .Values.k8sgateway.domains }}
|
|
{{- range $id, $value := .Values.k8sgateway.domains }}
|
|
{{ .domain }}: 127.0.0.1:{{ $.Values.service.k8sgateway.ports.k8sgateway.targetPort }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- range $id, $value := .Values.conditional.mapping }}
|
|
{{ $value.domain }}: {{ $value.dnsserver }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
blocking:
|
|
blockType: {{ .Values.blocking.blockType }}
|
|
blockTTL: {{ .Values.blocking.blockTTL }}
|
|
refreshPeriod: {{ .Values.blocking.refreshPeriod }}
|
|
downloadTimeout: {{ .Values.blocking.downloadTimeout }}
|
|
downloadAttempts: {{ .Values.blocking.downloadAttempts }}
|
|
downloadCooldown: {{ .Values.blocking.downloadCooldown }}
|
|
failStartOnListError: {{ .Values.blocking.failStartOnListError }}
|
|
processingConcurrency: {{ .Values.blocking.processingConcurrency }}
|
|
{{- if .Values.blocking.whitelist }}
|
|
whiteLists:
|
|
{{- range $id, $value := .Values.blocking.whitelist }}
|
|
{{ $value.name }}:
|
|
{{- $value.lists | toYaml | nindent 10 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.blocking.blacklist }}
|
|
blackLists:
|
|
{{- range $id, $value := .Values.blocking.blacklist }}
|
|
{{ $value.name }}:
|
|
{{- $value.lists | toYaml | nindent 10 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.blocking.clientGroupsBlock }}
|
|
clientGroupsBlock:
|
|
{{- range $id, $value := .Values.blocking.clientGroupsBlock }}
|
|
{{ $value.name }}:
|
|
{{- $value.groups | toYaml | nindent 10 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- end -}}
|