Référence CLI
Cette référence suit continuum-attest/src/main.rs en version 0.1.0. Utilisez attest --help et attest <command> --help pour connaître les options exactes du binaire installé. Les options globales sont --verbose et --quiet.
| Commande | Fonction |
|---|---|
attest init |
Créer l’espace de travail local et un pipeline initial |
attest run |
Exécuter un pipeline ou envelopper une commande |
attest keys |
Générer, lister, exporter, importer ou révoquer des clés |
attest hash |
Calculer les empreintes canoniques des chemins déclarés |
attest capsule |
Initialiser, exécuter ou calculer l’empreinte d’une capsule |
attest verify |
Vérifier des reçus ou une archive hors ligne |
attest export |
Exporter un reçu dans une enveloppe DSSE in-toto |
attest import |
Vérifier une enveloppe DSSE in-toto importée |
attest image |
Signer et vérifier des images |
attest causal |
Manipuler le journal causal |
Exécuter un pipeline
attest run --pipeline attest.yaml --sign
attest run --sign --key <key-id>
attest run --check-reproducibility--verify sélectionne l’exécution isolée du pipeline ; cette option ne remplace pas attest verify sur le reçu obtenu. --check-reproducibility exécute deux fois le pipeline dans des espaces de travail neufs et compare les empreintes de sortie. Consultez la référence de configuration pour les champs des étapes.
Envelopper une commande
attest run --wrap --name build --input src/ --output dist/ -- npm run buildRépétez --input et --output pour plusieurs chemins. --workspace DIR choisit la racine. Le mode wrap fonctionne sans fichier de pipeline ni bac à sable. Ajoutez --sign et une clé provisionnée pour signer. Consultez l’intégration CI.
Vérifier les reçus
attest verify .attest/receipts/<receipt>.yaml
attest verify --recompute .attest/receipts/<receipt>.yaml
attest verify --trust-store /path/to/trust --format json receipt.yaml
attest verify --archive bundle.attest.tar.zst --offlineLes codes de sortie sont 0 pour un succès, 1 pour une vérification en échec et 2 pour une erreur opérationnelle. La sortie JSON utilise NDJSON. Le contrôle des signatures est activé par défaut. --check-signatures false autorise explicitement les contrôles d’un reçu non signé et n’établit pas de confiance dans un signataire. Consultez Reçus et confiance.
Clés et empreintes
attest keys generate --name ci
attest keys list
attest keys export <key-id> --output ci.pub
attest keys import ci.pub --name team-ci
attest keys revoke <key-id>
attest hash --input src/ --run 'npm run build'
attest hash --output dist/L’export des clés contient uniquement les données publiques. La gestion des clés détaille le provisionnement en CI et la rotation.
Échange dans un format standard
attest export --receipt receipt.yaml --format in-toto --output statement.json
attest import statement.json --format in-toto --report jsonL’export signe l’enveloppe avec une clé disponible ; --key permet de la choisir. --allow-unsigned autorise explicitement l’export non signé. L’import vérifie l’enveloppe avec le magasin de confiance ; il ne l’envoie pas vers le SaaS.
Autres groupes de commandes
attest capsule --help
attest image --help
attest causal --helpL’initialisation d’une capsule exige une référence OCI fixée par empreinte, plutôt qu’une étiquette. Son exécution nécessite un moteur de conteneurs. Évaluez ces parcours dans votre environnement avant de les adopter. Le guide développeur indique les sources et les tests associés.
Les commandes attest login, attest publish, attest deploy, attest status et attest cache ne sont pas exposées par le binaire actuel.