fix(blocky): Finish up UI (#3866)

* fix(blocky): switch from subpath to items

* whoops

* don't run upgrade

* fix identation

* no message

* see content

* also see content

* agin

* -.-

* run

* run as is for now

* revert few things

* fix upstreams

* go again

* fix configmap of k8s-gateway

* bump common

* back to subPath

* add boostrapDns

* add filtering

* add custom dns

* add client lookup

* add caching

* add hostsFile

* add k8s forward

* add unbound

* apply suggestions from code review
This commit is contained in:
Stavros Kois
2022-09-24 21:49:03 +03:00
committed by GitHub
parent 2d8a193387
commit 03d58ace5f
4 changed files with 249 additions and 14 deletions

View File

@@ -3,7 +3,7 @@ appVersion: "elopment"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.5.7
version: 10.6.0
- condition: redis.enabled
name: redis
repository: https://charts.truecharts.org
@@ -26,7 +26,7 @@ sources:
- https://github.com/0xERR0R/blocky
- https://github.com/Mozart409/blocky-frontend
- https://hub.docker.com/r/spx01/blocky
version: 0.0.3
version: 0.0.4
annotations:
truecharts.org/catagories: |
- network

View File

@@ -85,6 +85,215 @@ questions:
type: string
required: true
default: ""
- variable: bootstrapDns
group: Container Configuration
label: Bootstrap DNS
schema:
additional_attrs: true
type: dict
attrs:
- variable: upstream
label: Upstream
schema:
type: string
default: ""
- variable: ips
label: IPs
schema:
type: list
default: []
items:
- variable: ipEntry
label: IP Entry
schema:
type: string
required: true
default: ""
- variable: filtering
group: Container Configuration
label: Filtering
schema:
additional_attrs: true
type: dict
attrs:
- variable: queryTypes
label: Query Types
schema:
type: list
default: []
items:
- variable: queryTypeEntry
label: Query Type Entry
schema:
type: string
required: true
default: ""
- variable: customDNS
group: Container Configuration
label: Custom DNS
schema:
additional_attrs: true
type: dict
attrs:
- variable: customTTL
label: Custom TTL
schema:
type: string
default: 1h
- variable: filterUnmappedTypes
label: Filter Unmapped Types
schema:
type: boolean
default: true
- variable: rewrite
label: Rewrite
schema:
type: list
default: []
items:
- variable: rewriteEntry
label: Rewrite Entry
schema:
type: dict
additional_attrs: true
attrs:
- variable: in
label: In
schema:
type: string
required: true
default: ""
- variable: out
label: Out
schema:
type: string
required: true
default: ""
- variable: mapping
label: Mapping
schema:
type: list
default: []
items:
- variable: mappingEntry
label: Mapping Entry
schema:
type: dict
additional_attrs: true
attrs:
- variable: in
label: In
schema:
type: string
required: true
default: ""
- variable: out
label: Out
schema:
type: string
required: true
default: ""
- variable: clientLookup
group: Container Configuration
label: Client Lookup
schema:
additional_attrs: true
type: dict
attrs:
- variable: upstream
label: Upstream
schema:
type: string
default: ""
- variable: singleNameOrder
label: Single Name Order
schema:
type: list
default: []
items:
- variable: singleNameEntry
label: Single Name Entry
schema:
type: string
required: true
default: ""
- variable: clients
label: Clients
schema:
type: list
default: []
items:
- variable: clientEntry
label: Client Entry
schema:
type: dict
additional_attrs: true
attrs:
- variable: domain
label: Domain
schema:
type: string
required: true
default: ""
- variable: ips
label: IPs
schema:
type: list
default: []
items:
- variable: ipEntry
label: IP Entry
schema:
type: string
required: true
default: ""
- variable: caching
group: Container Configuration
label: Caching
schema:
additional_attrs: true
type: dict
attrs:
- variable: minTime
label: Min Time
schema:
type: string
default: ""
- variable: maxTime
label: Max Time
schema:
type: string
default: ""
- variable: maxItemsCount
label: Max Items Count
schema:
type: int
default: 0
- variable: prefetching
label: Prefetching
schema:
type: boolean
default: false
- variable: prefetchExpires
label: Prefetch Expires
schema:
type: string
default: 2h
- variable: prefetchThreshold
label: Prefetch Threshold
schema:
type: int
default: 5
- variable: prefetchMaxItemsCount
label: Prefetch Max Items Count
schema:
type: int
default: 0
- variable: cacheTimeNegative
label: Cache Time Negative
schema:
type: string
default: 30m
- variable: conditional
group: Container Configuration
label: Conditional
@@ -291,6 +500,35 @@ questions:
type: string
required: true
default: ""
- variable: hostsFile
group: Container Configuration
label: Hosts File
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: filePath
label: File Path
schema:
type: string
default: /etc/hosts
- variable: hostsTTL
label: Hosts TTL
schema:
type: string
default: 60m
- variable: refreshPeriod
label: Refresh Period
schema:
type: string
default: 30m
- variable: k8sgateway
group: Container Configuration
label: k8s-Gateway Configuration
@@ -345,7 +583,6 @@ questions:
type: string
required: true
default: dns01.clouddns.com
- variable: advancedOptions
label: Advanced Options
schema:

View File

@@ -11,7 +11,7 @@ metadata:
{{- include "tc.common.labels" . | nindent 4 }}
data:
tc-config.yaml: |
{{ $config | toYaml | indent 6 }}
{{ $config | toYaml | indent 4 }}
{{- end -}}
{{- define "blocky.config" -}}
@@ -30,6 +30,10 @@ prometheus:
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 }}
@@ -62,18 +66,12 @@ minTlsServeVersion: {{ .Values.minTlsServeVersion }}
caching:
{{ toYaml .Values.caching | indent 2 }}
{{- if .Values.hostsFile.enabled }}
{{ $hostsfile := omit .Values.hostsFile "enabled" }}
hostsFile:
{{ toYaml $hostsfile | indent 2 }}
{{- end }}
{{- range $id, $value := .Values.upstreams }}
{{ $value.name }}:
{{- $value.dnsservers | toYaml | nindent 8 }}
{{- end }}
{{- if or .Values.bootstrapDns.upstream .Values.bootstrapDns.ips }}
bootstrapDns:
{{- if .Values.bootstrapDns.upstream }}

