This repository has been archived on 2026-01-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ipv6-k3s/clusters/ipv6/external-dns/cf-script.yml
aggarwalakshun 20b2b9d1b5
All checks were successful
Validate Kubernetes Manifests / kubeconform (push) Successful in 10s
dont use cf proxy in cf-script
2026-01-03 06:22:30 +05:30

60 lines
1.5 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: ipv6-updater-script
namespace: external-dns
data:
update-ipv6.sh: |
#!/bin/sh
ZONE_ID="fe797c7b55d4e23fcd7929173c72a021"
RECORD="*.akshun-lab.cc"
IPV6=$(curl -s https://api64.ipify.org)
if [ -z "$IPV6" ]; then
echo "No IPv6 detected"
exit 1
fi
# Get Record ID
RECORD_ID=$(curl -s \
-H "X-Auth-Email: $CF_EMAIL" \
-H "X-Auth-Key: $CF_API_KEY" \
"https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records?type=AAAA&name=$RECORD" \
| jq -r '.result[0].id')
if [ "$RECORD_ID" = "null" ]; then
echo "Record does not exist, creating..."
curl -s -X POST \
-H "X-Auth-Email: $CF_EMAIL" \
-H "X-Auth-Key: $CF_API_KEY" \
-H "Content-Type: application/json" \
"https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
--data "{
\"type\": \"AAAA\",
\"name\": \"$RECORD\",
\"content\": \"$IPV6\",
\"ttl\": 120,
\"proxied\": false
}"
else
echo "Updating existing record..."
curl -s -X PUT \
-H "X-Auth-Email: $CF_EMAIL" \
-H "X-Auth-Key: $CF_API_KEY" \
-H "Content-Type: application/json" \
"https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID" \
--data "{
\"type\": \"AAAA\",
\"name\": \"$RECORD\",
\"content\": \"$IPV6\",
\"ttl\": 120,
\"proxied\": false
}"
fi