Operaciones
Runbooks de ops
Procedimientos operativos recurrentes para mantener docs, tokens y data de prueba en orden.
Migrar documentación legacy a docs.relo.mx
Diagrama interactivo
Cargando diagrama…
Cuando haya HTML estático viejo en docs/api-docs/ (u otra carpeta) que deba vivir en el docs site canonical:
- Revisa si ya existe un conversor en
docs-site/scripts/convert-api-docs.js. - Ajusta las rutas de origen/destino en el script si es necesario.
- Corre el script:
cd docs-site node scripts/convert-api-docs.js - Si el build falla por imágenes, copia los assets a
docs-site/public/assets/y actualiza las rutas a/assets/.... - Limpia caché y haz build:
rm -rf .astro dist node_modules/.astro node_modules/.vite npm run build - Deploy:
npx wrangler pages deploy dist --project-name relo-docs --branch main --commit-dirty=true - Actualiza
docs-site/src/content/docs/audit.mdxpara reflejar el estado migrado. - Commitea
docs-site/y push amain.
Rotar el auth token de una fuente externa (Everflow / GA4 / Admitad)
Si la URL con ?key=... de una fuente se comparte por chat/email/público:
- Identifica el
iddeclient_data_sources. - Genera un nuevo token seguro:
openssl rand -hex 32 - Actualiza solo el campo
auth_tokendentro deextra_config(jsonb). No sobreescribas todo el objeto o perderás el mapeo de campos.UPDATE client_data_sources SET extra_config = jsonb_set( extra_config, '{auth_token}', to_jsonb('NUEVO_TOKEN'::text) ) WHERE id = <source_id>; - Si usas la API REST de Supabase, usa
PATCHcon el jsonb completo (incluyendoevent_map,partner_param,dedup_field, etc.). - Verifica que el endpoint devuelve
200con la nueva key y401con la vieja. - Actualiza todos los postbacks/configuraciones del partner/red con la nueva URL.
- Documenta la rotación en el playbook correspondiente.
Limpiar datos de QA de una integración
Después de probar postbacks S2S, borra los eventos de prueba:
ClickHouse (eventos de conversión):
ALTER TABLE relo.events DELETE
WHERE client_id = <client_id>
AND event_properties['action_id'] LIKE 'TEST_%';
Supabase (status de acciones):
DELETE FROM network_action_statuses
WHERE client_id = <client_id>
AND action_id LIKE 'TEST_%';
Si usaste otro prefijo de prueba, reemplaza TEST_%.
Housekeeping del repo
Periódicamente:
git statuslimpio antes de terminar una sesión.- Borra ramas locales ya mergeadas:
git branch --merged main | grep -v '^\* main$' | xargs git branch -d - No dejes scripts con credenciales en
/tmpde servidores compartidos. - Rota tokens que hayan quedado expuestos en chats, logs o PRs.