diff --git a/apps/k8s01/dns/certificate.yaml b/apps/k8s01/dns/certificate.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4d59f2bb69409cb9a3a9c7507cfb8fbe7fa7cb97 --- /dev/null +++ b/apps/k8s01/dns/certificate.yaml @@ -0,0 +1,64 @@ +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: dns-tls + namespace: dns +spec: + dnsNames: + - ENC[AES256_GCM,data:GtyHvjuP4PX0aDUSigwUp/Ve3e1olrU=,iv:tElxtT7/m5iZjcdEdHkX2OFABM8sK+36Yz6UU89vyo8=,tag:bvwGnGIo5uI19pWISjs62Q==,type:str] + issuerRef: + name: letsencrypt + kind: ClusterIssuer + secretName: ingress-dns-tls +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2022-06-07T20:01:49Z" + mac: ENC[AES256_GCM,data:cpdWt9cPPYL9uV0/14WXLCqwB6LzVbTNsJyzrX/7kHy1rQXh9X/5bi0+KIsf0fYwBoHwZZ9j4Tlsf280Ce89Pjw2ewwnSoygPWECA7wMmt9EesAOPDYACoPLsIStCu/ZOxFGfe79NVVlO3UKdIgjUwfAk8WCcv+jJrvGpIgkFy0=,iv:6jMHh6uh+fOF3ym1Ko2Gpyi7exMFlVm717nCJAZIvdU=,tag:TvP36Ny9yXga0BChfTBTIg==,type:str] + pgp: + - created_at: "2022-01-21T18:13:48Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA7kpg2bgzVHcARAAHhDshl1OJqNRUolNvbIXzOuDzssJnvyi6cIZuMmVMsxf + a6wAWAtYOehvtn1ODL7/h4fIpBtfp7d8VuwfJSrh3ghUeiOl3zRzQbmaFA2L5/iG + Jd94tFAVwIl30qjcYqGVB2RF27VF1RElzgDLQh3hiXn1hDC+WmNSnBF5hwnwCFOL + wM4BHuE2AB4TX3PlYSo1n71VSzcCqRzbIxelZasYLnJQVL0VE6AjEd/fHS468R8N + aZ3mhmHW3sWzuLHNREMD2Q3ghkguLhau0VoETlYRI9103I4k7/khFrhAj5l2/PUr + 2SWgpXyRqXVaKPeTiQs3QR8B5jNq3BlZj6Celw5Ig/wx3LY0EhI9e9WFgtSlZxM+ + 2yk65HQGvTIgsbys/z/0skA9vqik9csFRsH9iK42E/+XLvoAT6yxyl0cv1kBEyAS + ggPmKOq8+CT+voHzuh8kZHq9Sa8kH5xL1DQLzX2yIruV3OhTPSK+VlDpjUbycmI2 + qR1oCo/snOJwwwvfl9vu0B8FCwhrz8554ZQBErFfJl6GFiUV8LElRlZh5S9Jiysr + nYJS5gxrcvjF/0Y6EHEfWDRDxvCHoWQpWhl2hRkh5UlQKH0ab+QWLYpISyNJxjfl + orQJdaVX3BQwhqMLwiMLGoaNGrSpmxXveLOZmsdK0obXC67lyE6ZM/Wy6gx2dFnS + 5gFdXCLzQmmjYK8gIlsejQdnxZI2qWavZIN9T70OZQGaDE/S+U1uxKjuGBM7HTcP + 7f1nUa6z96A9ydWs1xHjtm7k172V16PMSrvjQ8KLhFJd9eJDq3ksAA== + =XgF6 + -----END PGP MESSAGE----- + fp: 286791FB6648539775DB31B8FCB98C2A3EC6F601 + - created_at: "2022-01-21T18:13:48Z" + enc: | + -----BEGIN PGP MESSAGE----- + + hQIMA4oYbIHZIrAPAQ//S/9rOkbd3beNH20dxgZ7VuZxgnjiV3Hd3om717njcMm2 + kCfTJ3AmpLtQsT2s1W221tIyCwtHOobj82ANP9KzNi4e6v3LlNTIVHTQiHXk9KJP + AX6JoCOLu3bAI0xcdApNBU2wAlHBVC+T4BUfhPqD5AdHpW++e1qUIsM/6TViunHj + BWoIA0bpXqyOhTm1GbkJrHMgczJn2qgR5lBf8wgGmASd8jlNyfA7SxoKHj8sl/Ji + nucP/90dmyD2eBIJYdYS3anJYa2uP96oioG5xxIyfppnL5dwozDAit3Z5vvnBZNb + 1rrpUnN8H0cCcaj7tmDEmjGfjGwxLKegQRZX7Pg5hwaaOOPGheXf8Ip/DpDf6T0n + Sq24X6DC5gD1RBU+YY6ZayMt/OKpVVVwRlY4BTDIUe4M+ecK/fve5vpDW2M+KWMc + pOkO1B09/prsX0w5XjFh8hb/6HlDDhomiB+BszcRCUDzocRzSEIFwMf7/iTaExe8 + 2fKCCHB4kHo6GHpydlQOpnGMOvDmiNKopXxTkFQUFQjyRmHGXf/u79JNXBjHkniv + ZiokjTEarwMp68dyiaL4L/5Uk+4NG3MetobqSaeW2TbeBwif3G2eFleYscz7QPIR + 5ZBBhU/CoUEz2Xge6t8rlp8PNcQ1yq/R+tZjaeqIIT4++ZxCErhA0lsxyFrgLefU + aAEJAhD7hR3IMDGN2zOZSiw1IBz9P8Jss/oERQiuVpe/eTv5Vqj9vuL+koKftwnF + vSVkNo0fLwNLtnU659Mkoj9utoUL9tAhcCMpP3NehKkBG5RjF9crnIP6zT3lvVU0 + GYyW4Lsfrt/a + =FfV+ + -----END PGP MESSAGE----- + fp: B137EE1549DFAF960DD1E2B15147025FB9F09E07 + encrypted_regex: ^(data|stringData|email|dnsZones?|dnsNames?|hosts?|tang|externalURL)$ + version: 3.7.1 diff --git a/apps/k8s01/dns/dns.yaml b/apps/k8s01/dns/dns.yaml index 09cc2300da9c2f39f77d98264ba2baa50142916a..cf13ff5dfca7679f7144c09ded546d134a0f236a 100644 --- a/apps/k8s01/dns/dns.yaml +++ b/apps/k8s01/dns/dns.yaml @@ -27,11 +27,17 @@ spec: - --cache-size=100663296 - --cache-min-ttl=300 - --cache-optimistic + # Enable DoT + - --tls-port=853 + - --tls-crt=/etc/pki/dnsproxy/tls.crt + - --tls-key=/etc/pki/dnsproxy/tls.key ports: - containerPort: 53 protocol: TCP - containerPort: 53 protocol: UDP + - containerPort: 853 + protocol: TCP resources: requests: cpu: 100m @@ -39,7 +45,16 @@ spec: limits: cpu: 100m memory: 256Mi + volumeMounts: + - name: tls-secret + mountPath: "/etc/pki/dnsproxy" + readOnly: true automountServiceAccountToken: false + volumes: + - name: tls-secret + secret: + secretName: ingress-dns-tls + optional: false --- apiVersion: v1 kind: Service @@ -73,6 +88,22 @@ spec: port: 53 targetPort: 53 --- +apiVersion: v1 +kind: Service +metadata: + name: dns-over-tls + annotations: + metallb.universe.tf/allow-shared-ip: "dns" +spec: + type: LoadBalancer + selector: + app: resolver + ports: + - name: dns-over-tls + protocol: TCP + port: 853 + targetPort: 853 +--- apiVersion: policy/v1 kind: PodDisruptionBudget metadata: diff --git a/apps/k8s01/dns/kustomization.yaml b/apps/k8s01/dns/kustomization.yaml index d2a1ad9fdc61948021617419a40476f5449b6791..a98025ae1eb4d477c511ef3d55dee260f198f048 100644 --- a/apps/k8s01/dns/kustomization.yaml +++ b/apps/k8s01/dns/kustomization.yaml @@ -3,6 +3,7 @@ kind: Kustomization namespace: dns resources: - namespace.yaml + - certificate.yaml - dns.yaml - networkpolicy.yaml - ../../../shared/networkpolicies/allow-from-same-namespace.yaml