Skip to content

DNS správa — Cloudflare API

Zodpovědnost: Sentinel spravuje DNS pro hub (s60hub.cz) a prod (studio60.cz). Dev DNS (s60dev.cz) spravuje infra agent.

Pravidlo: NIKDY neměnit DNS bez explicitního pokynu uživatele!


Příprava

export CF_API_TOKEN=$(grep '^CF_API_TOKEN=' /root/projects/s60/.env | cut -d= -f2)

Zone IDs

Doména Zone ID
s60hub.cz b0091694e4a2eeeb000c22d59b87b8dd
studio60.cz 75d373e9c8d65d25a27abaa5696db57c

Cílové IP adresy

Server IP
hub-alfa 23.88.96.73
prod-alfa 178.104.36.211

CF Account ID (pro vytváření zón)

4b8389236be7d5b1ebe6d66f973ab9b9


Operace

1. Výpis záznamů

ZONE_ID="<zone_id>"
curl -s "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
  -H "Authorization: Bearer $CF_API_TOKEN" | python3 -m json.tool

2. Přidat A záznam

ZONE_ID="<zone_id>"
curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
  -H "Authorization: Bearer $CF_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type":"A","name":"subdomena.domena.cz","content":"<IP>","ttl":1,"proxied":false}'

Checklist: 1. Ověř, že subdoména ještě neexistuje (výpis záznamů) 2. Použij správnou Zone ID (hub vs prod) 3. Použij správnou IP (hub-alfa vs prod-alfa) 4. proxied: false — vždy (vlastní nginx + certbot) 5. ttl: 1 — vždy (auto)

3. Smazání záznamu

ZONE_ID="<zone_id>"
RECORD_ID="<record_id>"
curl -s -X DELETE "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID" \
  -H "Authorization: Bearer $CF_API_TOKEN"

Checklist: 1. Najdi record ID přes výpis záznamů 2. Dvojitě ověř, že mažeš správný záznam

4. Úprava záznamu (PUT)

ZONE_ID="<zone_id>"
RECORD_ID="<record_id>"
curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID" \
  -H "Authorization: Bearer $CF_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type":"A","name":"subdomena.domena.cz","content":"<IP>","ttl":1,"proxied":false}'

Po přidání DNS záznamu

  1. Ověř propagaci: dig subdomena.domena.cz +short
  2. Pokud služba potřebuje SSL: certbot --nginx -d subdomena.domena.cz na cílovém serveru
  3. Zapiš do CHANGES.md
  4. Zapiš do memory:inbox

Časté scénáře

Nová služba na hub + prod

  1. Přidat A záznam pro sluzba.s60hub.cz → 23.88.96.73
  2. Přidat A záznam pro sluzba.studio60.cz → 178.104.36.211
  3. Na hub-alfa: nginx config + certbot
  4. Na prod-alfa: nginx config + certbot

Čekající DNS záznamy (z TODO)

  • n8n.s60hub.cz → hub-alfa
  • n8n.studio60.cz → prod-alfa
  • api.s60hub.cz → hub-alfa
  • venom.s60hub.cz → hub-alfa
  • billit.studio60.cz → prod-alfa (+ billit.cz — jiná zóna)