- Ajout du workflow CI/CD avec configuration SSH automatique - Création des templates pour issues et pull requests - Script de configuration SSH automatique (scripts/setup-ssh-ci.sh) - Documentation SSH complète (docs/SSH_SETUP.md) - Mise à jour de la configuration d'intégration 4NK_node - Amélioration du script de démarrage et de la config Nginx La clé SSH est maintenant utilisée automatiquement dans tous les environnements : - CI/CD Gitea Actions avec variable SSH_PRIVATE_KEY - Environnement local avec détection automatique - Configuration Git pour utiliser SSH au lieu de HTTPS
3.4 KiB
3.4 KiB
Configuration SSH automatique pour ihm_client
Vue d'ensemble
Le projet ihm_client
utilise automatiquement les clés SSH pour toutes les opérations Git, que ce soit en local ou dans l'environnement CI/CD Gitea Actions.
Configuration automatique
Environnement CI/CD
Dans l'environnement CI/CD Gitea Actions, la configuration SSH est automatique :
- Variable d'environnement : La clé SSH privée est fournie via la variable
SSH_PRIVATE_KEY
- Configuration automatique : Le workflow CI configure automatiquement SSH pour
git.4nkweb.com
- Test de connexion : La connexion SSH est testée avant chaque opération Git
Environnement local
En local, le script scripts/setup-ssh-ci.sh
configure automatiquement SSH :
# Exécuter le script de configuration
./scripts/setup-ssh-ci.sh
Configuration manuelle
Si la configuration automatique ne fonctionne pas, voici les étapes manuelles :
1. Générer une clé SSH
ssh-keygen -t rsa -b 4096 -C "votre-email@example.com"
2. Ajouter la clé publique à Gitea
- Copier le contenu de
~/.ssh/id_rsa.pub
- Aller dans les paramètres de votre compte Gitea
- Ajouter la clé SSH dans la section "SSH Keys"
3. Configurer Git pour utiliser SSH
git config --global url."git@git.4nkweb.com:".insteadOf "https://git.4nkweb.com/"
4. Tester la connexion
ssh -T git@git.4nkweb.com
Workflow CI/CD
Le workflow CI/CD (.gitea/workflows/ci.yml
) inclut :
Étapes SSH automatiques
- Setup SSH for Gitea : Configure la clé SSH et les paramètres de connexion
- Checkout code : Utilise SSH pour cloner le repository
- Tests et build : Exécute les tests et builds avec SSH configuré
Variables requises
SSH_PRIVATE_KEY
: Clé SSH privée pour l'authentificationSSH_PUBLIC_KEY
: Clé SSH publique (optionnelle)
Sécurité
Bonnes pratiques
- Les clés SSH sont stockées de manière sécurisée dans les secrets Gitea
- Les permissions des fichiers SSH sont correctement configurées (600 pour les clés privées)
- La vérification des hôtes SSH est configurée pour
git.4nkweb.com
Permissions
# Permissions correctes pour les fichiers SSH
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/config
Dépannage
Problèmes courants
- Permission denied : Vérifier les permissions des fichiers SSH
- Host key verification failed : Ajouter
git.4nkweb.com
aux hôtes connus - SSH key not found : Vérifier que la clé SSH est correctement configurée
Commandes de diagnostic
# Tester la connexion SSH
ssh -vT git@git.4nkweb.com
# Vérifier la configuration Git
git config --global --list | grep url
# Vérifier les permissions SSH
ls -la ~/.ssh/
Intégration avec 4NK_node
Lors de l'intégration avec 4NK_node
, la configuration SSH est préservée :
- Les clés SSH sont partagées entre les projets
- La configuration Git utilise SSH pour tous les repositories 4NK
- Le workflow CI/CD maintient la cohérence SSH
Évolution
Améliorations futures
- Support pour plusieurs clés SSH
- Rotation automatique des clés
- Intégration avec un gestionnaire de secrets externe
- Support pour l'authentification par certificats SSH
Maintenance
- Vérification régulière de la validité des clés SSH
- Mise à jour des configurations SSH selon les bonnes pratiques
- Documentation des changements de configuration SSH