[blocky] Refactor config yaml (#169)

* Refactor config yaml

Also disable logs volume (no longer needed)

Signed-off-by: Jeff Billimek <jeff@billimek.com>

* fix linting

Signed-off-by: Jeff Billimek <jeff@billimek.com>
This commit is contained in:
Jeff Billimek 2020-03-11 00:09:41 -04:00 committed by GitHub
parent def0e8c7ed
commit 92a0db15d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 64 additions and 76 deletions

View File

@ -2,7 +2,7 @@ apiVersion: v1
appVersion: "v0.5"
description: DNS proxy as ad-blocker for local network
name: blocky
version: 2.1.0
version: 2.2.0
keywords:
- blocky
- dbs

View File

@ -9,5 +9,8 @@ metadata:
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
data:
{{- if .Values.config }}
{{ $root := . }}
config.yml: |
{{ .Values.config | indent 4 }}
{{ tpl (toYaml .Values.config | indent 4) $root }}
{{- end }}

View File

@ -37,8 +37,6 @@ spec:
- name: config
mountPath: /app/config.yml
subPath: config.yml
- name: logs
mountPath: /logs
ports:
ports:
- name: monitoring
@ -74,9 +72,6 @@ spec:
- name: config
configMap:
name: {{ template "blocky.fullname" . }}
- name: logs
emptyDir:
medium: Memory
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}

View File

@ -12,8 +12,8 @@ replicas: 1
timeZone: "UTC"
# blocky configuration
config: |
# blocky configuration - will translate to config.yml file inside the pod
config:
upstream:
# these external DNS resolvers will be used. Blocky picks 2 random resolvers from the list for each query
# format for resolver: net:host:[port][/path]. net could be tcp, udp, tcp-tls or https (DoH). If port is empty, default port will be used (53 for udp and tcp, 853 for tcp-tls, 443 for https (Doh))
@ -69,20 +69,20 @@ config: |
# optional: automatically list refresh period in minutes. Default: 4h.
# Negative value -> deactivate automatically refresh.
# 0 value -> use default
refreshPeriod: 1
# refreshPeriod: 1
# optional: configuration for caching of DNS responses
caching:
# caching:
# amount in minutes, how long a response must be cached (min value).
# If <=0, use response's TTL, if >0 use this value, if TTL is smaller
# Default: 0
minTime: 40
# minTime: 40
# amount in minutes, how long a response must be cached (max value).
# If <0, do not cache responses
# If 0, use TTL
# If > 0, use this value, if TTL is greater
# Default: 0
maxTime: -1
# maxTime: -1
# optional: configuration of client name resolution
clientLookup:
@ -90,9 +90,9 @@ config: |
upstream: udp:192.168.178.1
# optional: some routers return multiple names for client (host name and user defined name). Define which single name should be used.
# Example: take second name if present, if not take first name
singleNameOrder:
- 2
- 1
# singleNameOrder:
# - 2
# - 1
# optional: configuration for prometheus metrics endpoint
prometheus:
# enabled if true
@ -102,15 +102,6 @@ config: |
# url path, optional (default '/metrics')
path: /metrics
# optional: write query information (question, answer, client, duration etc) to daily csv file
queryLog:
# directory (should be mounted as volume in docker)
dir: /logs
# if true, write one file per client. Writes all queries to single file otherwise
perClient: true
# if > 0, deletes log files which are older than ... days
logRetentionDays: 7
# optional: DNS listener port, default 53 (UDP and TCP)
port: 53
# optional: HTTP listener port, default 0 = no http listener. If > 0, will be used for prometheus metrics, pprof, ...
@ -167,11 +158,10 @@ resources: {}
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# memory: 500Mi
# requests:
# cpu: 100m
# memory: 128Mi
# cpu: 50m
# memory: 275Mi
nodeSelector: {}