View File

@@ -43,8 +43,8 @@ startupProbe:
Create the matchable regex from domain
*/}}
{{- define "k8sgateway.configmap.regex" -}}
{{- if .Values.k8sgateway.domain }}
{{- .Values.k8sgateway.domain | replace "." "[.]" -}}
{{- if .dnsChallenge.domain }}
{{- .dnsChallenge.domain | replace "." "[.]" -}}
{{- else -}}
{{ "unset" }}
{{- end }}
@@ -72,9 +72,9 @@ data:
ready
{{- range .Values.k8sgateway.domains }}
{{- if .dnsChallenge.enabled }}
template IN ANY {{ required "Delegated domain ('domain') is mandatory " .domain }} {
template IN ANY {{ required "Delegated domain ('domain') is mandatory" .domain }} {
match "_acme-challenge[.](.*)[.]{{ include "k8sgateway.configmap.regex" . }}"
answer "{{ "{{" }} .Name {{ "}}" }} 5 IN CNAME {{ "{{" }} index .Match 1 {{ "}}" }}.{{ required "DNS01 challenge domain is mandatory " $values.dnsChallenge.domain }}"
answer "{{ "{{" }} .Name {{ "}}" }} 5 IN CNAME {{ "{{" }} index .Match 1 {{ "}}" }}.{{ required "DNS01 challenge domain is mandatory" .dnsChallenge.domain }}"
fallthrough
}
{{- end }}