docs: release Swarm Doctrine v1.0.1 with terminal history scrubbing and JIT dynamic API loading
+2
-1
@@ -5,7 +5,8 @@ Bem-vindo ao Portal de Consciência de toda a nossa infraestrutura. Esta Wiki un
|
|||||||
---
|
---
|
||||||
|
|
||||||
## 📇 1. Diretrizes Globais do Enxame (Doutrina)
|
## 📇 1. Diretrizes Globais do Enxame (Doutrina)
|
||||||
* [📖 Doutrina Swarm - Versão v1.0.0 (Atual)](v1.0.0)
|
* [📖 Doutrina Swarm - Versão v1.0.1 (Atual)](v1.0.1)
|
||||||
|
* [📜 Doutrina Swarm - Versão v1.0.0 (Histórico)](v1.0.0)
|
||||||
* [📜 Protocolo de Agentes Swarm (PGS - Regras)](Protocolo-Agentes-Swarm)
|
* [📜 Protocolo de Agentes Swarm (PGS - Regras)](Protocolo-Agentes-Swarm)
|
||||||
* [🛡️ Segurança e Permissões do Usuário Deploy](Seguranca-Deploy-User)
|
* [🛡️ Segurança e Permissões do Usuário Deploy](Seguranca-Deploy-User)
|
||||||
* [⌨️ Guia de Comandos e Referência de Agentes](Comandos-Agentes-Referencia)
|
* [⌨️ Guia de Comandos e Referência de Agentes](Comandos-Agentes-Referencia)
|
||||||
|
|||||||
@@ -165,3 +165,29 @@ systemctl --user restart meu-servico.service
|
|||||||
| **Gerenciar Containers** | `sudo docker compose restart` | `docker compose restart` (Membro do grupo `docker`) |
|
| **Gerenciar Containers** | `sudo docker compose restart` | `docker compose restart` (Membro do grupo `docker`) |
|
||||||
| **Reiniciar Nginx** | `sudo systemctl restart nginx` | `sudo systemctl restart nginx` (Autorizado via Sudoers Cirúrgico) |
|
| **Reiniciar Nginx** | `sudo systemctl restart nginx` | `sudo systemctl restart nginx` (Autorizado via Sudoers Cirúrgico) |
|
||||||
| **Atualizar Código (Git)** | Roda `git pull` como root | Roda `git pull` usando suas chaves SSH do usuário |
|
| **Atualizar Código (Git)** | Roda `git pull` como root | Roda `git pull` usando suas chaves SSH do usuário |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧹 Pilar 5: Hardening de Terminal e Wiping de Histórico (SecOps)
|
||||||
|
|
||||||
|
Para evitar o vazamento acidental de credenciais passadas inline (como senhas, chaves de API, segredos do banco de dados) e proteger o buffer visual do console em acessos públicos, todas as VPSs do enxame contam com a **limpeza automática de sessão e apuramento de logs no logout**.
|
||||||
|
|
||||||
|
### Prática:
|
||||||
|
Configuramos o arquivo `/home/deploy/.bash_logout` do usuário `deploy` em todas as máquinas para disparar a seguinte rotina de segurança ao encerrar a conexão:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# ~/.bash_logout: executado pelo bash quando a sessão do terminal termina.
|
||||||
|
|
||||||
|
# Hardening de Segurança (SecOps) - Limpeza automática de histórico e console
|
||||||
|
if [ "$SHLVL" = 1 ]; then
|
||||||
|
# 1. Limpa o histórico em memória e apaga o arquivo do disco para evitar vazamento
|
||||||
|
history -c
|
||||||
|
rm -f ~/.bash_history
|
||||||
|
|
||||||
|
# 2. Limpa visualmente o console para o próximo login (anti shoulder-surfing)
|
||||||
|
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
|
||||||
|
clear
|
||||||
|
fi
|
||||||
|
```
|
||||||
|
|
||||||
|
**Resultado**: Sempre que um administrador humano ou agente de IA desconectar do SSH ou fechar o terminal, todos os comandos executados em memória são permanentemente apagados do disco (`.bash_history`), mantendo os segredos totalmente protegidos contra leitores indesejados.
|
||||||
|
|||||||
+72
@@ -0,0 +1,72 @@
|
|||||||
|
# 🧠 Doutrina Mestre dos Agentes (Multi-VPS) - Versão v1.0.1 (Atual)
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> **Histórico de Atualização (Versão v1.0.1 - 17/05/2026)**:
|
||||||
|
> * **Hardening de Terminal (SecOps Wiping)**: Adicionada a diretriz de limpeza automática do histórico do shell (`.bash_history`) e do buffer visual do console no logout de todas as VPSs.
|
||||||
|
> * **Dynamic JIT Loading**: Refatorado o `agent_executor.py` para carregar diretrizes em tempo real via Gitea REST API diretamente na memória RAM, sem manter pastas locais permanentemente desatualizadas.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Este documento define a consciência situacional obrigatória para todos os agentes de IA.
|
||||||
|
|
||||||
|
## 📍 Identificação de Localização
|
||||||
|
Antes de qualquer ação, identifique seu IP interno:
|
||||||
|
- **10.99.0.1 (VPS 1 - PRODUÇÃO)**: Ambiente CRÍTICO. Rodando Traefik e Nginx.
|
||||||
|
- *Regra*: Apenas deploys homologados em Staging. Nunca mexa na infraestrutura de rede.
|
||||||
|
- **10.99.0.3 (VPS 3 - CÉREBRO)**: Onde reside o Gitea, Postgres e DragonflyDB.
|
||||||
|
- *Regra*: Proteja os dados. Backups antes de qualquer alteração de schema.
|
||||||
|
- **10.99.0.4 (VPS 4 - LABORATÓRIO)**: Desenvolvimento e Staging.
|
||||||
|
- *Regra*: Liberdade para testar, criar e quebrar containers. É o local de nascimento do código.
|
||||||
|
|
||||||
|
## 🔐 Segurança e VPN
|
||||||
|
- **Interface wg0**: É a sua linha de vida. Nunca altere configurações de rede ou firewall (UFW) que possam isolar a VPS.
|
||||||
|
- **Chaves SSH**: Use apenas chaves locais autorizadas para sincronização entre as VPSs do enxame.
|
||||||
|
|
||||||
|
## 📇 Protocolo de Identidade Estática (`~/.vps_identity`)
|
||||||
|
Para garantir 100% de consciência situacional à prova de falhas sem depender de chamadas de rede externas, cada máquina do enxame possui um arquivo de identidade em `/home/deploy/.vps_identity`.
|
||||||
|
|
||||||
|
### 📄 Estrutura Obrigatória do JSON:
|
||||||
|
Todo arquivo `.vps_identity` deve conter exatamente a seguinte estrutura:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"vps_id": 4,
|
||||||
|
"vps_name": "VPS-4-LABORATORIO",
|
||||||
|
"ip_vpn": "10.99.0.4",
|
||||||
|
"role": "Desenvolvimento, Builds e Staging",
|
||||||
|
"danger_level": "BAIXO - Liberdade para testar e recriar"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🚨 Obrigações das IAs e Agentes:
|
||||||
|
1. **Verificação Obrigatória**: Toda execução de script ou agente deve prioritariamente ler e interpretar o arquivo `/home/deploy/.vps_identity` para calibrar o seu escopo de atuação.
|
||||||
|
2. **Respeito ao Danger Level (Nível de Perigo)**:
|
||||||
|
- **Nível de Perigo ALTO** (ex: VPS 1, VPS 3): Agentes **NÃO PODEM** rodar comandos experimentais, mutações não homologadas de bancos de dados ou reinstalar dependências críticas sem backups nítidos e aprovação explícita.
|
||||||
|
- **Nível de Perigo BAIXO** (ex: VPS 4): O agente possui total autonomia para realizar testes, compilar códigos, reinstalar pacotes e reiniciar contêineres Docker de staging.
|
||||||
|
3. **Resiliência (Fallback)**: Caso o arquivo `.vps_identity` não exista ou esteja ilegível, o agente deve fazer o fallback dinâmico (buscando o IP `10.99.x.x` via `hostname -I`) e assumir o perfil de segurança mais restritivo por padrão.
|
||||||
|
|
||||||
|
## 🗣️ Comunicação
|
||||||
|
- Todo o desenvolvimento, comentários e commits devem ser em **PORTUGUÊS**.
|
||||||
|
- Use o protocolo **PGS (Protocolo Gitea Swarm)** para hand-offs.
|
||||||
|
|
||||||
|
## 🚫 NUNCA...
|
||||||
|
- Nunca tente acessar servidores fora da rede 10.99.0.x.
|
||||||
|
- Nunca exponha senhas ou chaves privadas em logs ou comentários.
|
||||||
|
- Nunca altere o serviço `swarm-listener` sem autorização.
|
||||||
|
|
||||||
|
## 📂 Diretórios de Projetos e Stacks Ativos (Mapeamento de Preservação)
|
||||||
|
|
||||||
|
### 🖥️ VPS 1 - Produção (10.99.0.1)
|
||||||
|
Os seguintes diretórios são de infraestrutura e serviços críticos ativos e **DEVEM SER ESTRITAMENTE PRESERVADOS** contra qualquer alteração ou limpeza na VPS 1:
|
||||||
|
* 📁 `/home/deploy/stack/traefik/`: Roteador de borda central e proxy reverso da infraestrutura.
|
||||||
|
* 📁 `/home/deploy/stack/portainer/`: Interface de gerenciamento e monitoramento de contêineres Docker.
|
||||||
|
* 📁 `/home/deploy/stack/soc/`: Rotinas de CrowdSec, firewall e auditoria de segurança ativa.
|
||||||
|
|
||||||
|
### 🖥️ VPS 4 - Laboratório (10.99.0.4)
|
||||||
|
Os seguintes diretórios dentro de `/home/deploy/stack/` contêm contêineres de desenvolvimento e staging ativos e **DEVEM SER ESTRITAMENTE PRESERVADOS** na VPS 4:
|
||||||
|
* 📁 `scoreodonto.com/`: Aplicação e contêineres de staging do ecossistema ScoreOdonto.
|
||||||
|
* 📁 `subdominio.clube67.com/`: Branding, front-end e back-end do Gerenciador de Subdomínios.
|
||||||
|
* 📁 `self-healing/`: Rotinas e scripts locais de auto-recuperação de serviços.
|
||||||
|
* 📁 `webhook-listener/`: Ouvinte de webhooks de GitOps (porta `9000`) para deploys automatizados.
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Quaisquer pastas como `/home/deploy/stack/traefik/`, `/home/deploy/stack/portainer/` ou `/home/deploy/stack/soc/` que sejam encontradas na **VPS 4** são duplicatas inativas e obsoletas e **devem ser deletadas** na limpeza dos agentes.
|
||||||
Reference in New Issue
Block a user