From e8342a1c30f17118549a6eef1d00b177656f1634 Mon Sep 17 00:00:00 2001 From: Pulse Agent Date: Wed, 20 May 2026 17:28:04 -0300 Subject: [PATCH] =?UTF-8?q?docs(TOOLS):=20adiciona=20se=C3=A7=C3=A3o=20Doc?= =?UTF-8?q?ker=20Swarm=20+=20Portainer=20(9=20stacks,=206=20dom=C3=ADnios?= =?UTF-8?q?=20caddy,=20admin=20token=20info)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TOOLS.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ pulse-docs | 1 + 2 files changed, 53 insertions(+) create mode 160000 pulse-docs diff --git a/TOOLS.md b/TOOLS.md index a683835..5052a47 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -242,3 +242,55 @@ Repositórios que o agent Pulse usa como memória persistente de curto e longo p - Instalação/remoção de skill: commit de `skills/` → `pulse-skills` - Novo projeto: commit → `pulse-projects` - Cadência: **1 push por sessão** (não commit a cada passo) + +--- + +## 🐳 Docker Swarm — octal.tec.br (2026-05-20 inventariado) + +### Acesso +- **Portainer CE**: https://dock.octal.tec.br — stack `dock` +- **Admin token PTR**: `ptr_ZE3R0WgRB07W7moQ7rpX135MqZ+F8OMuYC9U7Rqa5dU=` + - Prefixo `ptr_` = Portainer Access Token — válido para `/api/status` (200) + - 401 em `/api/endpoints` e `/api/auth` — escopo reduzido, não é JWT admin pleno + - Senha admin real necessária para operações de mutação (login via POST `/api/auth`) +- **Portas portainer**: `8000/tcp`, `9000/tcp`, `9443/tcp` (dentro do swarm) +- **Agent Portainer**: `io.portainer.agent=true` label — obrigatório em cada node Swarm + +### Stack 9 stacks (22 containers) +| Stack | Svc | Portas externas | +|---|---|---| +| `bot` | 2 | — | +| `code` | 1 | — | +| `database` | 2 | — | +| `design` | 7 (Penpot) | 1080→mailcatch | +| `dock` | 2 | 80/443 (ports abertas no node) | +| `git` | 1 | 22/3000 | +| `pro` | 2 | — | +| `projects` | 3 | ⚠️ `pulse-libs` 0/1 | +| `proxy` | 2 | 80→80, 443→443 | + +### Domínios Caddy (auto-proxy) +| Domínio | Stack | Service | Porta | +|---|---|---|---| +| `dock.octal.tec.br` | dock | dock_portainer | 9443/9000 | +| `git.octal.tec.br` | git | git_gitea | 3000 | +| `ai.octal.tec.br` | bot | bot_beebot | 18789 | +| `manager.octal.tec.br` | pro | pro_leantime | 8080 | +| `games.octal.tec.br` | projects | projects_games-demo | 80 | +| `test.octal.tec.br` | proxy | proxy_test-octal | — | + +### Redes Overlay +`10.0.0.0/8` subdividido em /24 por stack: ingress, public, dbn, mongo-cluster, pro_leantime_net, design_internal, proxy_proxy-net + +### Comandos úteis +```bash +docker stack ls +docker service ls +docker network inspect +docker service inspect --format '{{json .Config.Labels}}' +``` + +### ⚠️ Portainer API Notas +- Access token `ptr_*` ≠ JWT admin completo — validar okrespo no UI +- Senha admin no Portainer deve ser trocada periodicamente — não documentada no pulse-memory +- Mutação de stacks: usar Portainer UI ou `docker stack deploy` diretamente (não alterar arquivos de config em containers Alpine — não tem editor) diff --git a/pulse-docs b/pulse-docs new file mode 160000 index 0000000..b2b5d2d --- /dev/null +++ b/pulse-docs @@ -0,0 +1 @@ +Subproject commit b2b5d2dc30eebde429518625033d1513b426ce12