Producer di OSIRIS JSON
I producer di OSIRIS sono strumenti di snapshot in sola lettura che si connettono alle piattaforme di infrastruttura, raccolgono dati di topologia e configurazione ed emettono un documento OSIRIS JSON conforme allo standard. Ogni producer è destinato a uno specifico vendor o a una specifica piattaforma cloud.
Cosa fanno i producer
Un producer esegue quattro passaggi:
-
Discovery
Si connette alla piattaforma di destinazione ed enumera tutte le risorse all'interno dell'ambito.
-
Normalization
Mappa i modelli di dati specifici del vendor nei tipi di risorsa, connessioni e gruppi di OSIRIS JSON, arricchendo altri dettagli se necessario.
-
Redaction and safety guardrails
Rimuove segreti, credenziali e valori di configurazione sensibili prima dell'emissione.
-
Emission
Genera un documento OSIRIS JSON valido su stdout o in un file, pronto per la validazione.
Producer disponibili
I producer vengono rilasciati in modo incrementale. Cisco è il primo producer disponibile; gli altri sono pianificati e seguiranno.
router Vendor di rete
Cisco
APIC, NX-OS, IOS-XE
Arista
EOS
Nokia
SR Linux, EDA
HPE
Apstra
Juniper
Junos
cloud Hyperscaler
Installazione
I producer sono distribuiti come binari Go. È necessario avere installato Go 1.25+.
Installa tutto (core dispatcher + tutti i producer vendor disponibili):
go install go.osirisjson.org/producers/cmd/...@latest
Oppure installa solo ciò di cui hai bisogno: il core dispatcher e un producer vendor specifico:
go install go.osirisjson.org/producers/cmd/osirisjson-producer@latest
go install go.osirisjson.org/producers/cmd/osirisjson-producer-cisco@latest
La tabella seguente elenca tutti i package installabili:
| Package | Description | Status |
|---|---|---|
cmd/osirisjson-producer | Core CLI dispatcher - instrada osirisjson-producer <vendor> ... verso i binari vendor | available |
cmd/osirisjson-producer-cisco | Producer Cisco (APIC, NX-OS, IOS-XE) | available |
Il core dispatcher (osirisjson-producer) rileva i binari vendor nel tuo PATH e instrada il comando verso quello corretto. Senza di esso, devi invocare direttamente il binario vendor con il suo nome completo, ad esempio osirisjson-producer-cisco invece di osirisjson-producer cisco.
Assicurati che $GOPATH/bin (o $HOME/go/bin) sia nel tuo PATH.
Forma della CLI del producer
Tutti i producer condividono una CLI in stile dispatcher:
osirisjson-producer <vendor> [subcommand] [flags]
L’output viene sempre validato successivamente tramite la CLI di OSIRIS JSON, ad esempio:
osirisjson-producer <vendor> <subcommand> --host device.example.com > snapshot.json
npx @osirisjson/cli validate --profile strict snapshot.json
Flusso di lavoro tipico
Per solution architect e auditor, il flusso di lavoro consigliato è:
- Eseguire il producer sulla piattaforma di destinazione con le credenziali appropriate.
- Validare l’output usando
@osirisjson/clicon il profilostrict. - Esaminare lo snapshot come artefatto architetturale, archiviarlo, confrontarlo nel tempo e allegarlo agli audit.
# 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)
Sicurezza
Il codice sorgente dei producer viene analizzato continuamente da SonarCloud per individuare vulnerabilità, code smells e security hotspots. Ogni pull request deve superare un quality gate che impone una A security rating prima di poter essere unita.
Inoltre, i producer includono safety guardrail integrati:
- Secret redaction - la flag
--safe-failure-mode(predefinita:fail-closed) impedisce che credenziali e valori sensibili finiscano nell’output JSON. - Read-only access - i producer non modificano mai la configurazione dei dispositivi. Tutte le chiamate API e le RPC NETCONF sono operazioni in sola lettura.
- No persistent storage - i producer non mettono in cache le credenziali e non memorizzano dati oltre il file JSON emesso.
Cosa leggere dopo
- Consulta le pagine dei producer specifici per vendor per dettagli su installazione, sistemi sorgente, autenticazione e ambito dell’output.
- Leggi la guida alla validazione per capire come verificare l’output del producer.
- Consulta l’esempio di infrastruttura IT e l’esempio di infrastruttura OT per un esempio completo di documento OSIRIS JSON.