diff --git a/README.md b/README.md index 4238213..2823fc7 100644 --- a/README.md +++ b/README.md @@ -25,10 +25,15 @@ Servidores standalone gerenciados individualmente. Bancos de dados gerenciados. -- [**Saveinmed DB**](./vps/saveinmed-db/README.md): PostgreSQL 17 (Absam.io). vpsID: 60604 +- [**Absam Cloud DB**](./databases/absam-cloud-db/README.md): PostgreSQL 17 (Absam.io). vpsID: 60604 +- **CloudClusters**: PostgreSQL 16 externo para GoHorseJobs -### Containers - -Definicoes de containers compartilhados entre servidores. - -- [**Containers**](./containers/): Dockerfiles e configuracoes de containers +### Containers + +Definicoes de containers compartilhados entre servidores. + +- [**Containers**](./containers/): Dockerfiles e configuracoes de containers + +### Servicos + +- [**Forgejo**](./containers/forgejo.md): Git self-hosted e CI/CD - https://pipe.gohorsejobs.com diff --git a/containers/forgejo.md b/containers/forgejo.md new file mode 100644 index 0000000..451b94f --- /dev/null +++ b/containers/forgejo.md @@ -0,0 +1,110 @@ +# Forgejo (Gitea) - pipe.gohorsejobs.com + +Instância Forgejo self-hosted para mirror e CI/CD do projeto GoHorseJobs. + +## Informacoes do Servico + +| Campo | Valor | +|-------|-------| +| URL | https://pipe.gohorsejobs.com | +| Usuario | yamamoto (admin) | +| Email | yamamoto@rede5.com.br | +| Organizacao | bohessefm | +| Token | `~/.ssh/forgejo-token` | + +## Autenticacao + +### API Token +```bash +TOKEN=$(cat ~/.ssh/forgejo-token | grep FORGEJO_TOKEN | cut -d= -f2) +curl -H "Authorization: token $TOKEN" "https://pipe.gohorsejobs.com/api/v1/user" +``` + +### SSH +```bash +git clone git@pipe.gohorsejobs.com:bohessefm/gohorsejobs.git +``` + +## Repositorios + +| Repositorio | Mirror de | Branch Principal | +|-------------|-----------|------------------| +| bohessefm/gohorsejobs | github.com/rede5/gohorsejobs | dev | + +## CI/CD + +O Forgejo roda workflows do `.forgejo/workflows/` para: +- Build e push de imagens Docker +- Deploy no K3s via kubectl + +### Secrets e Variables + +Configurados em Settings → Secrets and Variables: + +**Secrets:** +- `FORGEJO_TOKEN` - Token de acesso ao registry +- `KUBE_CONFIG` - Configuracao kubectl +- `RSA_PRIVATE_KEY_BASE64` - Chave RSA privada + +**Variables:** +- `DATABASE_URL` - String de conexao PostgreSQL +- `AMQP_URL` - URL RabbitMQ +- `JWT_SECRET` - Secret JWT +- `S3_BUCKET`, `AWS_*` - Credenciais S3 + +## API Endpoints + +### Usuario +```bash +curl -H "Authorization: token $TOKEN" "https://pipe.gohorsejobs.com/api/v1/user" +``` + +### Repositorios +```bash +curl -H "Authorization: token $TOKEN" "https://pipe.gohorsejobs.com/api/v1/user/repos" +curl -H "Authorization: token $TOKEN" "https://pipe.gohorsejobs.com/api/v1/repos/bohessefm/gohorsejobs" +``` + +### Issues +```bash +curl -H "Authorization: token $TOKEN" "https://pipe.gohorsejobs.com/api/v1/repos/bohessefm/gohorsejobs/issues" +``` + +### Webhooks +```bash +# Listar webhooks +curl -H "Authorization: token $TOKEN" "https://pipe.gohorsejobs.com/api/v1/repos/bohessefm/gohorsejobs/hooks" + +# Criar webhook +curl -X POST -H "Authorization: token $TOKEN" \ + -H "Content-Type: application/json" \ + "https://pipe.gohorsejobs.com/api/v1/repos/bohessefm/gohorsejobs/hooks" \ + -d '{ + "type": "gitea", + "config": { + "url": "https://redbull.rede5.com.br/api/v1/webhooks/deploy?uuid=iw4sow8s0kkg4cccsk08gsoo", + "content_type": "json" + }, + "events": ["push"], + "active": true + }' +``` + +## Docker Registry + +O Forgejo inclui um registry Docker integrado: + +```bash +# Login +echo $TOKEN | docker login pipe.gohorsejobs.com -u bohessefm --password-stdin + +# Pull imagem +docker pull pipe.gohorsejobs.com/bohessefm/gohorsejobs:latest +docker pull pipe.gohorsejobs.com/bohessefm/backoffice:latest +``` + +## Links + +- Console: https://pipe.gohorsejobs.com +- API Docs: https://pipe.gohorsejobs.com/api/swagger +- Credenciais: `~/.ssh/forgejo-token` diff --git a/vps/saveinmed-db/README.md b/databases/absam-cloud-db/README.md similarity index 91% rename from vps/saveinmed-db/README.md rename to databases/absam-cloud-db/README.md index 56ce58a..7d9428b 100644 --- a/vps/saveinmed-db/README.md +++ b/databases/absam-cloud-db/README.md @@ -1,6 +1,6 @@ -# Saveinmed Database Server +# Absam Cloud DB - PostgreSQL Gerenciado -Cloud Database gerenciado pela Absam.io para o projeto Saveinmed. +Cloud Database gerenciado pela Absam.io (ID: 60604). Hospeda múltiplos bancos de dados para os projetos da Rede5. ## Informacoes do Servidor @@ -44,7 +44,7 @@ Cloud Database gerenciado pela Absam.io para o projeto Saveinmed. Adicionar ao `~/.ssh/config`: ``` -Host saveinmed-db +Host absam-db HostName db-60604.dc-us-1.absamcloud.com User admin Port 18863 @@ -57,7 +57,7 @@ Host saveinmed-db ### Conectar via SSH ```bash -ssh saveinmed-db +ssh absam-db # Senha: ver ~/.ssh/absam-db-novo ``` @@ -65,7 +65,7 @@ ssh saveinmed-db ```bash # Criar tunel SSH -ssh -L 15432:10.0.9.219:5432 saveinmed-db -N +ssh -L 15432:10.0.9.219:5432 absam-db -N # Conectar ao banco psql -h localhost -p 15432 -U saveinmed -d saveinmed diff --git a/vps/saveinmed-db/tunel-ssh.bat b/databases/absam-cloud-db/tunel-ssh.bat similarity index 100% rename from vps/saveinmed-db/tunel-ssh.bat rename to databases/absam-cloud-db/tunel-ssh.bat