docs: note JWT rotation ready but blocked on supabase compose
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -43,6 +43,9 @@ scripts/dokploy_traefik_insert.py
|
||||
scripts/dokploy_traefik_only.py
|
||||
scripts/dokploy_traefik_unlock.py
|
||||
scripts/dokploy_view_deploy_error.py
|
||||
scripts/dokploy_collect_supabase_env.py
|
||||
scripts/dokploy_find_jwt_secret.py
|
||||
scripts/dokploy_prepare_key_rotation.py
|
||||
tsconfig.tsbuildinfo
|
||||
|
||||
# debug / OS
|
||||
|
||||
@@ -7,7 +7,8 @@ El PDF “Agencia 2030” y el antiguo `.env.example` del repo contenían **JWTs
|
||||
|
||||
### Rotación (checklist — hacerlo en ventana corta)
|
||||
|
||||
1. Supabase Studio → Settings → API → **regenerar** `anon` y `service_role`.
|
||||
1. Supabase Studio → Settings → API → **regenerar** `anon` y `service_role`
|
||||
**o** (self-hosted) cambiar `JWT_SECRET` / `GOTRUE_JWT_SECRET` y emitir JWTs nuevos.
|
||||
2. Dokploy → client-portal Environment: pegar anon + service_role nuevos → Save → Deploy.
|
||||
3. n8n (credenciales Supabase / HTTP headers): actualizar API keys.
|
||||
4. Local: actualizar `.env.local` (gitignored); no tocar `.env.example` (placeholders).
|
||||
@@ -15,7 +16,10 @@ El PDF “Agencia 2030” y el antiguo `.env.example` del repo contenían **JWTs
|
||||
6. Smoke: `curl /api/health` → `serviceRoleConfigured true`; `python3 scripts/smoke_operator_login.py`.
|
||||
7. Rotar `ANTHROPIC_API_KEY` si estuvo en chats/docs (opcional, independiente).
|
||||
|
||||
**No automatizar la regeneración** desde scripts: hace falta confirmación en Studio.
|
||||
**Estado 2026-09-21:** claves nuevas **preparadas** en `.ops/supabase_rotated.env` (gitignored).
|
||||
**Aplicación bloqueada:** el stack vivo (`ventures-web-supabase-gm0nnn-*`) no tiene compose editable en Dokploy (`4ventures-infra` está en `error` / `composeFile` vacío) y SSH al VPS (`187.77.170.176:22`) hace timeout. Sin recrear contenedores con el nuevo `JWT_SECRET`, los JWT filtrados **siguen válidos**.
|
||||
|
||||
**Desbloqueo:** acceso host (SSH/VPN) o restaurar el compose Supabase en Dokploy → sustituir env → recrear servicios auth/kong/rest/studio → Deploy client-portal.
|
||||
|
||||
## Superficies a restringir (amenaza)
|
||||
|
||||
|
||||
@@ -45,6 +45,10 @@ Detalle / revert: `.ops/HARDEN_SURFACES.md`. Re-aplicar: `python3 scripts/dokplo
|
||||
|
||||
`app.4ventures.es` y Dokploy **sin** allowlist.
|
||||
|
||||
## Rotación JWT Supabase
|
||||
|
||||
Claves nuevas en `.ops/supabase_rotated.env` (gitignored). Aplicar requiere recrear el stack Supabase (ver `SECURITY.md`).
|
||||
|
||||
## Incidentes
|
||||
|
||||
Ver `SECURITY.md`.
|
||||
|
||||
Reference in New Issue
Block a user