docs: add centralized Gitea governance, project SSH remotes and unified features at user level
This commit is contained in:
@@ -94,3 +94,33 @@ Para evitar vazamentos de credenciais no disco e garantir imunidade absoluta con
|
|||||||
Caso a API do Gitea esteja temporariamente indisponível, a IA pode recorrer à leitura dos arquivos locais localizados em `/home/deploy/instrucoes/` como contingência secundária.
|
Caso a API do Gitea esteja temporariamente indisponível, a IA pode recorrer à leitura dos arquivos locais localizados em `/home/deploy/instrucoes/` como contingência secundária.
|
||||||
3. 🔐 **Transporte Remoto e Escrita (Chaves SSH - ESTÁVEL)**:
|
3. 🔐 **Transporte Remoto e Escrita (Chaves SSH - ESTÁVEL)**:
|
||||||
Para operações de sincronização, deploys ou pushes do Git, os agentes devem usar exclusivamente a chave SSH do usuário `deploy` (`~/.ssh/id_ed25519`), prevenindo qualquer exposição de chaves privadas em logs ou variáveis de ambiente.
|
Para operações de sincronização, deploys ou pushes do Git, os agentes devem usar exclusivamente a chave SSH do usuário `deploy` (`~/.ssh/id_ed25519`), prevenindo qualquer exposição de chaves privadas em logs ou variáveis de ambiente.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🌐 Governança e Integração Centralizada no Gitea (Nível de Usuário/Sistema)
|
||||||
|
|
||||||
|
Para maximizar a segurança (SecOps), a agilidade de deploy (GitOps) e a escalabilidade do enxame de agentes, adotamos uma arquitetura de governança unificada no **Gitea no nível de Usuário e Sistema**, contornando configurações isoladas e repetitivas por repositório.
|
||||||
|
|
||||||
|
### 🔑 1. Autenticação Unificada por Chave SSH Global (User Settings)
|
||||||
|
Em vez de configurar Deploy Keys individuais para cada repositório, a chave pública SSH de cada VPS (nó do enxame) é cadastrada diretamente no perfil global do Usuário Administrador (`ruicesar`) em `/user/settings/keys`.
|
||||||
|
* **Permissão herdada**: Qualquer conexão Git disparada a partir dos nós do enxame possui automaticamente as permissões do usuário em todos os repositórios atuais e futuros.
|
||||||
|
* **Padrão de Endereços SSH dos Projetos ( VPS 4 & Swarm )**:
|
||||||
|
* 📁 **instrucoes_gerais**: `ssh://git@10.99.0.3/ruicesar/instrucoes_gerais.git`
|
||||||
|
* 📁 **scoreodonto.com**: `ssh://git@10.99.0.3/ruicesar/scoreodonto.com.git`
|
||||||
|
* 📁 **mercado.clube67.com**: `ssh://git@10.99.0.3/ruicesar/mercado.clube67.com.git`
|
||||||
|
* 📁 **subdominio.clube67.com**: `ssh://git@10.99.0.3/ruicesar/subdominio.clube67.com.git`
|
||||||
|
|
||||||
|
### 🔌 2. Integração Global por Webhook do Sistema (System Webhook)
|
||||||
|
Em vez de criar Webhooks de push repetitivos para cada repositório das aplicações:
|
||||||
|
* Configuramos um único **Webhook do Sistema** em `/admin/hooks` que atua de forma global em todos os repositórios (atuais e futuros).
|
||||||
|
* **Parâmetros de Produção**:
|
||||||
|
* **URL de Destino**: `http://127.0.0.1:5000/webhook` (Disparo direto local em localhost na VPS 3 do Gitea).
|
||||||
|
* **Content Type**: `application/json`
|
||||||
|
* **Gatilho**: Apenas o evento de **Push**.
|
||||||
|
* **Filtragem**: O Swarm Dispatcher recebe os pushes globais e executa apenas os repositórios mapeados no fluxo de deploys do enxame, mantendo o processo 100% limpo e livre de redundâncias.
|
||||||
|
|
||||||
|
### 🎯 3. Outros Recursos Unificados a Nível de Usuário/Sistema
|
||||||
|
Para mantermos o ecossistema no estado da arte de DevOps, utilizamos os seguintes recursos globais do Gitea:
|
||||||
|
* 📁 **Gitea Organizations (Organizações - ex: clube67)**: Agrupa todos os repositórios sob um único tenant corporativo, permitindo gerenciar permissões de equipes (Teams) e IAs de uma única vez para todos os projetos.
|
||||||
|
* 🔑 **Personal Access Tokens (PAT - Nível de Usuário)**: Criação de um Token de Acesso único do usuário administrador injetado na RAM dos agentes, dando autorização de API para ler issues, wikis e logs de todos os repositórios atuais e futuros de forma centralizada.
|
||||||
|
* 🏷️ **Rótulos Padrão (Global Labels)**: Padronização de etiquetas de Issues (ex: `bug-self-healing`, `deploy-staging`, `security-incident`) herdadas automaticamente por qualquer novo repositório, agilizando a triagem de erros.
|
||||||
|
|||||||
Reference in New Issue
Block a user