apiVersion: batch/v1 kind: CronJob metadata: name: ddns-cronjob spec: schedule: "0 6,18 * * *" jobTemplate: spec: template: spec: containers: - name: hello image: curl command: - /bin/sh - -c args: - >- CURRENT_IP=$(curl -4 ifconfig.me) && echo "Current IP: $CURRENT_IP" && curl https://ntfy.kluster.moll.re/kluster_ip -H "Title: Kluster IP" -d "Currently: $(CURRENT_IP)" && curl --request PUT --url https://api.cloudflare.com/client/v4/zones/$(CLOUDFLARE_ZONE_ID)/dns_records/$(CLOUDFLARE_DNS_RECORD_ID) --header "Authorization: Bearer $(CLOUDFLARE_API_KEY)" --header "Content-Type: application/json" --data '{"content": "$(CURRENT_IP)", "name": "$(KLUSTER_DOMAIN)", "proxied": false, "type": "A"}' && echo "Updated $(KLUSTER_DOMAIN) to $(CURRENT_IP) successfully" env: - name: CLOUDFLARE_ZONE_ID valueFrom: secretKeyRef: name: cloudflare-keys key: CLOUDFLARE_ZONE_ID - name: CLOUDFLARE_API_KEY valueFrom: secretKeyRef: name: cloudflare-keys key: CLOUDFLARE_API_KEY - name: CLOUDFLARE_DNS_RECORD_ID valueFrom: secretKeyRef: name: cloudflare-keys key: CLOUDFLARE_DNS_RECORD_ID - name: KLUSTER_DOMAIN valueFrom: secretKeyRef: name: cloudflare-keys key: KLUSTER_DOMAIN - name: CURRENT_IP value: ??? restartPolicy: OnFailure