infracloud/containers/forgejo.md

110 lines
2.7 KiB
Markdown

# 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`