person Tia Zanella
calendar_add_on Created March 17, 2026
update Updated April 5, 2026
Share
download Download MD

Productores OSIRIS JSON

Los productores de OSIRIS son herramientas de snapshots de solo lectura que se conectan a plataformas de infraestructura, recopilan datos de topología y configuración, y emiten un documento OSIRIS JSON compatible con el estándar. Cada productor está orientado a un proveedor o plataforma cloud específico.

Qué hacen los productores

Un productor realiza cuatro pasos:

  • Descubrimiento

    Se conecta a la plataforma de destino y enumera todos los recursos dentro del alcance.

  • Normalización

    Mapea modelos de datos específicos del proveedor a tipos de recurso, conexiones y grupos de OSIRIS JSON, enriqueciendo otros detalles si es necesario.

  • Redacción y salvaguardas de seguridad

    Elimina secretos, credenciales y valores de configuración sensibles antes de la emisión.

  • Emisión

    Genera un documento OSIRIS JSON válido en stdout o en un archivo, listo para validarse.

Productores disponibles

Los productores se publican de forma incremental. Cisco es el primer productor disponible; otros están planeados y llegarán después.

Instalación

Los productores se distribuyen como binarios de Go. Necesitas tener instalado Go 1.25+.

Instala todo (dispatcher principal + todos los productores de proveedor disponibles):

go install go.osirisjson.org/producers/cmd/...@latest

O instala solo lo que necesites: el dispatcher principal y un productor específico del proveedor:

go install go.osirisjson.org/producers/cmd/osirisjson-producer@latest
go install go.osirisjson.org/producers/cmd/osirisjson-producer-cisco@latest

La siguiente tabla enumera todos los packages que se pueden instalar:

PackageDescripciónEstado
cmd/osirisjson-producerDispatcher principal de CLI: enruta osirisjson-producer <vendor> ... a binarios de proveedoravailable
cmd/osirisjson-producer-ciscoProductor de Cisco (APIC, NX-OS, IOS-XE)available

El dispatcher principal (osirisjson-producer) detecta los binarios del proveedor en tu PATH y enruta el comando al correcto. Sin él, debes invocar el binario del proveedor directamente con su nombre completo (por ejemplo, osirisjson-producer-cisco en lugar de osirisjson-producer cisco).

Asegúrate de que $GOPATH/bin (o $HOME/go/bin) esté en tu PATH.

Forma del CLI del productor

Todos los productores comparten un CLI con estilo de dispatcher:

osirisjson-producer <vendor> [subcommand] [flags]

La salida siempre se valida después mediante el CLI de OSIRIS JSON, por ejemplo:

osirisjson-producer <vendor> <subcommand> --host device.example.com > snapshot.json
npx @osirisjson/cli validate --profile strict snapshot.json

Flujo de trabajo típico

Para arquitectos de soluciones y auditores, el flujo de trabajo recomendado es:

  1. Ejecuta el productor contra tu plataforma objetivo con las credenciales adecuadas.
  2. Valida la salida usando @osirisjson/cli con el perfil strict.
  3. Revisa el snapshot como artefacto de arquitectura, guárdalo, compáralo con el tiempo y adjúntalo a auditorías.
# Generate snapshot
osirisjson-producer cisco apic -h apic.example.com -u admin > snapshot.json

# Validate
npx @osirisjson/cli validate --profile strict snapshot.json

# Compare with previous snapshot
diff <(jq -S . previous.json) <(jq -S . snapshot.json)

Seguridad

El código fuente de los productores se analiza continuamente con SonarCloud para detectar vulnerabilidades, code smells y security hotspots. Cada pull request debe pasar una compuerta de calidad que exige una calificación de seguridad A antes de poder fusionarse.

Además, los productores incluyen salvaguardas de seguridad integradas:

  • Redacción de secretos - la flag --safe-failure-mode (predeterminada: fail-closed) evita que credenciales y valores sensibles se filtren en la salida JSON.
  • Acceso de solo lectura - los productores nunca modifican la configuración del dispositivo. Todas las llamadas de API y NETCONF RPC son operaciones de solo lectura.
  • Sin almacenamiento persistente - los productores no almacenan en caché credenciales ni guardan datos más allá del archivo JSON emitido.

Qué leer después

edit_note

Help improve this page

Found an issue or want to contribute? Open an issue.