From b9052f37bb6d7422dd59b4d2034603cf1fb095b5 Mon Sep 17 00:00:00 2001 From: Francisco Solla Date: Tue, 15 Sep 2026 15:42:12 -0300 Subject: [PATCH] =?UTF-8?q?docs(ops):=20staging.jorgesolla1313.com.br=20vi?= =?UTF-8?q?vo=20no=20t=C3=BAnel=20Cloudflare=20(ingress=20zero;=20runbook?= =?UTF-8?q?=20atualizado)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/changelog/2026-09-15-staging-tunnel.md | 1 + docs/ops/teqo-1313-deploy.md | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 docs/changelog/2026-09-15-staging-tunnel.md diff --git a/docs/changelog/2026-09-15-staging-tunnel.md b/docs/changelog/2026-09-15-staging-tunnel.md new file mode 100644 index 00000000..220f2542 --- /dev/null +++ b/docs/changelog/2026-09-15-staging-tunnel.md @@ -0,0 +1 @@ +**Staging no túnel Cloudflare (2026-09-15):** `https://staging.jorgesolla1313.com.br` passou a responder pela edge Cloudflare (HTTP 200 em `/`, `/campanha/login` e `/admin`) apontando para o staging container do homeserver. O túnel `home` é remotely-managed (`cloudflared tunnel run --token`), então o ingress vive na API: inserido `staging.jorgesolla1313.com.br → http://localhost:1314` no config (versão 7, antes do catch-all `http_status:404`) e criado o CNAME `staging` → `991f49e4-…-cfargotunnel.com` (proxied) na zona `jorgesolla1313.com.br` — ambos via `CLOUDFLARE_API_TOKEN` de `~/Code/infra-solla/.env`; `docker restart cloudflared` aplicou a rota. Acesso direto por IP Tailscale (`100.119.220.31:1314`) continua não funcionando por design: os containers bindam só em `127.0.0.1` no homeserver. Runbook atualizado em `docs/ops/teqo-1313-deploy.md` §Staging (bootstrap step 5). \ No newline at end of file diff --git a/docs/ops/teqo-1313-deploy.md b/docs/ops/teqo-1313-deploy.md index 00389359..125c9696 100644 --- a/docs/ops/teqo-1313-deploy.md +++ b/docs/ops/teqo-1313-deploy.md @@ -155,9 +155,18 @@ importa é a de `production`). 4. **Bucket:** criar `teqo-media-staging` no Garage com key própria — nunca reutilizar a key/bucket de produção. 5. **Tunnel/DNS:** ingress `staging.jorgesolla1313.com.br` → - `http://localhost:1314` no cloudflared + DNS no Cloudflare. Opcional - (defesa em profundidade): header `X-Robots-Tag: noindex` no ingress — o - noindex versionado (robots.ts + metadata, OPS103) já cobre crawlers. + `http://localhost:1314` no cloudflared + DNS no Cloudflare. **FEITO em + 2026-09-15** (túnel `home` remotely-managed, `network_mode: host`): no + ingress (config API, versão 7) foi inserido `staging.jorgesolla1313.com.br + → http://localhost:1314` antes do catch-all `http_status:404`; CNAME + `staging` → `.cfargotunnel.com` (proxied) criado na zona + `jorgesolla1313.com.br` (`2ae7416abc4ea930db5ce6782504c578`) via + `CLOUDFLARE_API_TOKEN` em `~/Code/infra-solla/.env`; `docker restart + cloudflared` aplicou. Validação: `https://staging.jorgesolla1313.com.br` + responde 200 (`/`, `/campanha/login`, `/admin`) pela edge com o staging + container. Opcional (defesa em profundidade): header `X-Robots-Tag: + noindex` no ingress — o noindex versionado (robots.ts + metadata, OPS103) + já cobre crawlers. 6. **GitHub Environments:** criar `staging` (sem reviewer) e `production` (required reviewer `fsolla`) em Settings → Environments — **antes do primeiro dispatch** (environment `production` sem reviewer é fail-open).