RRelo Docs
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:

  1. Revisa si ya existe un conversor en docs-site/scripts/convert-api-docs.js.
  2. Ajusta las rutas de origen/destino en el script si es necesario.
  3. Corre el script:
    cd docs-site
    node scripts/convert-api-docs.js
  4. Si el build falla por imágenes, copia los assets a docs-site/public/assets/ y actualiza las rutas a /assets/....
  5. Limpia caché y haz build:
    rm -rf .astro dist node_modules/.astro node_modules/.vite
    npm run build
  6. Deploy:
    npx wrangler pages deploy dist --project-name relo-docs --branch main --commit-dirty=true
  7. Actualiza docs-site/src/content/docs/audit.mdx para reflejar el estado migrado.
  8. Commitea docs-site/ y push a main.

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:

  1. Identifica el id de client_data_sources.
  2. Genera un nuevo token seguro:
    openssl rand -hex 32
  3. Actualiza solo el campo auth_token dentro de extra_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>;
  4. Si usas la API REST de Supabase, usa PATCH con el jsonb completo (incluyendo event_map, partner_param, dedup_field, etc.).
  5. Verifica que el endpoint devuelve 200 con la nueva key y 401 con la vieja.
  6. Actualiza todos los postbacks/configuraciones del partner/red con la nueva URL.
  7. 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 status limpio 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 /tmp de servidores compartidos.
  • Rota tokens que hayan quedado expuestos en chats, logs o PRs.

On this page