Vérifier des Archives
Vérifiez l'intégrité et l'authenticité de l'archive avant le déploiement.
Commande Verify
sherpack verify <archive> [options]
Vérification d'Intégrité
Toujours effectuée - vérifie les sommes de contrôle SHA256 :
sherpack verify mypack-1.0.0.tar.gz
Sortie :
Verifying: mypack-1.0.0.tar.gz
Integrity check: [OK] All file checksums match
Signature check: [SKIP] No signature file found
Archive integrity verified
Vérification de Signature
Vérifiez avec la clé publique :
sherpack verify mypack-1.0.0.tar.gz -k sherpack.pub
Sortie :
Verifying: mypack-1.0.0.tar.gz
Integrity check: [OK] All file checksums match
Signature check: [OK] Signature valid
Key ID: RW...
Trusted comment: Release v1.0.0 - Production ready
Archive verified successfully
Exiger une Signature
Échoue si aucune signature n'est présente :
sherpack verify mypack-1.0.0.tar.gz --require-signature
Sortie en cas d'absence :
Verifying: mypack-1.0.0.tar.gz
Integrity check: [OK] All file checksums match
Signature check: [FAIL] Signature required but not found
Error: Verification failed
Échecs de Vérification
Échec d'Intégrité
Integrity check: [FAIL] Checksum mismatch
templates/deployment.yaml:
Expected: sha256:a1b2c3...
Actual: sha256:x9y8z7...
Error: Archive may be corrupted or tampered
Échec de Signature
Signature check: [FAIL] Invalid signature
The signature does not match the public key
Error: Archive may be tampered or signed with different key
Mauvaise Clé
Signature check: [FAIL] Key mismatch
Archive signed with: RWabc...
Provided key: RWxyz...
Error: Use the correct public key for this archive
Inspecter sans Vérification
Voir le contenu sans vérification complète :
sherpack inspect mypack-1.0.0.tar.gz
Sortie :
Archive: mypack-1.0.0.tar.gz (4.2 KB)
Pack: mypack
Version: 1.0.0
Description: My application
Files:
MANIFEST 234 B
Pack.yaml 156 B
values.yaml 892 B
templates/deployment.yaml 1.8 KB
templates/service.yaml 456 B
Digest: sha256:a1b2c3d4...
Afficher les Sommes de Contrôle
sherpack inspect mypack-1.0.0.tar.gz --checksums
Afficher le Manifest Brut
sherpack inspect mypack-1.0.0.tar.gz --manifest
Intégration CI/CD
GitHub Actions
- name: Verify pack
run: |
# Télécharger la clé publique
curl -o sherpack.pub https://example.com/keys/sherpack.pub
# Vérifier avec signature obligatoire
sherpack verify mypack-*.tar.gz -k sherpack.pub --require-signature
GitLab CI
verify:
script:
- sherpack verify mypack-*.tar.gz -k $SHERPACK_PUBLIC_KEY --require-signature
Bonnes Pratiques
-
Toujours vérifier avant l'installation
sherpack verify mypack-1.0.0.tar.gz -k trusted.pub
sherpack install myapp mypack-1.0.0.tar.gz -
Exiger des signatures en production
sherpack verify archive.tar.gz --require-signature -k production.pub -
Épingler les clés publiques - Ne récupérez pas les clés depuis des sources non fiables
-
Automatiser dans le CI/CD - Faites de la vérification une étape obligatoire