Aller au contenu

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.

  1. Ouvrez le fichier platform.yml à la racine du projet
  2. Modifiez la ligne gpg_recipient avec 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.