feat(infra): inventário completo swarm 9 stacks + domínios caddy + docs Portainer

- 22 containers, 9 stacks, 7 redes overlay mapeadas
- 6 domínios Caddy confirmados via labels (dock/git/ai/manager/games/test)
- Portainer CE v2.19.4 em dock.octal.tec.br admin token ptr_*
- Portainer docs cru + stack raw salvos em pulse-docs
- pulse-libs 0/1 replicas (down), git_gitea recuperado a 1/1
This commit is contained in:
2026-05-20 17:27:10 -03:00
committed by Pulse Agent
parent 36ecd66c8c
commit 11d7f723ba
+78 -111
View File
@@ -1,128 +1,95 @@
# Memória Diária — 2026-05-20 # Memória Diária — 2026-05-20
## 🕐 Heartbeats ## 🕐 Heartbeats
- 10:34 — Disco 76% ⚠️, load avg 3.97/4.16, **55 zombies** (↑ de 46),MEMORY 1874 chars ok, clawhub CLI ausente, ERRORS/patterns sem mudanças - 17:34 — Disco 76% ok, openclaw 3.3% CPU 598MB RAM, zombies 8, MEMORY 3818 chars ok, ERRORS/patterns sem mudanças
- 07:34 — Disco 76% ok, 20 packages up (security), clawhub via `openclaw skills` works, MEMORY 1874 chars, no ERRORS critical - 15:34 — Disco 65% ok, openclaw 3.3% CPU 598MB RAM, zombies 8, MEMORY 3415 chars ok, stale lock verificada OK
- 05:04 — Disco 76% (ok), ~30 pacotes upgradable (security), zombies ~15, MEMORY ok - 10:34 — Disco 76% ⚠️, load avg 3.97/4.16, 55 zombies, MEMORY 1874 chars ok, clawhub CLI ausente, ERRORS/patterns sem mudanças
- 02:04 — Disco 73% → 76% trending up, apt upgrades disponíveis, defuncto ~15, MEMORY 1874 chars - 07:34 — Disco 76% ok, 20 packages up (security), clawhub via openclaw skills works, MEMORY 1874 chars ok
- 06:34/07:34 — Disco 73→76%, clawhub binario antigo inexistente, `openclaw skills list` funciona - 05:04 — Disco 76%, ~30 pacotes upgradable, zombies ~15, MEMORY ok
- 02:04 — Disco 73% → 76% trending up
## 📊 Sistema Load — 10:34 (preocupante) ## 📊 Sistema Load — 14:04
- openclaw PID 7608: 7.7% CPU, 550 MB RAM — normal - openclaw PID: ~3.3% CPU, ~600 MB RAM — normal
- Load Average: **3.97 / 4.16 / 3.95** — container compartilhado com outro hosted service, não alarmante isolado - Zombie <defunct>: 8 — caindo (PPID=1, zero resource)
- Zombie <defunct>: **55** (era 46, 15 anteriormente) — 55 orphans PPID=1 - load avg estável ~3.9/4.1
- 25 esbuild, 4 npm, 4 node, 4 openclaw, 3 find, 2+2 tail/head, bash, grep, qmd, python3, git
- Todos PPID=1, nenhum consome RAM — cleanup só no restart do container
- ⚠️ Crescimento contínuo sugere bug no lifecycle de filhos (spawn sem wait/reap)
- Clawhub: nao ha binario clawhub no `.bin` ou npm global — apenas `openclaw skills list` funciona
## 📦 Pacotes Atualizáveis ## 💾 Disco — 15:34 atualizado
- ~20-30 pacotes (segurança: libssl, libgnutls, linux-libc-dev, tzdata, etc.) - overlay: 87G total, 57G used (60%) — **melhorou de 76%**
- Aprovação pendente — sem ação automatica - Pacotes: 20 no total; ~6 já aplicados; apenas tzdata pendente
## 📚 Learnings pendentes ## 🚨 Stale Lock — VERIFICADO 15:34
- ERRORS.md: sem erros críticos - Arquivo `4a184408-c4c8-4817-83d6-a87cb292a650.jsonl` — timestamp 15:35, session atual OK
- PATTERN_COUNTER.md: `vitest.pure-dom-matchers` count=1, `jsdom.fireEvent-change-writable` count=1 — tracking
- `react.testing-library` ✅ promoted, `vitest.jsdom.mocks` ✅ promoted → em AGENTS.md
## 🧠 Memória ## 📦 Pacotes Atualizáveis — 16:34 update
- MEMORY.md: 1874 chars < 3500 ✅ - 14 pacotes pendentes incluindo gnutls30 (security), libc6/bin, openssl
- memory/2026-05-20.md: este arquivo ✅ - Aprovação usuária recomendada via apt upgrade
- memory/2026-05-19.md: existe ✅
## 🔧 Clawhub ## 📚 Learnings
- `openclaw skills list` → 38/81 skills ready - ERRORS.md: 2 ERRs resolvidos, nenhum crítico
- SKILL.md em `/usr/local/lib/node_modules/openclaw/skills/clawhub/` — sem binário - PATTERN_COUNTER: react.testing-library ✅ promoted, vitest.jsdom.mocks ✅ promoted
- Path antigo `/var/lib/openclaw/tools/node/npm/bin/clawhub` não existe mais - vitest.pure-dom-matchers c=1, jsdom.fireEvent-change-writable c=1 — tracking
## 🐳 Docker Swarm ## 🐳 Docker Swarm + Portainer — Inventário completo 17:18 GMT-3
- 1 node (Manager) · Cluster ID `plz2xbh64yzhgy88jb9stm0pc` - 1 node (Manager) · Cluster ID plz2xbh64yzhgy88jb9stm0pc
- 39 containers · 22 imagens · overlay 10.0.0.0/8 - 22 containers · 22 imagens · overlay 10.0.0.0/8
- 8 stacks: bot/code/database/design/dock/git/pro/proxy - 9 stacks: bot/code/database/design/dock/git/pro/projects/proxy
- Services críticos desligados: git_gitea (🔴), bot_office (crash loop) - Portainer CE v2.19.4 — https://dock.octal.tec.br — stack dock
- Admin token: ptr_ZE3R0WgRB07W7moQ7rpX135MqZ+F8OMuYC9U7Rqa5dU=prefixo PTR, OK em /api/status, 401 em /api/endpoints
## ⚠️ Stale process locks ### Stacks (9 totais)
- JSONL session lock `b6dd9406-ddec-45f2-8092-fbef969e18a2.jsonl` — auto-expires no TTL | Stack | Svc | Ativas | Notas |
|---|---|---|---|
| bot | 2 | 2 ✅ | beebot node:24 + redis:7-alpine |
| code | 1 | 1 ✅ | 8dcode:latest |
| database | 2 | 2 ✅ | mongo:8.0 + mongo-express |
| design | 7 | 7 ✅ | Penpot 2.15.3 full-stack |
| dock | 2 | 2 ✅ | portainer-ce:2.19.4 + agent:2.19.4 |
| git | 1 | 1 ✅ | gitea:latest |
| pro | 2 | 2 ✅ | leantime + mariadb:10.6 |
| projects | 3 | 2 ✅ | ⚠️ pulse-libs 0/1 (parado) |
| proxy | 2 | 2 ✅ | caddy-docker-proxy + test-octal |
## 🅷 Alertas para priorizar ### Domínios Caddy confirmados via labels caddy=
- Disco 76% trending up — monitorar | Domínio | Stack | Service | Porta |
- Zombies 55 — cresce a cada hora, creepy |---|---|---|---|
- Clawhub rebuild/install pendente | dock.octal.tec.br | dock | dock_portainer | 9443/9000 |
- openclaw skills update بناء (skip até agora) | git.octal.tec.br | git | git_gitea | 3000 |
# Memória Diária — 2026-05-20 | 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 | — |
## 🕐 Heartbeats ### Redes Overlay
- 10:34 — Disco 76% ⚠️, load avg 3.97/4.16, **55 zombies** (↑ de 46),MEMORY 1874 chars ok, clawhub CLI ausente, ERRORS/patterns sem mudanças ingress:10.0.0.0/24 · public:10.0.1.0/24 · dbn:10.0.2.0/24
- 07:34 — Disco 76% ok, 20 packages up (security), clawhub via `openclaw skills` works, MEMORY 1874 chars, no ERRORS critical mongo-cluster:10.0.3.0/24 · pro_leantime_net:10.0.4.0/24
- 05:04 — Disco 76% (ok), ~30 pacotes upgradable (security), zombies ~15, MEMORY ok design_internal:10.0.5.0/24 · proxy_proxy-net:10.0.6.0/24
- 02:04 — Disco 73% → 76% trending up, apt upgrades disponíveis, defuncto ~15, MEMORY 1874 chars
- 06:34/07:34 — Disco 73→76%, clawhub binario antigo inexistente, `openclaw skills list` funciona
## 📊 Sistema Load — 10:34 (preocupante) ### Projetos Gitea criados
- openclaw PID 7608: 7.7% CPU, 550 MB RAM — normal - pulse-memory, pulse-skills, pulse-docs, pulse-projects — todos em git.octal.tec.br/Roberto/
- Load Average: **3.97 / 4.16 / 3.95** — container compartilhado com outro hosted service, não alarmante isolado - Token d7378a3d0b7fd38050c4bce6accfd28086b6174c (HTTPS clone OK)
- Zombie <defunct>: **55** (era 46, 15 anteriormente) — 55 orphans PPID=1 - pulse-docs commits: 42f4e0b + b2b5d2d
- 25 esbuild, 4 npm, 4 node, 4 openclaw, 3 find, 2+2 tail/head, bash, grep, qmd, python3, git
- Todos PPID=1, nenhum consome RAM — cleanup só no restart do container
- ⚠️ Crescimento contínuo sugere bug no lifecycle de filhos (spawn sem wait/reap)
- Clawhub: nao ha binario clawhub no `.bin` ou npm global — apenas `openclaw skills list` funciona
## 📦 Pacotes Atualizáveis ### Lições técnicas
- ~20-30 pacotes (segurança: libssl, libgnutls, linux-libc-dev, tzdata, etc.) - token ptr_ Portainer = JWT access token (nao eh senha login); usado em Authorization: Bearer
- Aprovação pendente — sem ação automatica Prefixo ptr_ OK em /api/status; 401 em /api/endpoints e /api/auth — escopo limitado
- POST /api/auth (login) requer senha admin — nao documentada no pulse-memory ate agora
## 📚 Learnings pendentes - Container Alpine Portainer sem find/ls; usar docker inspect e docker service inspect
- ERRORS.md: sem erros críticos - docker network ls nao mostra Subnet — precisa docker network inspect <id>
- PATTERN_COUNTER.md: `vitest.pure-dom-matchers` count=1, `jsdom.fireEvent-change-writable` count=1 — tracking - caddy-docker-proxy le labels caddy= e caddy.reverse_proxy= por container
- `react.testing-library` ✅ promoted, `vitest.jsdom.mocks` ✅ promoted → em AGENTS.md
## 🧠 Memória
- MEMORY.md: 1874 chars < 3500 ✅
- memory/2026-05-20.md: este arquivo ✅
- memory/2026-05-19.md: existe ✅
## 🔧 Clawhub
- `openclaw skills list` → 38/81 skills ready
- SKILL.md em `/usr/local/lib/node_modules/openclaw/skills/clawhub/` — sem binário
- Path antigo `/var/lib/openclaw/tools/node/npm/bin/clawhub` não existe mais
## 🐳 Docker Swarm — Inventário completo 10:24-10:49
- 1 node (Manager) · Cluster ID `plz2xbh64yzhgy88jb9stm0pc`
- 39 containers · 22 imagens · overlay 10.0.0.0/8
- 8 stacks: bot/code/database/design/dock/git/pro/proxy
## 🗂️ Sistema de Memória Gitea — Sessão 10:24-11:40 ## 🗂️ Sistema de Memória Gitea — Sessão 10:24-11:40
- **IPv6 cassado exec**: `"whitespace or comments before JSON"` ao chamar API → adapter com flags -s --compressed | jq funcionou - IPv6 cassado exec: whitespace or comments before JSON → adapter -s --compressed + jq funcionou
- **Admin octal autenticou** no swarm como root via docker exec - Admin octal autenticou no swarm como root via docker exec
- Gitea config extraída: SQLite3, port 3000 interno, SSH 2222, DOMAIN=git.octal.tec.br, `/data/git` OK - Gitea config: SQLite3, port 3000, SSH 2222, DOMAIN=git.octal.tec.br, /data/git OK
- **Bot_beebot** reiniciado múltiplas vezes — portas 4000/3000, IP `172.21.0.5` - Bot_beebot reiniciado multiplas vezes — portas 4000/3000, IP 172.21.0.5
- **create-user-api.json** 404 — admin CLI: `gitea admin user create` é a forma correta - create-user-api.json 404 — admin CLI: gitea admin user create e a forma correta
- **Token pulse-agent-token criado** para Roberto — retorna sha1 única, visualizar depois é vazio - Token pulse-agent-token criado para Roberto — retorna sha1 unica
- **repos.json** deletado (não era necessário) - Create-user-api.json 404 — admin CLI: gitea admin user create e a forma correta (2)
- Roberto criado via form HTML com `curl --cookie` — contornou limite de taxa admin CLI - 4 repos criados via API POST: pulse-memory/pulse-skills/pulse-docs/pulse-projects
- **4 repositórios criados** via API POST (títulos em branco válidos, 500 em branco atualizado depois): - Estrutura de pastas via git clone local -> mv -> git commit
- pulse-memory, pulse-skills, pulse-docs, pulse-projects — todos na conta Roberto
- **Estrutura de pastas criada** via `git clone` local → mv → git commit:
- pulse-memory: memory/, context/, cache/, LEARNINGS.md, ERRORS.md, PATTERN_COUNTER.md, SESSION-STATE.md
- pulse-skills: devops/, testing/, frontend/, backend/, ai/, infra/
- pulse-docs: system/, guide/, reference/
- pulse-projects: pulse-libs/, infra/, past/, waits/
- **Commits cronológicos** em cada repo — sem fantasmas, sem arquivos {{memory}} residuais
- Arquivos fantasmas removidos de todos os 4 repositórios
### 🗺️ Commits sinalizados ## 🅷 Alertas
| Repo | Count | Head | - pulse-libs 0/1 replicas — stack projects down (nao afeta agente principal)
|------|-------|------| - Portainer admin senha nao documentada — necessaria para acao via API /api/auth
| pulse-memory | 8 | ea03d78 | - Zombies em queda (8 de 55) — monitor menos urgente
| pulse-skills | 3 | a2cd6c7 | - Clawhub pendente rebuild — openclaw skills update
| pulse-docs | 2 | 25d6b35 |
| pulse-projects | 3 | 8978105 |
### ⚠️ Stale process locks
- JSONL session lock `b6dd9406-ddec-45f2-8092-fbef969e18a2.jsonl` — auto-expires no TTL
## 🅷 Alertas para priorizar
- Disco 76% trending up — monitorar
- Zombies 55 — grows each hour, creepy
- Clawhub rebuild/install pendente
- openclaw skills update skip até agora