diff --git a/docs/CLOUDFLARE.md b/docs/CLOUDFLARE.md new file mode 100644 index 0000000..b6f40a6 --- /dev/null +++ b/docs/CLOUDFLARE.md @@ -0,0 +1,95 @@ +# Cloudflare Agent - GoHorseJobs + +Ferramenta para gerenciar DNS e cache do Cloudflare via API. + +## Configuração + +O token da API está em `~/.ssh/cloudflare-token`: + +``` +Email: yamamoto@rede5.com.br +Zone ID: 5e7e9286849525abf7f30b451b7964ac +``` + +## Variáveis de Ambiente + +```bash +export CF_AUTH_EMAIL="yamamoto@rede5.com.br" +export CF_AUTH_KEY="5dcfd89a9d4ec330dede0d4074a518f26818e" +export CF_ZONE_ID="5e7e9286849525abf7f30b451b7964ac" +``` + +## Comandos Úteis + +### Listar todos os DNS records +```bash +curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ + "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" +``` + +### Buscar records por nome +```bash +curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ + "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?name=gohorsejobs.com" +``` + +### Criar novo DNS record +```bash +curl -s -X POST -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ + -H "Content-Type: application/json" \ + "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \ + -d '{ + "type": "A", + "name": "test.gohorsejobs.com", + "content": "1.2.3.4", + "proxied": false + }' +``` + +### Deletar DNS record +```bash +curl -s -X DELETE -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ + "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/" +``` + +### Limpar todo o cache +```bash +curl -s -X DELETE -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ + -H "Content-Type: application/json" \ + "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \ + -d '{"purge_everything":true}' +``` + +### Verificar zone details +```bash +curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ + "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID" +``` + +## Scripts + +### Script bash helper (colocar em ~/bin/ ou PATH) + +```bash +#!/bin/bash +# cf.sh - Cloudflare CLI helper + +CF_AUTH_EMAIL="yamamoto@rede5.com.br" +CF_AUTH_KEY="5dcfd89a9d4ec330dede0d4074a518f26818e" +CF_ZONE_ID="5e7e9286849525abf7f30b451b7964ac" +BASE_URL="https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID" + +case "$1" in + ls) + curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" "$BASE_URL/dns_records" + ;; + purge) + curl -s -X DELETE -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ + -H "Content-Type: application/json" "$BASE_URL/purge_cache" \ + -d '{"purge_everything":true}' + ;; + *) + echo "Usage: $0 {ls|purge}" + ;; +esac +``` diff --git a/docs/DEVOPS.md b/docs/DEVOPS.md index 309ed96..34bf0a9 100644 --- a/docs/DEVOPS.md +++ b/docs/DEVOPS.md @@ -8,6 +8,68 @@ Infraestrutura, CI/CD e deploy do projeto GoHorseJobs no servidor `apolo`. --- +## ☁️ Cloudflare DNS Zone + +### Zone Info + +| Property | Value | +|----------|-------| +| **Zone ID** | `5e7e9286849525abf7f30b451b7964ac` | +| **Domain** | gohorsejobs.com | +| **Account** | gohorsejobs | +| **Email** | yamamoto@rede5.com.br | +| **Plan** | Free Website | +| **Name Servers** | chuck.ns.cloudflare.com, fatima.ns.cloudflare.com | + +### API Access + +```bash +# Token location: ~/.ssh/cloudflare-token +export CF_AUTH_EMAIL="yamamoto@rede5.com.br" +export CF_AUTH_KEY="5dcfd89a9d4ec330dede0d4074a518f26818e" + +# List zones +curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ + "https://api.cloudflare.com/client/v4/zones" + +# List DNS records +curl -s -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ + "https://api.cloudflare.com/client/v4/zones/5e7e9286849525abf7f30b451b7964ac/dns_records" + +# Purge cache +curl -s -X DELETE -H "X-Auth-Email: $CF_AUTH_EMAIL" -H "X-Auth-Key: $CF_AUTH_KEY" \ + -H "Content-Type: application/json" \ + "https://api.cloudflare.com/client/v4/zones/5e7e9286849525abf7f30b451b7964ac/purge_cache" \ + -d '{"purge_everything":true}' +``` + +### Active DNS Records (gohorsejobs.com) + +| Subdomain | Type | IP/Target | Proxied | +|-----------|------|------------|---------| +| dev.gohorsejobs.com | A | 38.19.201.52 | No | +| api.gohorsejobs.com | A | 86.48.29.139 | Yes | +| api-dev.gohorsejobs.com | A | 86.48.29.139 | Yes | +| api-local.gohorsejobs.com | A | 38.19.201.52 | No | +| b-local.gohorsejobs.com | A | 38.19.201.52 | No | +| s-local.gohorsejobs.com | A | 38.19.201.52 | No | +| coolify-dev.gohorsejobs.com | A | 185.194.141.70 | No | +| panel.gohorsejobs.com | A | Multiple (Load Balanced) | Yes | +| pipe.gohorsejobs.com | A | Multiple (Load Balanced) | Yes | +| alert.gohorsejobs.com | A | Multiple (Load Balanced) | Yes | +| task.gohorsejobs.com | A | Multiple (Load Balanced) | Yes | +| stats.gohorsejobs.com | A | Multiple (Load Balanced) | Yes | +| storage.gohorsejobs.com | A | Multiple (Load Balanced) | Yes | +| base.gohorsejobs.com | A | Multiple | No | +| reg.gohorsejobs.com | A | Multiple (Load Balanced) | Yes | +| gohorsejobs.com | CNAME | gohorsejobs.pages.dev | Yes | +| *.gohorsejobs.com | CNAME | 8a3f435b-f374-4268-90f7-5610f577c706.cfargotunnel.com | Yes | +| mail.gohorsejobs.com | CNAME | everest.mxrouting.net | No | + +> Total: 190 DNS records (paginados) + +--- + ## ☁️ Coolify DEV Environment (Redbull) Ambiente de desenvolvimento no Coolify para deploy automatizado via Git.