docs: add Cloudflare/Coolify agent and update Redbull DNS config
This commit is contained in:
parent
543bf73248
commit
e9de34e853
2 changed files with 182 additions and 2 deletions
127
AGENT.md
Normal file
127
AGENT.md
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
# 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`
|
||||
|
||||
### 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`
|
||||
|
|
@ -24,11 +24,24 @@ O servidor Redbull é uma infraestrutura de desenvolvimento que hospeda múltipl
|
|||
| Serviço | UUID | Porta | Domínio |
|
||||
|---------|------|:-----:|---------|
|
||||
| Backend | `iw4sow8s0kkg4cccsk08gsoo` | 8521 | coolify-dev.gohorsejobs.com |
|
||||
| Frontend | `ao8g40scws0w4cgo8coc8o40` | 3000 | dev.gohorsejobs.com |
|
||||
| Frontend | `ao8g40scws0w4cgo8coc8o40` | 3000 | local.gohorsejobs.com |
|
||||
| Backoffice | `hg48wkw4wggwsswcwc8sooo4` | 3001 | backoffice-dev.gohorsejobs.com |
|
||||
| Seeder | `q4w48gos8cgssso00o8w8gck` | 8080 | seeder-dev.gohorsejobs.com |
|
||||
| Database | `bgws48os8wgwk08o48wg8k80` | 5432 | Internal |
|
||||
|
||||
### Subdomínios Locais (Cloudflare)
|
||||
|
||||
指向 Coolify (185.194.141.70):
|
||||
|
||||
| Subdomínio | Tipo | UUID App |
|
||||
|------------|------|----------|
|
||||
| local.gohorsejobs.com | A → 185.194.141.70 | Frontend |
|
||||
| api-local.gohorsejobs.com | A → 185.194.141.70 | Backend |
|
||||
| b-local.gohorsejobs.com | A → 185.194.141.70 | Backoffice |
|
||||
| s-local.gohorsejobs.com | A → 185.194.141.70 | Seeder |
|
||||
|
||||
> **Cloudflare Zone**: gohorsejobs.com (Zone ID: 5e7e9286849525abf7f30b451b7964ac)
|
||||
|
||||
### Rodizios Daqui (DEV)
|
||||
| Serviço | UUID | Porta | Domínio |
|
||||
|---------|------|:-----:|---------|
|
||||
|
|
@ -47,13 +60,53 @@ O servidor Redbull é uma infraestrutura de desenvolvimento que hospeda múltipl
|
|||
## Quick Start
|
||||
|
||||
### Deploy Manual via API
|
||||
|
||||
```bash
|
||||
# Token de autenticação
|
||||
TOKEN="2|tjaxz6z6osQUz6whMvNMw23kcBqgToQAvMjSLos347164da9"
|
||||
URL="http://185.194.141.70:8000/api/v1"
|
||||
|
||||
# Deploy de uma aplicação
|
||||
curl -s -H "Authorization: Bearer $TOKEN" \
|
||||
"http://185.194.141.70:8000/api/v1/deploy?uuid=<APP_UUID>"
|
||||
"$URL/deploy?uuid=<APP_UUID>"
|
||||
|
||||
# Atualizar domínio (requer http:// ou https://)
|
||||
curl -s -X PATCH -H "Authorization: Bearer $TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
"$URL/applications/<UUID>" \
|
||||
-d '{"domains":"http://local.gohorsejobs.com","instant_deploy":true}'
|
||||
|
||||
# Listar aplicações
|
||||
curl -s -H "Authorization: Bearer $TOKEN" "$URL/applications"
|
||||
|
||||
# Ver domínios do servidor
|
||||
curl -s -H "Authorization: Bearer $TOKEN" \
|
||||
"$URL/servers/m844o4gkwkwcc0k48swgs8c8/domains"
|
||||
```
|
||||
|
||||
### Cloudflare DNS
|
||||
|
||||
```bash
|
||||
# Token em ~/.ssh/cloudflare-token
|
||||
export CF_AUTH_EMAIL="yamamoto@rede5.com.br"
|
||||
export CF_AUTH_KEY="5dcfd89a9d4ec330dede0d4074a518f26818e"
|
||||
export CF_ZONE_ID="5e7e9286849525abf7f30b451b7964ac"
|
||||
|
||||
# Listar 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/$CF_ZONE_ID/dns_records"
|
||||
|
||||
# Criar DNS 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-dominio.gohorsejobs.com","content":"185.194.141.70","proxied":false}'
|
||||
|
||||
# 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}'
|
||||
```
|
||||
|
||||
### CI/CD Automático via Webhook
|
||||
|
|
|
|||
Loading…
Reference in a new issue