apiVersion: apps/v1 kind: Deployment metadata: name: cloudflare-ddns namespace: cloudflare-ddns spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: cloudflare-ddns strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: labels: app: cloudflare-ddns spec: containers: - env: - name: CF_API_TOKEN valueFrom: secretKeyRef: key: CF_API_TOKEN name: cloudflare-ddns-secret-infisical - name: DOMAINS value: chemavx.xyz,*.chemavx.xyz,zonadeexclusion.com,*.zonadeexclusion.com,theexclusionzone.com,www.theexclusionzone.com,*.theexclusionzone.com - name: PROXIED value: is(theexclusionzone.com,www.theexclusionzone.com) - name: UPDATE_CRON value: '@every 5m' - name: IP4_PROVIDER value: cloudflare.trace # Aquí no hay IPv6: la única dirección IPv6 global de los nodos es la ULA # de Tailscale (fd7a:115c:a1e0::/48) y no hay ruta a internet por v6. Sin # esto, IP6_PROVIDER cae por defecto en cloudflare.trace y cada ciclo de # 5 min gastaba los 5s de DETECTION_TIMEOUT para acabar en error. No se # pierde ningún registro: no hay AAAA de origen que mantener (los AAAA de # theexclusionzone.com los sintetiza Cloudflare por ser proxied). - name: IP6_PROVIDER value: none image: favonia/cloudflare-ddns:1.16.2 imagePullPolicy: Always name: cloudflare-ddns resources: limits: cpu: 50m memory: 64Mi requests: cpu: 10m memory: 32Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsGroup: 1000 runAsNonRoot: true runAsUser: 1000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30