feat: add external-dns for managing public DNS records (#288)

This commit is contained in:
Devin Buhl authored and GitHub committed 2022-04-16 00:04:38 -04:00
1 parent c62dcbe8da
commit 6cbfd7cb9c
8 files changed
+86 -24

No files matched your search

@@ -30,6 +30,8 @@ spec:
enabled: true
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-production"
external-dns.alpha.kubernetes.io/target: "ipv4.${SECRET_DOMAIN}"
external-dns/is-public: "true"
hajimari.io/enable: "true"
hajimari.io/icon: "video-input-antenna"
traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
@@ -0,0 +1,50 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: external-dns
namespace: networking
spec:
interval: 5m
chart:
spec:
chart: external-dns
version: 1.8.0
sourceRef:
kind: HelmRepository
name: external-dns-charts
namespace: flux-system
interval: 5m
install:
createNamespace: true
values:
interval: 5m
logLevel: debug
provider: cloudflare
env:
- name: CF_API_EMAIL
valueFrom:
secretKeyRef:
name: external-dns-cloud-credentials
key: email
- name: CF_API_KEY
valueFrom:
secretKeyRef:
name: external-dns-cloud-credentials
key: api-key
extraArgs:
- --cloudflare-proxied
- --annotation-filter=external-dns/is-public in (true)
policy: sync
sources:
- ingress
txtPrefix: "k8s."
txtOwnerId: "default"
domainFilters:
- "${SECRET_DOMAIN}"
resources:
requests:
memory: 100Mi
cpu: 25m
limits:
memory: 250Mi
@@ -0,0 +1,6 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helm-release.yaml
- secret.sops.yaml
@@ -3,5 +3,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- cloudflare-ddns
- external-dns
- k8s-gateway
- traefik