Producers de OSIRIS JSON
Los producers de OSIRIS son herramientas de snapshot de solo lectura que se conectan a plataformas de infraestructura, recopilan datos de topología y configuración, y emiten un documento OSIRIS JSON conforme al estándar. Cada producer está orientado a un proveedor o plataforma cloud específica.
Qué hacen los producers
Un producer realiza cuatro pasos:
-
Discovery
Se conecta a la plataforma de destino y enumera todos los recursos dentro del alcance.
-
Normalization
Mapea modelos de datos específicos del proveedor a tipos de recurso, conexiones y grupos de OSIRIS JSON, enriqueciendo otros detalles si es necesario.
-
Redaction and safety guardrails
Elimina secretos, credenciales y valores sensibles de configuración antes de la emisión.
-
Emission
Genera un documento OSIRIS JSON válido en stdout o en un archivo, listo para su validación.
Producers disponibles
Los producers se publican de forma incremental. Cisco es el primer producer disponible; los demás están planificados y llegarán después.
router Proveedores de red
Cisco
APIC, NX-OS, IOS-XE
Arista
EOS
Nokia
SR Linux, EDA
HPE
Apstra
Juniper
Junos
cloud Hyperscalers
Instalación
Los producers se distribuyen como binarios Go. Necesitas tener instalado Go 1.25+.
Instálalo todo (core dispatcher + todos los producers de proveedor disponibles):
go install go.osirisjson.org/producers/cmd/...@latest
O instala solo lo que necesites: el core dispatcher y un producer de proveedor específico:
go install go.osirisjson.org/producers/cmd/osirisjson-producer@latest
go install go.osirisjson.org/producers/cmd/osirisjson-producer-cisco@latest
La tabla siguiente lista todos los packages instalables:
| Package | Description | Status |
|---|---|---|
cmd/osirisjson-producer | Dispatcher principal de la CLI - enruta osirisjson-producer <vendor> ... a binarios de proveedor | available |
cmd/osirisjson-producer-cisco | Producer Cisco (APIC, NX-OS, IOS-XE) | available |
El core dispatcher (osirisjson-producer) detecta binarios de 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 de la CLI del producer
Todos los producers comparten una CLI de estilo dispatcher:
osirisjson-producer <vendor> [subcommand] [flags]
La salida siempre se valida después a través de la 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:
- Ejecuta el producer contra tu plataforma de destino con las credenciales adecuadas.
- Valida la salida usando
@osirisjson/clicon el perfilstrict. - Revisa el snapshot como un artefacto de arquitectura, almacénalo, 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 producers es analizado continuamente por SonarCloud en busca de vulnerabilidades, code smells y security hotspots. Todo pull request debe pasar un quality gate que exige una A security rating antes de poder fusionarse.
Además, los producers incluyen guardrails de seguridad integrados:
- Secret redaction - la flag
--safe-failure-mode(por defecto:fail-closed) evita que credenciales y valores sensibles se filtren en la salida JSON. - Read-only access - los producers nunca modifican la configuración del dispositivo. Todas las llamadas API y RPC NETCONF son operaciones de solo lectura.
- No persistent storage - los producers no almacenan credenciales en caché ni guardan datos más allá del archivo JSON emitido.
Qué leer a continuación
- Consulta las páginas de producers específicos por proveedor para ver detalles sobre instalación, sistemas de origen, autenticación y alcance de la salida.
- Lee la guía de validación para entender cómo verificar la salida del producer.
- Consulta el ejemplo de infraestructura IT y el ejemplo de infraestructura OT para ver un ejemplo completo de documento OSIRIS JSON.