198 lines
6.7 KiB
Markdown
198 lines
6.7 KiB
Markdown
# Agente de Infraestrutura - Cloudflare & Coolify
|
|
|
|
Este documento contém os tokens e APIs necessárias para gerenciar a infraestrutura.
|
|
|
|
## Tokens
|
|
|
|
### Cloudflare
|
|
- **Arquivo**: `~/.ssh/cloudflare-token`
|
|
- **Email**: yamamoto@rede5.com.br
|
|
- **Zone ID (gohorsejobs.com)**: `5e7e9286849525abf7f30b451b7964ac`
|
|
- **Zone ID (q1food.com)**: `70cdac5cc9787719d548ac6d74c98896`
|
|
|
|
### Coolify (Redbull)
|
|
- **Arquivo**: `~/.ssh/coolify-redbull-token`
|
|
- **URL**: http://185.194.141.70:8000/api/v1
|
|
- **Server UUID**: `m844o4gkwkwcc0k48swgs8c8`
|
|
|
|
## Comandos Rápidos
|
|
|
|
### Cloudflare DNS
|
|
|
|
```bash
|
|
# Configurar variáveis
|
|
export CF_AUTH_EMAIL="yamamoto@rede5.com.br"
|
|
export CF_AUTH_KEY="5dcfd89a9d4ec330dede0d4074a518f26818e"
|
|
export CF_ZONE_ID="5e7e9286849525abf7f30b451b7964ac"
|
|
|
|
# Listar registros DNS
|
|
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 por subdomínio
|
|
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" | grep -o '"name":"[^"]*"'
|
|
|
|
# Criar A record
|
|
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":"novo.gohorsejobs.com","content":"185.194.141.70","proxied":false}'
|
|
|
|
# Atualizar DNS record (precisa do ID)
|
|
curl -s -X PUT -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/<RECORD_ID>" \
|
|
-d '{"type":"A","name":"nome.gohorsejobs.com","content":"NOVO_IP","proxied":false}'
|
|
|
|
# Deletar DNS record
|
|
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/<RECORD_ID>"
|
|
|
|
# Limpar 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/$CF_ZONE_ID/purge_cache" \
|
|
-d '{"purge_everything":true}'
|
|
```
|
|
|
|
### Coolify API
|
|
|
|
```bash
|
|
# Configurar variáveis
|
|
export COOLIFY_TOKEN="tjaxz6z6osQUz6whMvNMw23kcBqgToQAvMjSLos347164da9"
|
|
export COOLIFY_URL="http://185.194.141.70:8000/api/v1"
|
|
|
|
# Listar aplicações
|
|
curl -s -H "Authorization: Bearer $COOLIFY_TOKEN" "$COOLIFY_URL/applications"
|
|
|
|
# Ver aplicação específica
|
|
curl -s -H "Authorization: Bearer $COOLIFY_TOKEN" "$COOLIFY_URL/applications/<UUID>"
|
|
|
|
# Deploy aplicação
|
|
curl -s -H "Authorization: Bearer $COOLIFY_TOKEN" "$COOLIFY_URL/deploy?uuid=<UUID>"
|
|
|
|
# Atualizar domínio (importante: usar http:// ou https://)
|
|
curl -s -X PATCH -H "Authorization: Bearer $COOLIFY_TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
"$COOLIFY_URL/applications/<UUID>" \
|
|
-d '{"domains":"http://novo-dominio.gohorsejobs.com","instant_deploy":true}'
|
|
|
|
# Ver domínios do servidor
|
|
curl -s -H "Authorization: Bearer $COOLIFY_TOKEN" \
|
|
"$COOLIFY_URL/servers/m844o4gkwkwcc0k48swgs8c8/domains"
|
|
|
|
# Listar deployments
|
|
curl -s -H "Authorization: Bearer $COOLIFY_TOKEN" "$COOLIFY_URL/deployments"
|
|
|
|
# Ver status de deployment
|
|
curl -s -H "Authorization: Bearer $COOLIFY_TOKEN" \
|
|
"$COOLIFY_URL/deployments/<DEPLOYMENT_UUID>"
|
|
|
|
# Listar databases
|
|
curl -s -H "Authorization: Bearer $COOLIFY_TOKEN" "$COOLIFY_URL/databases"
|
|
```
|
|
|
|
## UUIDs GoHorseJobs (Redbull Coolify)
|
|
|
|
| Serviço | UUID |
|
|
|---------|------|
|
|
| Backend | `iw4sow8s0kkg4cccsk08gsoo` |
|
|
| Frontend | `ao8g40scws0w4cgo8coc8o40` |
|
|
| Backoffice | `hg48wkw4wggwsswcwc8sooo4` |
|
|
| Seeder | `q4w48gos8cgssso00o8w8gck` |
|
|
| Database | `bgws48os8wgwk08o48wg8k80` |
|
|
|
|
## Fluxo Padrão: Criar Novo Subdomínio
|
|
|
|
1. **Criar DNS no Cloudflare:**
|
|
```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":"nome.gohorsejobs.com","content":"185.194.141.70","proxied":false}'
|
|
```
|
|
|
|
2. **Atualizar domínio no Coolify:**
|
|
```bash
|
|
curl -s -X PATCH -H "Authorization: Bearer $COOLIFY_TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
"$COOLIFY_URL/applications/<UUID>" \
|
|
-d '{"domains":"http://nome.gohorsejobs.com","instant_deploy":true}'
|
|
```
|
|
|
|
## Referências
|
|
|
|
- [Cloudflare API Docs](https://api.cloudflare.com/)
|
|
- [Coolify API Docs](https://coolify.io/docs/api-reference/authorization)
|
|
- Documentação: `../gohorsejobs/docs/DEVOPS.md`
|
|
|
|
---
|
|
|
|
## Rodizios Daqui (Coolify - Redbull)
|
|
|
|
### URLs
|
|
- Frontend: https://rodiziosdaqui.rede5.com.br
|
|
- Backend: https://api.rodiziosdaqui.rede5.com.br
|
|
- Backoffice: https://backoffice.rodiziosdaqui.rede5.com.br
|
|
- Seeder: https://seeder.rodiziosdaqui.rede5.com.br
|
|
|
|
### UUIDs Coolify
|
|
|
|
| Serviço | UUID |
|
|
|---------|------|
|
|
| Backend | ecso4woo4woo0ks84888k8ck |
|
|
| Frontend | l4g4cc884gc04kg8s480gs48 |
|
|
| Backoffice | s4kskw08400wcw8g40ossggo |
|
|
| Seeder | ko0kkw4kw8g80scksg8sk0wc |
|
|
|
|
### Deploy
|
|
|
|
```bash
|
|
# Deploy all
|
|
curl -s -H "Authorization: Bearer $(cat ~/.ssh/coolify-redbull-token)" "http://185.194.141.70:8000/api/v1/deploy?uuid=ecso4woo4woo0ks84888k8ck" # Backend
|
|
curl -s -H "Authorization: Bearer $(cat ~/.ssh/coolify-redbull-token)" "http://185.194.141.70:8000/api/v1/deploy?uuid=l4g4cc884gc04kg8s480gs48" # Frontend
|
|
curl -s -H "Authorization: Bearer $(cat ~/.ssh/coolify-redbull-token)" "http://185.194.141.70:8000/api/v1/deploy?uuid=s4kskw08400wcw8g40ossggo" # Backoffice
|
|
curl -s -H "Authorization: Bearer $(cat ~/.ssh/coolify-redbull-token)" "http://185.194.141.70:8000/api/v1/deploy?uuid=ko0kkw4kw8g80scksg8sk0wc" # Seeder
|
|
```
|
|
|
|
---
|
|
|
|
## Q1Food (Coolify - Redbull)
|
|
|
|
### URLs
|
|
- Frontend: https://dev.q1food.com
|
|
- Backend: https://api-dev.q1food.com
|
|
|
|
### DNS Cloudflare (Zone ID: 70cdac5cc9787719d548ac6d74c98896)
|
|
| Record | Tipo | IP |
|
|
|--------|------|-----|
|
|
| q1food.com | A | 185.194.141.70 |
|
|
| dev.q1food.com | A | 185.194.141.70 |
|
|
| api-dev.q1food.com | A | 185.194.141.70 |
|
|
|
|
### UUIDs Coolify
|
|
|
|
| Serviço | UUID |
|
|
|---------|------|
|
|
| Backend | eosgwscc4g044c884k0ws4gc |
|
|
| Frontend | g8w440g0w0oowo8skss440wk |
|
|
|
|
### Webhooks GitHub
|
|
|
|
| Serviço | Webhook Secret |
|
|
|---------|----------------|
|
|
| Backend | d66bac276faa04631124559d77199d0e |
|
|
| Frontend | c512dc54933829d1cde381e2c9bf394a |
|
|
|
|
### Deploy
|
|
|
|
```bash
|
|
# Deploy backend
|
|
curl -s -H "Authorization: Bearer $(cat ~/.ssh/coolify-redbull-token)" "http://185.194.141.70:8000/api/v1/deploy?uuid=eosgwscc4g044c884k0ws4gc"
|
|
|
|
# Deploy frontend
|
|
curl -s -H "Authorization: Bearer $(cat ~/.ssh/coolify-redbull-token)" "http://185.194.141.70:8000/api/v1/deploy?uuid=g8w440g0w0oowo8skss440wk"
|
|
```
|
|
|
|
**Deploy automático:** Push na branch `dev` dispara webhook do GitHub → Coolify
|