Files
infra/00-dns/cloudflare-records.sh
2026-04-09 13:26:46 +03:00

17 lines
635 B
Bash

#!/usr/bin/env bash
set -euo pipefail
# Load credentials
source "$(dirname "$0")/../../.cloudflare"
IP="82.114.226.118"
for name in "@" "app" "git" "grafana" "prom" "*.app"; do
echo "Creating DNS record: $name -> $IP"
curl -s -X POST "https://api.cloudflare.com/client/v4/zones/${CF_ZONE_ID}/dns_records" \
-H "Authorization: Bearer ${CF_API_TOKEN}" \
-H "Content-Type: application/json" \
--data "{\"type\":\"A\",\"name\":\"${name}\",\"content\":\"${IP}\",\"ttl\":1,\"proxied\":false}" \
| python3 -c "import sys,json; r=json.load(sys.stdin); print(' OK' if r['success'] else f' FAIL: {r[\"errors\"]}')"
done