migrate(technitium) migrate technitium to new common. **BREAKING CHANGES** (#10112)

**Description**
migrate app to new common, bump app version and housekeeping.

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

**⚙️ Type of change**

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

**🧪 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
-->

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

**✔️ Checklist:**

- [X] ⚖️ 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 corresponding changes to the documentation
- [ ] ⚠️ My changes generate no new warnings
- [ ] 🧪 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

** App addition**

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

- [ ] 🪞 I have opened a PR on
[truecharts/containers](https://github.com/truecharts/containers) adding
the container to TrueCharts mirror repo.
- [ ] 🖼️ 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._
This commit is contained in:
Xstar97TheNoob
2023-07-03 23:07:25 +03:00
committed by GitHub
parent e2e43c6312
commit ccbe14a92d
5 changed files with 204 additions and 191 deletions
+3 -3
View File
@@ -1,9 +1,9 @@
apiVersion: v2 apiVersion: v2
appVersion: "8.1" appVersion: "11.3.0"
dependencies: dependencies:
- name: common - name: common
repository: https://library-charts.truecharts.org repository: https://library-charts.truecharts.org
version: 11.1.2 version: 12.14.6
deprecated: false deprecated: false
description: Technitium DNS Server is an open source authoritative as well as recursive DNS server that can be used for self hosting a DNS server for privacy & security. description: Technitium DNS Server is an open source authoritative as well as recursive DNS server that can be used for self hosting a DNS server for privacy & security.
home: https://truecharts.org/charts/incubator/technitium home: https://truecharts.org/charts/incubator/technitium
@@ -21,7 +21,7 @@ sources:
- https://github.com/TechnitiumSoftware/DnsServer - https://github.com/TechnitiumSoftware/DnsServer
- https://technitium.com/ - https://technitium.com/
type: application type: application
version: 3.0.11 version: 4.0.0
annotations: annotations:
truecharts.org/catagories: | truecharts.org/catagories: |
- networking - networking
+42 -35
View File
@@ -14,54 +14,44 @@ questions:
# Include{replicas1} # Include{replicas1}
# Include{podSpec} # Include{podSpec}
# Include{containerMain} # Include{containerMain}
# Include{containerBasic}
# Include{containerAdvanced}
- variable: secretEnv - variable: env
group: "App Configuration" label: Image Environment
label: "Image Secrets"
schema: schema:
additional_attrs: true additional_attrs: true
type: dict type: dict
attrs: attrs:
- variable: DNS_SERVER_ADMIN_PASSWORD - variable: DNS_SERVER_ADMIN_PASSWORD
label: "DNS_SERVER_ADMIN_PASSWORD" label: "DNS Server Admin Password"
description: "DNS web console admin user password." description: "DNS web console admin user password."
schema: schema:
type: string type: string
default: ""
private: true private: true
required: true default: ""
- variable: env
group: "App Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: DNS_SERVER_DOMAIN - variable: DNS_SERVER_DOMAIN
label: "DNS_SERVER_DOMAIN" label: "DNS Server Domain"
description: "The primary domain name used by this DNS Server to identify itself." description: "The primary domain name used by this DNS Server to identify itself."
schema: schema:
type: string type: string
default: "dns-server"
required: true required: true
default: "dns-server"
- variable: DNS_SERVER_PREFER_IPV6 - variable: DNS_SERVER_PREFER_IPV6
label: "DNS_SERVER_PREFER_IPV6" label: "DNS Server Prefer IpV6"
description: "DNS Server will use IPv6 for querying whenever possible with this option enabled." description: "DNS Server will use IPv6 for querying whenever possible with this option enabled."
schema: schema:
type: boolean type: boolean
default: false default: false
- variable: DNS_SERVER_OPTIONAL_PROTOCOL_DNS_OVER_HTTP - variable: DNS_SERVER_OPTIONAL_PROTOCOL_DNS_OVER_HTTP
label: "DNS_SERVER_OPTIONAL_PROTOCOL_DNS_OVER_HTTP" label: "DNS Server Optional Protocol DNS Over HTTP"
description: "Enables DNS server optional protocol DNS-over-HTTP on TCP port 8053 to be used with a TLS terminating reverse proxy like nginx." description: "Enables DNS server optional protocol DNS-over-HTTP on TCP port 8053 to be used with a TLS terminating reverse proxy like nginx."
schema: schema:
type: boolean type: boolean
default: false default: false
- variable: DNS_SERVER_RECURSION - variable: DNS_SERVER_RECURSION
label: "DNS_SERVER_RECURSION" label: "DNS Server Recursion"
schema: schema:
type: string type: string
required: true
default: "AllowOnlyForPrivateNetworks" default: "AllowOnlyForPrivateNetworks"
enum: enum:
- value: "AllowOnlyForPrivateNetworks" - value: "AllowOnlyForPrivateNetworks"
@@ -73,46 +63,46 @@ questions:
- value: "Deny" - value: "Deny"
description: "Deny" description: "Deny"
- variable: DNS_SERVER_RECURSION_DENIED_NETWORKS - variable: DNS_SERVER_RECURSION_DENIED_NETWORKS
label: "DNS_SERVER_RECURSION_DENIED_NETWORKS" label: "DNS Server Recursion Denied Networks"
description: "Comma separated list of IP addresses or network addresses to deny recursion. Valid only for UseSpecifiedNetworks recursion option." description: "Comma separated list of IP addresses or network addresses to deny recursion. Valid only for UseSpecifiedNetworks recursion option."
schema: schema:
show_if: [["DNS_SERVER_RECURSION", "=", "UseSpecifiedNetworks"]] show_if: [["DNS_SERVER_RECURSION", "=", "UseSpecifiedNetworks"]]
type: string type: string
required: true
default: "1.1.1.0/24" default: "1.1.1.0/24"
- variable: DNS_SERVER_RECURSION_ALLOWED_NETWORKS - variable: DNS_SERVER_RECURSION_ALLOWED_NETWORKS
label: "DNS_SERVER_RECURSION_ALLOWED_NETWORKS" label: "DNS Server Recursion Allowed Networks"
description: "Comma separated list of IP addresses or network addresses to allow recursion. Valid only for `UseSpecifiedNetworks` recursion option." description: "Comma separated list of IP addresses or network addresses to allow recursion. Valid only for UseSpecifiedNetworks recursion option."
schema: schema:
show_if: [["DNS_SERVER_RECURSION", "=", "UseSpecifiedNetworks"]] show_if: [["DNS_SERVER_RECURSION", "=", "UseSpecifiedNetworks"]]
type: string type: string
default: "127.0.0.1, 192.168.1.0/24" required: true
default: "1.1.1.0/24"
- variable: DNS_SERVER_ENABLE_BLOCKING - variable: DNS_SERVER_ENABLE_BLOCKING
label: "DNS_SERVER_ENABLE_BLOCKING" label: "DNS Server Enable BLocking"
description: "Sets the DNS server to block domain names using Blocked Zone and Block List Zone." description: "Sets the DNS server to block domain names using Blocked Zone and Block List Zone."
schema: schema:
type: boolean type: boolean
default: false default: false
- variable: DNS_SERVER_ALLOW_TXT_BLOCKING_REPORT - variable: DNS_SERVER_ALLOW_TXT_BLOCKING_REPORT
label: "DNS_SERVER_ALLOW_TXT_BLOCKING_REPORT" label: "DNS Server Allow TXT Blocking Report"
description: "Specifies if the DNS Server should respond with TXT records containing a blocked domain report for TXT type requests." description: "Specifies if the DNS Server should respond with TXT records containing a blocked domain report for TXT type requests."
schema: schema:
type: boolean type: boolean
default: false default: false
- variable: DNS_SERVER_FORWARDERS - variable: DNS_SERVER_FORWARDERS
label: "DNS_SERVER_FORWARDERS" label: "DNS Server Forwarders"
description: "Comma separated list of forwarder addresses." description: "Comma separated list of forwarder addresses."
schema: schema:
type: string type: string
default: "1.1.1.1, 8.8.8.8" default: "1.1.1.1,8.8.8.8"
- variable: DNS_SERVER_FORWARDER_PROTOCOL - variable: DNS_SERVER_FORWARDER_PROTOCOL
label: "DNS_SERVER_FORWARDER_PROTOCOL" label: "DNS Server Forwarder Protocol"
description: "Forwarder protocol options: Udp, Tcp, Tls, Https, HttpsJson."
schema: schema:
type: string type: string
required: true
default: "Tcp" default: "Tcp"
enum: enum:
- value: "AllowOnlyForPrivateNetworks"
description: "AllowOnlyForPrivateNetworks"
- value: "Udp" - value: "Udp"
description: "Udp" description: "Udp"
- value: "Tcp" - value: "Tcp"
@@ -123,6 +113,10 @@ questions:
description: "Https" description: "Https"
- value: "HttpsJson" - value: "HttpsJson"
description: "HttpsJson" description: "HttpsJson"
# Include{containerBasic}
# Include{containerAdvanced}
# Include{containerConfig} # Include{containerConfig}
# Include{serviceRoot} # Include{serviceRoot}
- variable: main - variable: main
@@ -169,9 +163,9 @@ questions:
type: int type: int
default: 53 default: 53
required: true required: true
- variable: dns-tcp - variable: dns
label: "DNS-TCP Service" label: "DNS Service"
description: "DNS-TCP Service" description: "DNS Service"
schema: schema:
additional_attrs: true additional_attrs: true
type: dict type: dict
@@ -191,6 +185,19 @@ questions:
type: int type: int
default: 53 default: 53
required: true required: true
- variable: dns-udp
label: "DNS-UDP Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 53
required: true
- variable: dns-tls - variable: dns-tls
label: "DNS-TLS Service" label: "DNS-TLS Service"
description: "DNS-TLS Service" description: "DNS-TLS Service"
@@ -0,0 +1 @@
{{- include "tc.v1.common.lib.chart.notes" $ -}}
@@ -1 +1 @@
{{- include "tc.common.loader.all" . }} {{ include "tc.v1.common.loader.all" . }}
+78 -73
View File
@@ -1,96 +1,101 @@
image: image:
repository: tccr.io/truecharts/technitium repository: tccr.io/truecharts/technitium
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
tag: v8.1@sha256:bd2688162b50a76c0cd526ed6f70a1561f520041f726b9ea655e0d1796947e9e tag: v11.3.0@sha256:e7a2cc08975130129dd6c31058af58b32c22336d752242d623acbbf045698046
securityContext: securityContext:
readOnlyRootFilesystem: false container:
runAsNonRoot: false runAsNonRoot: false
readOnlyRootFilesystem: false
allowPrivilegeEscalation: true allowPrivilegeEscalation: true
podSecurityContext:
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0
secretEnv:
DNS_SERVER_ADMIN_PASSWORD: "password"
env:
DNS_SERVER_DOMAIN: "dns-server"
DNS_SERVER_PREFER_IPV6: false
DNS_SERVER_OPTIONAL_PROTOCOL_DNS_OVER_HTTP: false
DNS_SERVER_RECURSION: "AllowOnlyForPrivateNetworks"
DNS_SERVER_RECURSION_DENIED_NETWORKS: "1.1.1.0/24"
DNS_SERVER_RECURSION_ALLOWED_NETWORKS: "127.0.0.1, 192.168.1.0/24"
DNS_SERVER_ENABLE_BLOCKING: false
DNS_SERVER_ALLOW_TXT_BLOCKING_REPORT: false
DNS_SERVER_FORWARDERS: "1.1.1.1, 8.8.8.8"
DNS_SERVER_FORWARDER_PROTOCOL: "Tcp"
service:
main:
ports:
main:
port: 5380
targetPort: 5380
dns-tcp:
enabled: true
ports:
dns-tcp:
enabled: true
port: 53
targetPort: 53
dns-udp:
enabled: true
ports:
dns-udp:
enabled: true
protocol: UDP
port: 53
targetPort: 53
dns-tls:
enabled: true
ports:
dns-tls:
enabled: true
protocol: TCP
port: 853
targetPort: 853
dns-cert:
enabled: true
ports:
dns-cert:
enabled: true
protocol: TCP
port: 10202
targetPort: 80
dns-https:
enabled: true
ports:
dns-https:
enabled: true
protocol: TCP
port: 10203
targetPort: 443
dns-https-proxy:
enabled: true
ports:
dns-https-proxy:
enabled: true
protocol: TCP
port: 10204
targetPort: 8053
# Not sure if those will work on k8s # Not sure if those will work on k8s
# - "443:443/tcp" #DNS-over-HTTPS service # - "443:443/tcp" #DNS-over-HTTPS service
# - "80:80/tcp" #DNS-over-HTTPS service certbot certificate renewal # - "80:80/tcp" #DNS-over-HTTPS service certbot certificate renewal
# Note sure if this will work with traefik # Note sure if this will work with traefik
# - "8053:8053/tcp" #DNS-over-HTTPS using reverse proxy # - "8053:8053/tcp" #DNS-over-HTTPS using reverse proxy
service:
main:
ports:
main:
port: 5380
dns:
enabled: true
ports:
dns-tcp:
enabled: true
port: 53
targetPort: 53
dns-udp:
enabled: true
protocol: udp
port: 53
targetPort: 53
dns-tls:
enabled: true
ports:
dns-tls:
enabled: true
protocol: tcp
port: 853
targetPort: 853
dns-cert:
enabled: true
ports:
dns-cert:
enabled: true
protocol: tcp
port: 10202
targetPort: 80
dns-https:
enabled: true
ports:
dns-https:
enabled: true
protocol: tcp
port: 10203
targetPort: 443
dns-https-proxy:
enabled: true
ports:
dns-https-proxy:
enabled: true
protocol: tcp
port: 10204
targetPort: 8053
workload:
main:
podSpec:
containers:
main:
env:
DNS_SERVER_WEB_SERVICE_HTTP_PORT: "{{ .Values.service.main.ports.main.port }}"
DNS_SERVER_ADMIN_PASSWORD: "password"
DNS_SERVER_DOMAIN: "dns-server"
DNS_SERVER_PREFER_IPV6: false
DNS_SERVER_OPTIONAL_PROTOCOL_DNS_OVER_HTTP: false
DNS_SERVER_WEB_SERVICE_ENABLE_HTTPS: false
DNS_SERVER_WEB_SERVICE_USE_SELF_SIGNED_CERT: false
# Allow, Deny, AllowOnlyForPrivateNetworks, UseSpecifiedNetworks
DNS_SERVER_RECURSION: "AllowOnlyForPrivateNetworks"
DNS_SERVER_RECURSION_DENIED_NETWORKS: "1.1.1.0/24"
DNS_SERVER_RECURSION_ALLOWED_NETWORKS: "127.0.0.1, 192.168.1.0/24"
DNS_SERVER_ENABLE_BLOCKING: false
DNS_SERVER_ALLOW_TXT_BLOCKING_REPORT: false
DNS_SERVER_BLOCK_LIST_URLS: ""
DNS_SERVER_FORWARDERS: "1.1.1.1,8.8.8.8"
# Udp, Tcp, Tls, Https, HttpsJson
DNS_SERVER_FORWARDER_PROTOCOL: "Tcp"
persistence: persistence:
config: config:
enabled: true enabled: true
mountPath: "/etc/dns/config" mountPath: "/etc/dns/config"
portal: portal:
open:
enabled: true enabled: true