1 parent
92917fdbed
commit
f488727508
3 files changed
+12
-13
No files matched your search
@@ -36,7 +36,8 @@ Each line points at the package that implements it.
|
|||||||
|
|
||||||
Requirements: Go 1.27 (the `go` directive in `go.mod`), Node 22 for the console
|
Requirements: Go 1.27 (the `go` directive in `go.mod`), Node 22 for the console
|
||||||
build, and a privileged port (53/443/853) or `CAP_NET_BIND_SERVICE` for the
|
build, and a privileged port (53/443/853) or `CAP_NET_BIND_SERVICE` for the
|
||||||
default listener set.
|
default listener set. Listener addresses are configurable; high ports can be
|
||||||
|
used when the process should not need that capability.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone <this repository> fancy-dns && cd fancy-dns
|
git clone <this repository> fancy-dns && cd fancy-dns
|
||||||
|
|||||||
@@ -21,17 +21,19 @@ data:
|
|||||||
list_fetch: 60s
|
list_fetch: 60s
|
||||||
|
|
||||||
dns:
|
dns:
|
||||||
udp: ["0.0.0.0:53", "[::]:53"]
|
# Use high ports in the pod so the container needs no privileged-port
|
||||||
tcp: ["0.0.0.0:53", "[::]:53"]
|
# capability. Services expose the standard DNS ports to clients.
|
||||||
|
udp: ["0.0.0.0:1053", "[::]:1053"]
|
||||||
|
tcp: ["0.0.0.0:1053", "[::]:1053"]
|
||||||
max_udp_size: 1232
|
max_udp_size: 1232
|
||||||
dot:
|
dot:
|
||||||
enabled: true
|
enabled: true
|
||||||
listen: ["0.0.0.0:853"]
|
listen: ["0.0.0.0:1853"]
|
||||||
cert_file: /etc/fancy-dns/tls/tls.crt
|
cert_file: /etc/fancy-dns/tls/tls.crt
|
||||||
key_file: /etc/fancy-dns/tls/tls.key
|
key_file: /etc/fancy-dns/tls/tls.key
|
||||||
doh:
|
doh:
|
||||||
enabled: true
|
enabled: true
|
||||||
listen: ["0.0.0.0:443"]
|
listen: ["0.0.0.0:8443"]
|
||||||
cert_file: /etc/fancy-dns/tls/tls.crt
|
cert_file: /etc/fancy-dns/tls/tls.crt
|
||||||
key_file: /etc/fancy-dns/tls/tls.key
|
key_file: /etc/fancy-dns/tls/tls.key
|
||||||
base_path: /dns-query
|
base_path: /dns-query
|
||||||
|
|||||||
@@ -75,16 +75,16 @@ spec:
|
|||||||
key: api-key
|
key: api-key
|
||||||
ports:
|
ports:
|
||||||
- name: dns-udp
|
- name: dns-udp
|
||||||
containerPort: 53
|
containerPort: 1053
|
||||||
protocol: UDP
|
protocol: UDP
|
||||||
- name: dns-tcp
|
- name: dns-tcp
|
||||||
containerPort: 53
|
containerPort: 1053
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
- name: dot
|
- name: dot
|
||||||
containerPort: 853
|
containerPort: 1853
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
- name: doh
|
- name: doh
|
||||||
containerPort: 443
|
containerPort: 8443
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
- name: admin
|
- name: admin
|
||||||
containerPort: 8080
|
containerPort: 8080
|
||||||
@@ -94,10 +94,6 @@ spec:
|
|||||||
readOnlyRootFilesystem: true
|
readOnlyRootFilesystem: true
|
||||||
capabilities:
|
capabilities:
|
||||||
drop: ["ALL"]
|
drop: ["ALL"]
|
||||||
# Only because of the low ports. The pod is not privileged and
|
|
||||||
# has no other capability left; drop the Service and the
|
|
||||||
# Capability together if you move the listeners off 53/443.
|
|
||||||
add: ["NET_BIND_SERVICE"]
|
|
||||||
# Liveness: the process is up. /api/healthz is unauthenticated on
|
# Liveness: the process is up. /api/healthz is unauthenticated on
|
||||||
# purpose, because a probe cannot carry an API key.
|
# purpose, because a probe cannot carry an API key.
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
|
|||||||
Reference in new issue
Block a user