infraestrutura: actualiza mapa de portas do gateway e regras de operação
Corrige a próxima porta livre (a 3188 documentada estava ocupada e causou um deploy falhado), regista o router youtube e o ssh-unified, e acrescenta três regras: backups do nginx nunca em sites-enabled/, cruzar sempre ss -tlnH com as portas roteadas, e contar ~40s de arranque nos MCPs Python/FastMCP.
This commit is contained in:
@@ -35,7 +35,6 @@ Gestao e health check dos MCPs no servidor gateway (VM 103, gateway.descomplicar
|
|||||||
| 2 | mcp-wikijs | 3152 | /v1/wikijs/mcp | P3 |
|
| 2 | mcp-wikijs | 3152 | /v1/wikijs/mcp | P3 |
|
||||||
| 5 | mcp-moloni | 3158 | /v1/moloni/mcp | P2 |
|
| 5 | mcp-moloni | 3158 | /v1/moloni/mcp | P2 |
|
||||||
| 6 | mcp-youtube-research | 3157 | /v1/youtube-research/mcp | P3 |
|
| 6 | mcp-youtube-research | 3157 | /v1/youtube-research/mcp | P3 |
|
||||||
| 7 | mcp-youtube | 3187 | /v1/youtube/mcp | P3 |
|
|
||||||
|
|
||||||
### systemd (24 services)
|
### systemd (24 services)
|
||||||
|
|
||||||
@@ -64,9 +63,15 @@ Gestao e health check dos MCPs no servidor gateway (VM 103, gateway.descomplicar
|
|||||||
| presenton-mcp | 3182 | /v1/presenton/mcp | supergateway | P3 |
|
| presenton-mcp | 3182 | /v1/presenton/mcp | supergateway | P3 |
|
||||||
| cwp-mcp | 3183 | /v1/cwp/mcp | supergateway | P3 |
|
| cwp-mcp | 3183 | /v1/cwp/mcp | supergateway | P3 |
|
||||||
| design-engine-mcp | 3184 | /v1/design-engine/mcp | supergateway | P3 |
|
| design-engine-mcp | 3184 | /v1/design-engine/mcp | supergateway | P3 |
|
||||||
|
| mcp-youtube-router | 3198 | /v1/youtube/mcp | Python/Starlette | P3 |
|
||||||
|
| mcp-youtube | 3187 | (nenhuma — upstream interno) | Python/FastMCP | P3 |
|
||||||
|
| mcp-youtube-desc | 3199 | (nenhuma — upstream interno) | Python/FastMCP | P3 |
|
||||||
|
| ssh-unified | 3192 | /v1/ssh-unified/mcp | Python/FastMCP | P3 |
|
||||||
|
|
||||||
**Prioridades:** P1=critico (bloqueia trabalho) | P2=importante (degrada workflow) | P3=util
|
**Prioridades:** P1=critico (bloqueia trabalho) | P2=importante (degrada workflow) | P3=util
|
||||||
**Proxima porta livre:** 3188
|
**Proxima porta livre:** 3185 (depois: 3186, 3201). **Verificar sempre** — este mapa
|
||||||
|
ficou desactualizado e a "3188" que aqui constava estava ocupada, causando um deploy falhado (30-07-2026):
|
||||||
|
`ss -tlnH` cruzado com `grep -oE "127.0.0.1:3[0-9]{3}" /etc/nginx/sites-enabled/mcp-gateway`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -203,6 +208,13 @@ IP autorizado: `188.251.199.30`. Actualizar em `/etc/nginx/sites-enabled/` se mu
|
|||||||
- **Sempre** reportar estado mesmo que tudo OK
|
- **Sempre** reportar estado mesmo que tudo OK
|
||||||
- **Sempre** testar endpoint apos restart
|
- **Sempre** testar endpoint apos restart
|
||||||
- **Sempre** actualizar mapa de portas ao adicionar/remover MCPs
|
- **Sempre** actualizar mapa de portas ao adicionar/remover MCPs
|
||||||
|
- **Nunca** guardar backups do nginx dentro de `sites-enabled/` — o include e por
|
||||||
|
wildcard, o backup passa a ser carregado e `nginx -t` falha com `duplicate log_format`,
|
||||||
|
quebrando *todo* o gateway. Backups vao para `/root/`.
|
||||||
|
- **Nunca** confiar no "proxima porta livre" deste ficheiro sem cruzar `ss -tlnH` com as
|
||||||
|
portas roteadas no nginx.
|
||||||
|
- **Contar** ~40s de arranque nos MCPs Python/FastMCP no gateway (import lento, I/O de
|
||||||
|
disco). Um probe imediato apos `systemctl start` da falso negativo — aguardar o bind.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -215,7 +227,9 @@ IP autorizado: `188.251.199.30`. Actualizar em `/etc/nginx/sites-enabled/` se mu
|
|||||||
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
|
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
|
||||||
|
|
||||||
```jsonl
|
```jsonl
|
||||||
{"date":"","issue":"","fix":"","source":"user|auto"}
|
{"date":"2026-07-30","issue":"Backup do nginx criado em sites-enabled/ -> duplicate log_format mcp_audit -> nginx -t falhou para todo o gateway","fix":"Backups para /root/. Verificar com nginx -t apos remover.","source":"auto"}
|
||||||
|
{"date":"2026-07-30","issue":"Skill anunciava 3188 como proxima porta livre; estava ocupada -> deploy abortou","fix":"Cruzar ss -tlnH com grep 127.0.0.1:3XXX no nginx antes de escolher porta","source":"auto"}
|
||||||
|
{"date":"2026-07-30","issue":"Probe tools/list imediatamente apos systemctl start deu falso negativo (FastMCP demora ~40s a bindar)","fix":"Poll da porta com timeout antes do probe HTTP","source":"auto"}
|
||||||
```
|
```
|
||||||
|
|
||||||
*Adicionar nova linha após cada erro corrigido.*
|
*Adicionar nova linha após cada erro corrigido.*
|
||||||
|
|||||||
Reference in New Issue
Block a user