apiVersion: apps/v1
kind: Deployment
metadata:
  name: external-dns
  namespace: ingress-system
spec:
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app.kubernetes.io/name: external-dns
  template:
    metadata:
      labels:
        app.kubernetes.io/name: external-dns
    spec:
      containers:
        - name: external-dns
          image: registry.k8s.io/external-dns/external-dns:v0.15.1
          args:
            - --source=crd
            - --provider=cloudflare
            - --domain-filter=royalcat.dev
            - --domain-filter=konfa.ch
            - --domain-filter=kmsign.ru
            - --managed-record-types=A
            - --managed-record-types=CNAME
            - --managed-record-types=NS
          env:
            - name: CF_API_TOKEN
              valueFrom:
                secretKeyRef:
                  name: cloudflare-api-token
                  key: apiToken
---
# Source: external-dns/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: external-dns
  namespace: ingress-system
  labels:
    app.kubernetes.io/name: external-dns
spec:
  type: ClusterIP
  selector:
    app.kubernetes.io/name: external-dns
    app.kubernetes.io/instance: release-name
  ports:
    - name: http
      port: 7979
      targetPort: http
      protocol: TCP