BénéficesDoc CLIRoadmapOffres
Documentation CLI

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 build

Ré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 --offline

Les 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 json

L’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 --help

L’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.