infracloud/containers/forgejo.md

2.7 KiB

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

TOKEN=$(cat ~/.ssh/forgejo-token | grep FORGEJO_TOKEN | cut -d= -f2)
curl -H "Authorization: token $TOKEN" "https://pipe.gohorsejobs.com/api/v1/user"

SSH

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

curl -H "Authorization: token $TOKEN" "https://pipe.gohorsejobs.com/api/v1/user"

Repositorios

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

curl -H "Authorization: token $TOKEN" "https://pipe.gohorsejobs.com/api/v1/repos/bohessefm/gohorsejobs/issues"

Webhooks

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

# 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