saltar al contenido principal
Explorar la documentación

Mantén tu catálogo al día

Reejecuta el descubrimiento cuando cambie tu API, intégralo en CI y deja que la detección de deriva en runtime capture lo que se escape.

Tu catálogo de capacidades describe tu API en el momento en que ejecutaste el descubrimiento. Las API cambian, así que la frescura es un ciclo, no un evento único: reejecuta el descubrimiento ante cambios, automatízalo en CI y deja que la detección de deriva en runtime capture lo que se haya escapado.

Reejecuta el descubrimiento cuando cambie la API

Reejecutar init es seguro por diseño: la extracción es determinista, el archivo del catálogo (.syncanix/catalog.json) se reescribe a partir de tu código actual y el catálogo actualizado se sube al mismo workspace. No hay paso de migración: la reejecución ES la actualización.

npx syncanix init

Tu curación sobrevive a la reejecución: las entradas de .syncanixignore se excluyen en cada ejecución porque el archivo vive en tu repositorio, y los ajustes por capacidad hechos en el panel están ligados a la capacidad y se reaplican tras un nuevo escaneo; esa supervivencia está cubierta por una prueba de integración, no por una convención.

Automatízalo: descubrimiento en CI

En CI, ejecuta init de forma no interactiva con --yes y autentícate con la variable de entorno SYNCANIX_API_KEY (genera una clave en el panel y guárdala como secreto de CI; es la misma clave que syncanix login escribiría en local). Un workflow mínimo de GitHub Actions:

# .github/workflows/syncanix-catalog.yml
name: Refresh Syncanix catalog
on:
  push:
    branches: [main]
jobs:
  refresh:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npx syncanix init --yes
        env:
          SYNCANIX_API_KEY: ${{ secrets.SYNCANIX_API_KEY }}

Ejecútalo en los push a tu rama principal (o solo cuando cambien rutas de código de la API, con los filtros de tu CI). El job reextrae, vuelve a subir, y tu asistente recoge el catálogo actualizado; no interviene ningún despliegue de Syncanix.

Detección de deriva en runtime (SDK de Node)

Incluso con CI, puede publicarse un endpoint que el descubrimiento nunca vio. El SDK de Node vigila el tráfico real exactamente para eso: se suscribe al canal de diagnóstico HTTP integrado de Node — sin monkey-patching, con coste cero en reposo — y compara cada petición entrante con el conjunto de capacidades conocido.

Las peticiones que no coinciden con ninguna capacidad conocida emiten un evento de deriva de tipo nuevo-endpoint, deduplicado, que el SDK sube a tu workspace; así el panel te muestra endpoints sirviendo tráfico de producción que tu catálogo no conoce. Trata un evento de deriva como una señal para reejecutar el descubrimiento.

Monorepos y bases de código políglotas

Ejecuta init una vez desde la raíz del repositorio. El descubrimiento detecta todos los stacks de framework que encuentra — entre workspaces y entre lenguajes —, extrae cada uno y fusiona los resultados en un único catálogo; un monorepo con, por ejemplo, una API NestJS y un servicio FastAPI produce un conjunto de capacidades combinado. Si un stack se detecta mal, fíjalo con --framework.

Próximos pasos