Producers OSIRIS JSON
Les producers OSIRIS sont des outils de snapshot en lecture seule qui se connectent aux plateformes d’infrastructure, collectent les données de topologie et de configuration, et émettent un document OSIRIS JSON conforme au standard. Chaque producer cible un fournisseur ou une plateforme cloud spécifique.
Ce que font les producers
Un producer exécute quatre étapes :
-
Discovery
Se connecte à la plateforme cible et énumère toutes les ressources dans le périmètre.
-
Normalization
Mappe les modèles de données spécifiques au fournisseur vers les types de ressources, connexions et groupes OSIRIS JSON, en enrichissant d’autres détails si nécessaire.
-
Redaction and safety guardrails
Retire les secrets, identifiants et valeurs de configuration sensibles avant l’émission.
-
Emission
Produit un document OSIRIS JSON valide vers stdout ou dans un fichier, prêt à être validé.
Producers disponibles
Les producers sont publiés progressivement. Cisco est le premier producer disponible ; les autres sont planifiés et suivront.
router Fournisseurs réseau
Cisco
APIC, NX-OS, IOS-XE
Arista
EOS
Nokia
SR Linux, EDA
HPE
Apstra
Juniper
Junos
cloud Hyperscalers
Installation
Les producers sont distribués sous forme de binaires Go. Vous devez avoir Go 1.25+ installé.
Installez tout (core dispatcher + tous les producers fournisseurs disponibles) :
go install go.osirisjson.org/producers/cmd/...@latest
Ou installez uniquement ce dont vous avez besoin : le core dispatcher et un producer fournisseur spécifique :
go install go.osirisjson.org/producers/cmd/osirisjson-producer@latest
go install go.osirisjson.org/producers/cmd/osirisjson-producer-cisco@latest
Le tableau ci-dessous liste tous les packages installables :
| Package | Description | Status |
|---|---|---|
cmd/osirisjson-producer | Dispatcher CLI principal - redirige osirisjson-producer <vendor> ... vers les binaires fournisseurs | available |
cmd/osirisjson-producer-cisco | Producer Cisco (APIC, NX-OS, IOS-XE) | available |
Le core dispatcher (osirisjson-producer) découvre les binaires fournisseurs dans votre PATH et redirige la commande vers le bon binaire. Sans lui, vous devez invoquer directement le binaire fournisseur avec son nom complet, par exemple osirisjson-producer-cisco au lieu de osirisjson-producer cisco.
Assurez-vous que $GOPATH/bin (ou $HOME/go/bin) est dans votre PATH.
Forme de la CLI du producer
Tous les producers partagent une CLI de type dispatcher :
osirisjson-producer <vendor> [subcommand] [flags]
La sortie est ensuite toujours validée via la CLI OSIRIS JSON, par exemple :
osirisjson-producer <vendor> <subcommand> --host device.example.com > snapshot.json
npx @osirisjson/cli validate --profile strict snapshot.json
Workflow typique
Pour les architectes solutions et les auditeurs, le workflow recommandé est :
- Exécuter le producer sur votre plateforme cible avec les identifiants appropriés.
- Valider la sortie à l’aide de
@osirisjson/cliavec le profilstrict. - Examiner le snapshot comme un artefact d’architecture, le stocker, le comparer dans le temps et le joindre aux audits.
# 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)
Sécurité
Le code source des producers est analysé en continu par SonarCloud pour détecter vulnérabilités, code smells et security hotspots. Chaque pull request doit passer un quality gate imposant une A security rating avant de pouvoir être fusionnée.
En outre, les producers incluent des garde-fous de sécurité intégrés :
- Secret redaction - le flag
--safe-failure-mode(par défaut :fail-closed) empêche les identifiants et valeurs sensibles de fuiter dans la sortie JSON. - Read-only access - les producers ne modifient jamais la configuration des équipements. Tous les appels API et RPC NETCONF sont des opérations en lecture seule.
- No persistent storage - les producers ne mettent pas en cache les identifiants et ne stockent pas de données au-delà du fichier JSON émis.
Que lire ensuite
- Parcourez les pages des producers spécifiques à chaque fournisseur pour des détails sur l’installation, les systèmes sources, l’authentification et le périmètre de sortie.
- Lisez le guide de validation pour comprendre comment vérifier la sortie d’un producer.
- Consultez l’exemple d’infrastructure IT et l’exemple d’infrastructure OT pour voir un exemple complet de document OSIRIS JSON.