Files
homelab/cluster/external-dns/cloudflare.yaml

73 lines
2.3 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: external-dns-cloudflare
spec:
strategy:
type: Recreate
selector:
matchLabels:
app: external-dns
template:
metadata:
labels:
app: external-dns
spec:
serviceAccountName: external-dns
containers:
- name: cloudflare
image: registry.k8s.io/external-dns/external-dns:v0.15.0
args:
# - --source=service # ingress is also possible
- --source=ingress
- --ingress-class=nginx
- --domain-filter=mk-labs.cloud # (optional) limit to only example.com domains; change to match the zone created above.
- --provider=cloudflare
# - --cloudflare-proxied # (optional) enable the proxy feature of Cloudflare (DDOS protection, CDN...)
- --cloudflare-dns-records-per-page=5000 # (optional) configure how many DNS records to fetch per request
- --policy=sync # or upsert-only
env:
- name: CF_API_TOKEN
valueFrom:
secretKeyRef:
name: cloudflare-api-token
key: api-token
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: external-dns-cloudflare-monetnaildesign
spec:
strategy:
type: Recreate
selector:
matchLabels:
app: external-dns-monetnaildesign
template:
metadata:
labels:
app: external-dns-monetnaildesign
spec:
serviceAccountName: external-dns
containers:
- name: cloudflare
image: registry.k8s.io/external-dns/external-dns:v0.15.0
args:
# - --source=service # ingress is also possible
- --source=ingress
- --ingress-class=nginx
- --domain-filter=monetnaildesign.com # (optional) limit to only example.com domains; change to match the zone created above.
- --provider=cloudflare
# - --cloudflare-proxied # (optional) enable the proxy feature of Cloudflare (DDOS protection, CDN...)
- --cloudflare-dns-records-per-page=5000 # (optional) configure how many DNS records to fetch per request
- --policy=sync # or upsert-only
env:
- name: CF_API_TOKEN
valueFrom:
secretKeyRef:
name: cloudflare-api-token
key: api-token