Guide de Configuration GPG
La gestion des secrets de production dans la plateforme Nekristo repose sur le chiffrement GPG.
Cette étape de configuration est obligatoire et doit être effectuée une seule fois par chaque développeur. Elle vous permettra d'utiliser la commande nekristo-cli secrets edit --env prod en toute sécurité.
Étape 1 : Générer votre paire de clés GPG
Si vous n'avez pas encore de clé GPG, ouvrez un terminal et lancez la commande suivante pour démarrer l'assistant de création :
gpg --full-generate-key
Suivez les instructions de l'assistant :
Configuration de la clé :
- Type de clé : Choisissez l'option par défaut ((1) RSA and RSA)
- Taille de la clé : La valeur par défaut (ex: 3072 ou 4096) est parfaite
- Durée de validité : Choisissez 0 (la clé n'expire jamais) pour plus de simplicité
Informations d'identité :
- Nom (Real name) : Votre nom complet
- Email (Email address) : Votre adresse e-mail. C'est cette adresse qui deviendra votre GPG_RECIPIENT
- Commentaire : Optionnel
Validez avec O (Okay).
Important : Phrase de passe (Passphrase)
- Choisissez un mot de passe solide et notez-le en lieu sûr
- C'est ce mot de passe qui vous sera demandé à chaque
nekristo-cli secrets edit - C'est également ce mot de passe que vous devrez enregistrer dans les secrets de votre dépôt GitHub sous le nom
GPG_PASSPHRASE
Étape 2 : Trouver votre identifiant ("Recipient")
Une fois la clé créée, listez vos clés GPG pour trouver votre identifiant unique :
gpg --list-keys
La sortie ressemblera à ceci :
pub rsa3072 2025-10-12 [SC]
ABCDEF1234567890ABCDEF1234567890ABCDEF12
uid [ultimate] Albert Dupont <albert.dupont@email.com>
sub rsa3072 2025-10-12 [E]
Votre GPG_RECIPIENT est l'adresse e-mail affichée ici : albert.dupont@email.com.
Étape 3 : Configurer la Plateforme
La dernière étape consiste à informer la plateforme de votre identifiant GPG.
- Ouvrez le fichier
platform.ymlà la racine du projet - Modifiez la ligne
gpg_recipientavec l'adresse e-mail obtenue à l'étape précédente
# platform.yml
deploy_branch: deploy
docker_registry_prefix: "ghcr.io/albertk-dev"
gpg_recipient: "albert.dupont@email.com" # <-- MODIFIEZ CECI
# ... reste du fichier ...
Étape 4 : Importer la clé GPG privée sur le VPS
Votre configuration locale est prête, mais votre VPS de production/staging doit aussi avoir accès à votre clé GPG (cette fois-ci la clé privée) pour pouvoir déchiffrer les secrets lors du déploiement.
⚠️ Si vous ne faites pas cette étape, votre pipeline échouera avec une erreur gpg: decryption failed: No secret key.
nekristo-cli fournit une commande sécurisée pour automatiser cette tâche. Elle exporte votre clé privée locale et l'importe directement sur le VPS via SSH.
Lancez la commande suivante depuis votre machine locale :
nekristo-cli server setup-gpg
La commande vous demandera votre phrase de passe GPG locale pour autoriser l'exportation.
Votre environnement est maintenant entièrement prêt à gérer les secrets de manière sécurisée, en local comme sur le serveur.