Files
truecharts/charts/premium/blocky/values.yaml
T
BoemeltreinandGitHub 427f6417aa chore(blocky): update depricated values and add some more configs (#38853)
**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->
In the latest versions, since this chart is made configs are changed,
hereunder some depricated examples.
Tried to match with
https://0xerr0r.github.io/blocky/latest/configuration/ and added some
more settings.

Depricated example:
```
[2025-08-27 19:09:07]  WARN Setting a duration without a unit is deprecated. Please use '0 min' instead.
[2025-08-27 19:09:07]  WARN Setting a duration without a unit is deprecated. Please use '3 min' instead.
[2025-08-27 19:09:07]  WARN config option "upstream" is deprecated, please use "upstreams.groups" instead
[2025-08-27 19:09:07]  WARN config option "upstreamTimeout" is deprecated, please use "upstreams.timeout" instead
[2025-08-27 19:09:07]  WARN config option "blocking.blackLists" is deprecated, please use "blocking.denylists" instead
[2025-08-27 19:09:07]  WARN config option "blocking.whiteLists" is deprecated, please use "blocking.allowlists" instead
[2025-08-27 19:09:07]  WARN config option "blocking.downloadTimeout" is deprecated, please use "blocking.loading.downloads.timeout" instead
[2025-08-27 19:09:07]  WARN config option "blocking.downloadAttempts" is deprecated, please use "blocking.loading.downloads.attempts" instead
[2025-08-27 19:09:07]  WARN config option "blocking.downloadCooldown" is deprecated, please use "blocking.loading.downloads.cooldown" instead
[2025-08-27 19:09:07]  WARN config option "blocking.refreshPeriod" is deprecated, please use "blocking.loading.refreshPeriod" instead
[2025-08-27 19:09:07]  WARN config option "blocking.processingConcurrency" is deprecated, please use "blocking.loading.concurrency" instead
[2025-08-27 19:09:07]  WARN config option "blocking.startStrategy" is deprecated, please use "blocking.loading.strategy" instead
```



⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [x] ⚙️ Feature/App addition
- [x] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [ ] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->
Open for good suggestions to test this locally. Else we need to be
ad-hoc when it releases.

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [ ] ⚖️ My code follows the style guidelines of this project
- [x] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [x] ⬆️ I increased versions for any altered app according to semantic
versioning
- [x] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Boemeltrein <130394941+Boemeltrein@users.noreply.github.com>
2025-08-31 20:22:47 +02:00

423 lines
11 KiB
YAML

image:
repository: docker.io/spx01/blocky
tag: v0.26@sha256:b259ada3f943e73283f1fc5e84ac39a791afec7de86515d1aeccc03d2c39e595
pullPolicy: IfNotPresent
k8sgatewayImage:
repository: quay.io/oriedge/k8s_gateway
pullPolicy: IfNotPresent
tag: v0.4.0@sha256:7bdbd447c0244b8f89de9cd6f4826ed0ac66c9406fac3a4ac80081020c251c6b
workload:
main:
replicas: 2
strategy: RollingUpdate
podSpec:
containers:
main:
probes:
liveness:
enabled: false
type: exec
command:
- /app/blocky
- healthcheck
readiness:
enabled: false
type: exec
command:
- /app/blocky
- healthcheck
startup:
enabled: false
type: exec
command:
- /app/blocky
- healthcheck
# -- Blocky Config File content
blockyConfig: {}
# upstream:
# default:
# - 1.1.1.1
# -- some general blocky settings
blocky:
# -- Enable prometheus annotations
enablePrometheus: true
service:
main:
enabled: true
ports:
main:
enabled: true
port: 4000
protocol: http
targetPort: 4000
dns:
enabled: true
ports:
dns:
enabled: true
port: 53
protocol: udp
targetPort: 53
dnstcp:
enabled: true
protocol: tcp
port: "{{ .Values.service.dns.ports.dns.port }}"
targetPort: 53
dot:
enabled: true
ports:
dot:
enabled: true
port: 853
protocol: tcp
targetPort: 853
https:
enabled: true
ports:
https:
enabled: true
port: 4443
protocol: https
targetPort: 4443
k8sgateway:
enabled: true
ports:
k8sgateway:
enabled: true
port: 5353
protocol: udp
targetPort: 5353
# -- Path to cert and key file for SSL encryption. If not set, self-signed certificate will be generated
certFile: ""
keyFile: ""
# -- logging configuration
# Log level (one from trace, debug, info, warn, error)
logLevel: info
# Log format (text or json)
logFormat: text
# log timestamps (true or false)
logTimestamp: true
# Obfuscate log output (replace all alphanumeric characters with *) for user sensitive data like request domains or responses to increase privacy. (true or false)
logPrivacy: false
# -- Mininal TLS version that the DoH and DoT server will use
minTlsServeVersion: 1.2
# -- set the default DNS upstream servers
defaultUpstreams:
# Cloudflare
- 1.1.1.1
- 1.0.0.1
# Google
- 8.8.8.8
- 8.8.4.4
# Quad9
- 9.9.9.9
- 149.112.112.112
# OpenDNS
- 208.67.222.222
- 208.67.220.220
# ComodoSecure DNS
- 8.26.56.26
- 8.20.247.20
# -- set additional upstreams
upstreams:
# - name: group2
# dnsservers:
# - 1.1.1.1
# -- optional: timeout to query the upstream resolver. Default: 1s
upstreamTimeout: 1s
# -- set bootstrap dns (not needed)
# Ensures bootstrap encryption and ensure it doesn't use k8s dns
# When using an upstream specified by IP, and not by hostname, you can write only the upstream and skip ips.
bootstrapDns:
# -- Upstream
upstream: ""
# -- IP's linked to upstream DoT/DoH DNS name
ips: []
# -- set additional bootstrap dns (not needed, only used if bootstrapDns is set)
additionalBootstrapDns: []
# - upstream: ""
# ips: []
# -- Return empty answer for these queries
filtering:
# -- Ensures filtering by query type
queryTypes: []
# -- Set manual custom DNS resolution
customDNS:
customTTL: 1h
filterUnmappedTypes: true
rewrite: []
# - in: something.com
# out: somethingelse.com
mapping: []
# - domain: something.com
# dnsserver: 192.168.178.1
# -- Setup client-name lookup
clientLookup:
# -- upstream used for client-name lookup
upstream: ""
singleNameOrder: []
clients:
# - domain: laptop
# ips: []
# -- Configuration for caching of DNS responsesg
caching:
minTime: 15m
maxTime: 0m
maxItemsCount: 0
prefetching: true
prefetchExpires: 12h
prefetchThreshold: 5
prefetchMaxItemsCount: 0
cacheTimeNegative: 30m
# -- set conditional settings
conditional:
fallbackUpstream: false
rewrite: []
# - in: something.com
# out: somethingelse.com
mapping: []
# - domain: something.com
# dnsserver: 192.168.178.1
# -- set blocking settings using Lists
blocking:
# -- Sets the blocktype
blockType: nxDomain
# -- Sets the block ttl
blockTTL: 6h
# -- Sets the block refreshPeriod
refreshPeriod: 4h
# -- Sets the block download timeout
downloadTimeout: 60s
# -- timeout for list write to disk (each url)
writeTimeout: 60s
# -- timeout for reading the download (each url).
readTimeout: 60s
# -- timeout for reading request headers for the download (each url)
readHeaderTimeout: 60s
# -- Sets the block download attempt count
downloadAttempts: 3
# -- Sets the block download cooldown
downloadCooldown: 5s
# -- Sets how many list-groups can be processed at the same time
processingConcurrency: 8
# -- Set the start strategy (blocking | failOnError | fast)
startStrategy: fast
# -- Number of errors allowed in a list before it is considered invalid
maxErrorsPerSource: 5
# -- Add blocky whitelists
# `default` name is reservered for TrueCharts included default whitelist
# example shows the structure, though name should be changed when used
whitelist:
[]
# - name: default
# lists:
# - https://raw.githubusercontent.com/anudeepND/whitelist/master/domains/optional-list.txt
# - https://raw.githubusercontent.com/anudeepND/whitelist/master/domains/whitelist.txt
# - https://raw.githubusercontent.com/rahilpathan/pihole-whitelist/main/1.LowWL.txt
# -- Blocky blacklists
# `default` name is reservered for TrueCharts included default blacklist
# example shows the structure, though name should be changed when used
blacklist:
[]
# - name: default
# lists:
# - https://big.oisd.nl/domainswild
# -- Blocky clientGroupsBlock
clientGroupsBlock:
- name: default
groups:
- default
- default-ads
- default-tracking
- default-malicious
- default-suspicious
# -- configure using hostsfile for lookups
# Allows for using the hosts configured in kubernetes and such
hostsFile:
enabled: false
sources:
- /etc/hosts
- https://example.com/hosts
- |
# inline hosts
127.0.0.1 example.com
hostsTTL: 1h
filterLoopback: falsr
loading:
refreshPeriod: 4h
downloads:
timeout: 5s
attempts: 3
cooldown: 500ms
concurrency: 4
strategy: blocking
maxErrorsPerSource: 5
podOptions:
automountServiceAccountToken: true
serviceAccount:
main:
# -- Specifies whether a service account should be created
enabled: true
primary: true
# -- Create a ClusterRole and ClusterRoleBinding
# @default -- See below
rbac:
main:
# -- Enables or disables the ClusterRole and ClusterRoleBinding
enabled: true
primary: true
clusterWide: true
# -- Set Rules on the ClusterRole
rules:
- apiGroups:
- ""
resources:
- services
- namespaces
verbs:
- list
- watch
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses
verbs:
- list
- watch
k8sgateway:
enabled: true
# -- TTL for non-apex responses (in seconds)
ttl: 300
# -- Limit what kind of resources to watch, e.g. watchedResources: ["Ingress"]
watchedResources: []
# -- Service name of a secondary DNS server (should be `serviceName.namespace`)
secondary: ""
# -- Override the default `serviceName.namespace` domain apex
apex: ""
# -- list of processed domains
domains: []
# -- Delegated domain
# - domain: "example.com"
# # -- Optional configuration option for DNS01 challenge that will redirect all acme
# # challenge requests to external cloud domain (e.g. managed by cert-manager)
# # See: https://cert-manager.io/docs/configuration/acme/dns01/
# dnsChallenge:
# enabled: false
# domain: dns01.clouddns.com
forward:
enabled: false
primary: tls://1.1.1.1
secondary: tls://1.0.0.1
options:
- name: tls_servername
value: cloudflare-dns.com
configmap:
dashboard:
enabled: true
labels:
grafana_dashboard: "1"
data:
blocky.json: >-
{{ .Files.Get "dashboard.json" | indent 8 }}
blockypostgres.json: >-
{{ .Files.Get "dashboardpsql.json" | indent 8 }}
datasource:
enabled: true
labels:
grafana_datasource: "1"
data:
datasourceblockypsql.yaml: |-
apiVersion: 1
datasources:
- name: BlockyPostgres
type: postgres
uid: blockypostgres
url: {{ printf "%s.%s:5432" (.Values.cnpg.main.creds.host | trimAll "\"") .Release.Namespace }}
access: proxy
user: {{ .Values.cnpg.main.user }}
secureJsonData:
password: {{ .Values.cnpg.main.creds.password | default "na" }}
jsonData:
database: {{ .Values.cnpg.main.database }}
sslmode: 'disable' # disable/require/verify-ca/verify-full
maxOpenConns: 100 # Grafana v5.4+
maxIdleConns: 100 # Grafana v5.4+
maxIdleConnsAuto: true # Grafana v9.5.1+
connMaxLifetime: 14400 # Grafana v5.4+
postgresVersion: 1500 # 903=9.3, 904=9.4, 905=9.5, 906=9.6, 1000=10
timescaledb: false
metrics:
main:
# -- Enable and configure a Prometheus serviceMonitor for the chart under this key.
# @default -- See values.yaml
enabled: true
type: "servicemonitor"
endpoints:
- port: main
path: /metrics
# -- Enable and configure Prometheus Rules for the chart under this key.
# @default -- See values.yaml
prometheusRule:
enabled: false
labels: {}
# -- Configure additionial rules for the chart under this key.
# @default -- See prometheusrules.yaml
rules: []
# - alert: UnifiPollerAbsent
# annotations:
# description: Unifi Poller has disappeared from Prometheus service discovery.
# summary: Unifi Poller is down.
# expr: |
# absent(up{job=~".*unifi-poller.*"} == 1)
# for: 5m
# labels:
# severity: critical
redis:
enabled: true
# CANNOT be defined in above yaml section
queryLog:
# optional one of: mysql, postgresql, csv, csv-client. If empty, log to console
type: "postgresql"
# directory (should be mounted as volume in docker) for csv, db connection string for mysql, ignored for included postgresql
# target: /var/log/something
# postgresql target: postgres://user:password@db_host_or_ip:5432/db_name
# if > 0, deletes log files which are older than ... days
logRetentionDays: 0
# optional: Max attempts to create specific query log writer, default: 3
creationAttempts: 3
# optional: Time between the creation attempts, default: 2s
creationCooldown: 2s
cnpg:
main:
enabled: true
user: blocky
database: blocky