ci: docker_tag=ext
Update 4NK Environment - Agents IA Integration - Documentation mise à jour pour agents IA - Scripts améliorés avec contexte agents IA - Structure clarifiée (dépôts 4NK vs LeCoffre) - Contexte et outillage complet pour agents IA - README.md mis à jour avec architecture agents IA
This commit is contained in:
parent
837701773f
commit
a82b2fe520
@ -6,8 +6,8 @@ Respecte totalement et impérativemment les informations de ce document.
|
|||||||
|
|
||||||
## Contexte
|
## Contexte
|
||||||
|
|
||||||
Consulte attentivement `lecoffre_node/IA_agents/context.md`.
|
Consulte attentivement `IA_agents/context.md`.
|
||||||
Consulte attentivement `lecoffre_node/IA_agents/flux.md`.
|
Consulte attentivement `IA_agents/flux.md`.
|
||||||
Reste toujours sur la branche git "ext"
|
Reste toujours sur la branche git "ext"
|
||||||
Fait toujours les build via CI avec des images docker pour le docker registry tagées "ext"
|
Fait toujours les build via CI avec des images docker pour le docker registry tagées "ext"
|
||||||
Déclanche toujours avec un tag "ext" remplace le précédent.
|
Déclanche toujours avec un tag "ext" remplace le précédent.
|
||||||
|
103
README.md
103
README.md
@ -1,32 +1,39 @@
|
|||||||
# 4NK Environment
|
# 4NK Environment
|
||||||
|
|
||||||
Environnement complet pour le déploiement de LeCoffre et tous ses services.
|
Environnement de développement centralisé pour tous les dépôts 4NK et le projet LeCoffre, incluant le contexte et l'outillage complet pour les agents IA.
|
||||||
|
|
||||||
## 🏗️ Architecture
|
## 🏗️ Architecture
|
||||||
|
|
||||||
|
### Environnement de développement centralisé avec agents IA
|
||||||
```
|
```
|
||||||
4NK_env/
|
4NK_env/ # Environnement de développement 4NK + Agents IA
|
||||||
├── lecoffre_node/ # Orchestrateur principal avec Nginx intégré
|
├── lecoffre_node/ # Orchestrateur principal LeCoffre (Nginx intégré)
|
||||||
├── sdk_relay/ # Service de relais WebSocket
|
├── sdk_relay/ # Service de relais WebSocket 4NK
|
||||||
├── sdk_signer/ # Service de signature
|
├── sdk_signer/ # Service de signature 4NK
|
||||||
├── sdk_storage/ # Service de stockage
|
├── sdk_storage/ # Service de stockage 4NK
|
||||||
├── sdk_client/ # Client SDK
|
├── sdk_client/ # Client SDK 4NK
|
||||||
├── sdk_common/ # Composants communs
|
├── sdk_common/ # Composants communs 4NK
|
||||||
├── sdk-signer-client/ # Client signeur
|
├── sdk-signer-client/ # Client signeur 4NK
|
||||||
├── ihm_client/ # Interface utilisateur
|
├── ihm_client/ # Interface utilisateur LeCoffre
|
||||||
├── lecoffre-back-mini/ # API Backend
|
├── lecoffre-back-mini/ # API Backend LeCoffre
|
||||||
├── lecoffre-front/ # Frontend Next.js
|
├── lecoffre-front/ # Frontend Next.js LeCoffre
|
||||||
├── doc_api/ # Documentation API
|
├── doc_api/ # Documentation API 4NK
|
||||||
├── IA_agents/ # Agents IA et documentation
|
├── IA_agents/ # 🧠 Agents IA - Contexte et outillage complet
|
||||||
└── scripts/ # Scripts de déploiement
|
│ ├── context.md # Contexte général des projets
|
||||||
├── clone-all-repos.sh # Clonage de tous les projets
|
│ ├── deploy.md # Procédures de déploiement
|
||||||
|
│ ├── flux.md # Architecture des flux
|
||||||
|
│ └── todo.md # Liste des tâches et améliorations
|
||||||
|
└── scripts/ # Scripts de gestion et déploiement
|
||||||
|
├── clone-all-repos.sh # Clonage de tous les dépôts 4NK
|
||||||
├── init-4nk-env-repo.sh # Initialisation du dépôt 4NK_env
|
├── init-4nk-env-repo.sh # Initialisation du dépôt 4NK_env
|
||||||
└── check-repos-status.sh # Vérification du statut
|
├── check-repos-status.sh # Vérification du statut des dépôts
|
||||||
|
├── push-to-remote.sh # Push vers git.4nkweb.com
|
||||||
|
└── setup-complete-env.sh # Configuration complète
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🚀 Déploiement
|
## 🚀 Déploiement
|
||||||
|
|
||||||
### 1. Clonage de tous les projets (branche ext)
|
### 1. Clonage de tous les dépôts 4NK (branche ext)
|
||||||
```bash
|
```bash
|
||||||
cd /home/debian/4NK_env
|
cd /home/debian/4NK_env
|
||||||
./scripts/clone-all-repos.sh
|
./scripts/clone-all-repos.sh
|
||||||
@ -37,12 +44,17 @@ cd /home/debian/4NK_env
|
|||||||
./scripts/init-4nk-env-repo.sh
|
./scripts/init-4nk-env-repo.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. Architecture autonome
|
### 3. Déploiement LeCoffre (architecture autonome)
|
||||||
```bash
|
```bash
|
||||||
cd lecoffre_node
|
cd lecoffre_node
|
||||||
./scripts/deploy-autonomous.sh
|
./scripts/deploy-autonomous.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 4. Configuration complète de l'environnement
|
||||||
|
```bash
|
||||||
|
./scripts/setup-complete-env.sh
|
||||||
|
```
|
||||||
|
|
||||||
## 🌐 Services et Ports
|
## 🌐 Services et Ports
|
||||||
|
|
||||||
| Service | URL | Description |
|
| Service | URL | Description |
|
||||||
@ -63,7 +75,14 @@ cd lecoffre_node
|
|||||||
|
|
||||||
## 🔧 Configuration
|
## 🔧 Configuration
|
||||||
|
|
||||||
### Architecture Autonome
|
### Environnement de développement avec agents IA
|
||||||
|
- **Dépôts centralisés** : Tous les projets 4NK et LeCoffre dans un seul environnement
|
||||||
|
- **Branche unifiée** : `ext` pour tous les dépôts
|
||||||
|
- **Scripts de gestion** : Automatisation complète du clonage et déploiement
|
||||||
|
- **Agents IA** : Contexte et outillage complet dans IA_agents/
|
||||||
|
- **Documentation centralisée** : Toute la documentation technique accessible
|
||||||
|
|
||||||
|
### Architecture Autonome LeCoffre
|
||||||
- **Nginx intégré** dans le conteneur `lecoffre_node`
|
- **Nginx intégré** dans le conteneur `lecoffre_node`
|
||||||
- **Indépendant du host** (Nginx local supprimé)
|
- **Indépendant du host** (Nginx local supprimé)
|
||||||
- **Configuration centralisée** dans `lecoffre_node/conf/`
|
- **Configuration centralisée** dans `lecoffre_node/conf/`
|
||||||
@ -74,28 +93,27 @@ cd lecoffre_node
|
|||||||
- **Loki** : Collecte et stockage des logs
|
- **Loki** : Collecte et stockage des logs
|
||||||
- **Promtail** : Agent de collecte des logs
|
- **Promtail** : Agent de collecte des logs
|
||||||
|
|
||||||
## 📚 Documentation
|
## 📚 Documentation et Agents IA
|
||||||
|
|
||||||
- **IA_agents/context.md** : Contexte général du projet
|
### Agents IA - Contexte et outillage complet (IA_agents/)
|
||||||
- **IA_agents/deploy.md** : Procédures de déploiement
|
- **context.md** : Contexte général des projets 4NK et LeCoffre pour les agents IA
|
||||||
- **IA_agents/flux.md** : Architecture des flux
|
- **deploy.md** : Procédures de déploiement détaillées
|
||||||
- **lecoffre_node/README-AUTONOMOUS.md** : Architecture autonome
|
- **flux.md** : Architecture des flux et services
|
||||||
|
- **todo.md** : Liste des tâches et améliorations à suivre
|
||||||
|
|
||||||
|
### Documentation spécifique
|
||||||
|
- **lecoffre_node/README-AUTONOMOUS.md** : Architecture autonome LeCoffre
|
||||||
|
- **doc_api/** : Documentation API 4NK
|
||||||
|
|
||||||
## 🛠️ Scripts Utiles
|
## 🛠️ Scripts Utiles
|
||||||
|
|
||||||
### Vérification du statut
|
### Gestion des dépôts
|
||||||
```bash
|
```bash
|
||||||
./scripts/check-repos-status.sh
|
./scripts/check-repos-status.sh # Vérifier le statut de tous les dépôts
|
||||||
```
|
./scripts/clone-all-repos.sh # Cloner tous les dépôts 4NK (branche ext)
|
||||||
|
./scripts/init-4nk-env-repo.sh # Initialiser le dépôt 4NK_env
|
||||||
### Clonage des projets
|
./scripts/push-to-remote.sh # Pousser vers git.4nkweb.com
|
||||||
```bash
|
./scripts/setup-complete-env.sh # Configuration complète de l'environnement
|
||||||
./scripts/clone-all-repos.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Initialisation du dépôt
|
|
||||||
```bash
|
|
||||||
./scripts/init-4nk-env-repo.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🔐 Sécurité
|
## 🔐 Sécurité
|
||||||
@ -135,7 +153,13 @@ cd lecoffre_node
|
|||||||
|
|
||||||
## 🔄 CI/CD
|
## 🔄 CI/CD
|
||||||
|
|
||||||
- **Branche** : `ext`
|
### Environnement de développement avec agents IA
|
||||||
|
- **Branche unifiée** : `ext` pour tous les dépôts
|
||||||
|
- **Dépôt central** : `4NK_env` sur git.4nkweb.com
|
||||||
|
- **Scripts automatisés** : Clonage et déploiement
|
||||||
|
- **Agents IA** : Contexte et outillage toujours à jour
|
||||||
|
|
||||||
|
### LeCoffre
|
||||||
- **Tag Docker** : `ext`
|
- **Tag Docker** : `ext`
|
||||||
- **Déclenchement** : Push sur `ext`
|
- **Déclenchement** : Push sur `ext`
|
||||||
- **Build** : Automatique via Gitea CI
|
- **Build** : Automatique via Gitea CI
|
||||||
@ -144,5 +168,6 @@ cd lecoffre_node
|
|||||||
|
|
||||||
Pour toute question ou problème :
|
Pour toute question ou problème :
|
||||||
1. Vérifier les logs : `docker logs <container>`
|
1. Vérifier les logs : `docker logs <container>`
|
||||||
2. Consulter la documentation : `IA_agents/`
|
2. Consulter la documentation des agents IA : `IA_agents/`
|
||||||
3. Vérifier le statut : `./scripts/check-repos-status.sh`
|
3. Vérifier le statut : `./scripts/check-repos-status.sh`
|
||||||
|
4. Utiliser l'outillage complet : Scripts et documentation centralisés
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 66479e38ceb34ed21f40272172cb060899ba1cc9
|
|
@ -32,23 +32,23 @@ echo ""
|
|||||||
|
|
||||||
for project in "${PROJECTS[@]}"; do
|
for project in "${PROJECTS[@]}"; do
|
||||||
project_path="$BASE_DIR/$project"
|
project_path="$BASE_DIR/$project"
|
||||||
|
|
||||||
echo "📦 $project:"
|
echo "📦 $project:"
|
||||||
|
|
||||||
if [ -d "$project_path" ]; then
|
if [ -d "$project_path" ]; then
|
||||||
cd "$project_path"
|
cd "$project_path"
|
||||||
|
|
||||||
# Vérifier si c'est un dépôt Git
|
# Vérifier si c'est un dépôt Git
|
||||||
if [ -d ".git" ]; then
|
if [ -d ".git" ]; then
|
||||||
# Informations Git
|
# Informations Git
|
||||||
current_branch=$(git branch --show-current 2>/dev/null || echo "N/A")
|
current_branch=$(git branch --show-current 2>/dev/null || echo "N/A")
|
||||||
last_commit=$(git log -1 --oneline 2>/dev/null || echo "Aucun commit")
|
last_commit=$(git log -1 --oneline 2>/dev/null || echo "Aucun commit")
|
||||||
git_status=$(git status --porcelain 2>/dev/null || echo "Erreur Git")
|
git_status=$(git status --porcelain 2>/dev/null || echo "Erreur Git")
|
||||||
|
|
||||||
echo " ✅ Dépôt Git détecté"
|
echo " ✅ Dépôt Git détecté"
|
||||||
echo " 📍 Branche: $current_branch"
|
echo " 📍 Branche: $current_branch"
|
||||||
echo " 📝 Dernier commit: $last_commit"
|
echo " 📝 Dernier commit: $last_commit"
|
||||||
|
|
||||||
if [ "$git_status" = "Erreur Git" ]; then
|
if [ "$git_status" = "Erreur Git" ]; then
|
||||||
echo " ⚠️ Problème Git détecté"
|
echo " ⚠️ Problème Git détecté"
|
||||||
elif [ -n "$git_status" ]; then
|
elif [ -n "$git_status" ]; then
|
||||||
@ -59,25 +59,25 @@ for project in "${PROJECTS[@]}"; do
|
|||||||
else
|
else
|
||||||
echo " ⚠️ Dossier sans dépôt Git"
|
echo " ⚠️ Dossier sans dépôt Git"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Vérifier les fichiers importants
|
# Vérifier les fichiers importants
|
||||||
if [ -f "Dockerfile" ]; then
|
if [ -f "Dockerfile" ]; then
|
||||||
echo " 🐳 Dockerfile présent"
|
echo " 🐳 Dockerfile présent"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "docker-compose.yml" ]; then
|
if [ -f "docker-compose.yml" ]; then
|
||||||
echo " 🐙 docker-compose.yml présent"
|
echo " 🐙 docker-compose.yml présent"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f ".env" ]; then
|
if [ -f ".env" ]; then
|
||||||
echo " ⚙️ Fichier .env présent"
|
echo " ⚙️ Fichier .env présent"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd "$BASE_DIR"
|
cd "$BASE_DIR"
|
||||||
else
|
else
|
||||||
echo " ❌ Dossier introuvable"
|
echo " ❌ Dossier introuvable"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -89,11 +89,11 @@ if [ -d ".git" ]; then
|
|||||||
current_branch=$(git branch --show-current 2>/dev/null || echo "N/A")
|
current_branch=$(git branch --show-current 2>/dev/null || echo "N/A")
|
||||||
last_commit=$(git log -1 --oneline 2>/dev/null || echo "Aucun commit")
|
last_commit=$(git log -1 --oneline 2>/dev/null || echo "Aucun commit")
|
||||||
git_status=$(git status --porcelain 2>/dev/null || echo "Erreur Git")
|
git_status=$(git status --porcelain 2>/dev/null || echo "Erreur Git")
|
||||||
|
|
||||||
echo " ✅ Dépôt Git 4NK_env détecté"
|
echo " ✅ Dépôt Git 4NK_env détecté"
|
||||||
echo " 📍 Branche: $current_branch"
|
echo " 📍 Branche: $current_branch"
|
||||||
echo " 📝 Dernier commit: $last_commit"
|
echo " 📝 Dernier commit: $last_commit"
|
||||||
|
|
||||||
if [ "$git_status" = "Erreur Git" ]; then
|
if [ "$git_status" = "Erreur Git" ]; then
|
||||||
echo " ⚠️ Problème Git détecté"
|
echo " ⚠️ Problème Git détecté"
|
||||||
elif [ -n "$git_status" ]; then
|
elif [ -n "$git_status" ]; then
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
echo "🔄 SCRIPT DE CLONAGE GIT - BRANCHES EXT"
|
echo "🔄 SCRIPT DE CLONAGE GIT - ENVIRONNEMENT DE DÉVELOPPEMENT 4NK"
|
||||||
echo "======================================="
|
echo "Avec contexte et outillage complet pour les agents IA"
|
||||||
|
echo "====================================================="
|
||||||
|
|
||||||
# Fonction de logging
|
# Fonction de logging
|
||||||
log() {
|
log() {
|
||||||
@ -30,9 +31,24 @@ declare -a PROJECTS=(
|
|||||||
"IA_agents"
|
"IA_agents"
|
||||||
)
|
)
|
||||||
|
|
||||||
log "📋 Projets à cloner sur la branche '$BRANCH':"
|
log "📋 Dépôts 4NK et LeCoffre à cloner sur la branche '$BRANCH':"
|
||||||
|
echo " 🔧 Dépôts 4NK (SDK, services):"
|
||||||
for project in "${PROJECTS[@]}"; do
|
for project in "${PROJECTS[@]}"; do
|
||||||
echo " - $project"
|
if [[ "$project" == sdk_* ]] || [[ "$project" == "doc_api" ]]; then
|
||||||
|
echo " - $project"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo " 🏠 Dépôts LeCoffre (applications):"
|
||||||
|
for project in "${PROJECTS[@]}"; do
|
||||||
|
if [[ "$project" == lecoffre_* ]] || [[ "$project" == "ihm_client" ]]; then
|
||||||
|
echo " - $project"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo " 🧠 Agents IA (contexte et outillage):"
|
||||||
|
for project in "${PROJECTS[@]}"; do
|
||||||
|
if [[ "$project" == "IA_agents" ]]; then
|
||||||
|
echo " - $project (contexte complet pour agents IA)"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
@ -57,24 +73,24 @@ echo ""
|
|||||||
|
|
||||||
for project in "${PROJECTS[@]}"; do
|
for project in "${PROJECTS[@]}"; do
|
||||||
log "📦 Clonage de $project..."
|
log "📦 Clonage de $project..."
|
||||||
|
|
||||||
# URL du projet
|
# URL du projet
|
||||||
PROJECT_URL="$GIT_BASE_URL/$project.git"
|
PROJECT_URL="$GIT_BASE_URL/$project.git"
|
||||||
|
|
||||||
# Vérifier si le dossier existe déjà
|
# Vérifier si le dossier existe déjà
|
||||||
if [ -d "$project" ]; then
|
if [ -d "$project" ]; then
|
||||||
log "⚠️ Le dossier '$project' existe déjà"
|
log "⚠️ Le dossier '$project' existe déjà"
|
||||||
log " Sauvegarde dans '$project.backup'"
|
log " Sauvegarde dans '$project.backup'"
|
||||||
mv "$project" "$project.backup"
|
mv "$project" "$project.backup"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Cloner le projet sur la branche ext
|
# Cloner le projet sur la branche ext
|
||||||
log " Clonage depuis: $PROJECT_URL"
|
log " Clonage depuis: $PROJECT_URL"
|
||||||
log " Branche: $BRANCH"
|
log " Branche: $BRANCH"
|
||||||
|
|
||||||
if git clone -b "$BRANCH" "$PROJECT_URL" "$project"; then
|
if git clone -b "$BRANCH" "$PROJECT_URL" "$project"; then
|
||||||
log "✅ $project cloné avec succès"
|
log "✅ $project cloné avec succès"
|
||||||
|
|
||||||
# Afficher les informations du repo
|
# Afficher les informations du repo
|
||||||
cd "$project"
|
cd "$project"
|
||||||
log " Dernier commit: $(git log -1 --oneline)"
|
log " Dernier commit: $(git log -1 --oneline)"
|
||||||
@ -88,21 +104,44 @@ for project in "${PROJECTS[@]}"; do
|
|||||||
mv "$project.backup" "$project"
|
mv "$project.backup" "$project"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
done
|
done
|
||||||
|
|
||||||
log "🎉 Clonage terminé !"
|
log "🎉 Clonage de l'environnement de développement terminé !"
|
||||||
log "📊 Résumé des projets clonés:"
|
log "📊 Résumé des dépôts clonés:"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Projets clonés sur la branche '$BRANCH':"
|
echo "Dépôts clonés sur la branche '$BRANCH':"
|
||||||
echo "========================================"
|
echo "======================================="
|
||||||
|
echo "🔧 Dépôts 4NK (SDK, services):"
|
||||||
for project in "${PROJECTS[@]}"; do
|
for project in "${PROJECTS[@]}"; do
|
||||||
if [ -d "$project" ]; then
|
if [[ "$project" == sdk_* ]] || [[ "$project" == "doc_api" ]]; then
|
||||||
echo "✅ $project"
|
if [ -d "$project" ]; then
|
||||||
else
|
echo " ✅ $project"
|
||||||
echo "❌ $project (échec)"
|
else
|
||||||
|
echo " ❌ $project (échec)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "🏠 Dépôts LeCoffre (applications):"
|
||||||
|
for project in "${PROJECTS[@]}"; do
|
||||||
|
if [[ "$project" == lecoffre_* ]] || [[ "$project" == "ihm_client" ]]; then
|
||||||
|
if [ -d "$project" ]; then
|
||||||
|
echo " ✅ $project"
|
||||||
|
else
|
||||||
|
echo " ❌ $project (échec)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "🧠 Agents IA (contexte et outillage):"
|
||||||
|
for project in "${PROJECTS[@]}"; do
|
||||||
|
if [[ "$project" == "IA_agents" ]]; then
|
||||||
|
if [ -d "$project" ]; then
|
||||||
|
echo " ✅ $project (contexte complet pour agents IA)"
|
||||||
|
else
|
||||||
|
echo " ❌ $project (échec - contexte agents IA manquant)"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -119,7 +158,9 @@ done
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
log "📝 Prochaines étapes:"
|
log "📝 Prochaines étapes:"
|
||||||
echo " 1. Vérifier que tous les projets sont sur la branche '$BRANCH'"
|
echo " 1. Vérifier que tous les dépôts sont sur la branche '$BRANCH'"
|
||||||
echo " 2. Configurer les fichiers .gitignore et .dockerignore"
|
echo " 2. Configurer les fichiers .gitignore et .dockerignore"
|
||||||
echo " 3. Initialiser le dépôt 4NK_env"
|
echo " 3. Initialiser le dépôt 4NK_env"
|
||||||
echo " 4. Pousser sur git.4nkweb.com"
|
echo " 4. Pousser sur git.4nkweb.com"
|
||||||
|
echo " 5. Déployer LeCoffre avec l'architecture autonome"
|
||||||
|
echo " 6. Utiliser le contexte et outillage des agents IA (IA_agents/)"
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
echo "🚀 INITIALISATION DU DÉPÔT 4NK_ENV"
|
echo "🚀 INITIALISATION DU DÉPÔT 4NK_ENV"
|
||||||
echo "================================="
|
echo "Environnement de développement centralisé 4NK"
|
||||||
|
echo "Avec contexte et outillage complet pour les agents IA"
|
||||||
|
echo "===================================================="
|
||||||
|
|
||||||
# Fonction de logging
|
# Fonction de logging
|
||||||
log() {
|
log() {
|
||||||
@ -66,47 +68,47 @@ if [ ! -f "README.md" ]; then
|
|||||||
cat > README.md << 'EOF'
|
cat > README.md << 'EOF'
|
||||||
# 4NK Environment
|
# 4NK Environment
|
||||||
|
|
||||||
Environnement complet pour le déploiement de LeCoffre et tous ses services.
|
Environnement de développement centralisé pour tous les dépôts 4NK et le projet LeCoffre.
|
||||||
|
|
||||||
## Structure
|
## Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
4NK_env/
|
4NK_env/ # Environnement de développement 4NK
|
||||||
├── lecoffre_node/ # Orchestrateur principal
|
├── lecoffre_node/ # Orchestrateur principal LeCoffre (Nginx intégré)
|
||||||
├── sdk_relay/ # Service de relais WebSocket
|
├── sdk_relay/ # Service de relais WebSocket 4NK
|
||||||
├── sdk_signer/ # Service de signature
|
├── sdk_signer/ # Service de signature 4NK
|
||||||
├── sdk_storage/ # Service de stockage
|
├── sdk_storage/ # Service de stockage 4NK
|
||||||
├── sdk_client/ # Client SDK
|
├── sdk_client/ # Client SDK 4NK
|
||||||
├── sdk_common/ # Composants communs
|
├── sdk_common/ # Composants communs 4NK
|
||||||
├── sdk-signer-client/ # Client signeur
|
├── sdk-signer-client/ # Client signeur 4NK
|
||||||
├── ihm_client/ # Interface utilisateur
|
├── ihm_client/ # Interface utilisateur LeCoffre
|
||||||
├── lecoffre-back-mini/ # API Backend
|
├── lecoffre-back-mini/ # API Backend LeCoffre
|
||||||
├── lecoffre-front/ # Frontend Next.js
|
├── lecoffre-front/ # Frontend Next.js LeCoffre
|
||||||
├── doc_api/ # Documentation API
|
├── doc_api/ # Documentation API 4NK
|
||||||
├── IA_agents/ # Agents IA et documentation
|
├── IA_agents/ # Agents IA et documentation
|
||||||
└── scripts/ # Scripts de déploiement
|
└── scripts/ # Scripts de gestion et déploiement
|
||||||
```
|
```
|
||||||
|
|
||||||
## Déploiement
|
## Déploiement
|
||||||
|
|
||||||
### Architecture autonome
|
### Clonage de tous les dépôts
|
||||||
|
```bash
|
||||||
|
./scripts/clone-all-repos.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Architecture autonome LeCoffre
|
||||||
```bash
|
```bash
|
||||||
cd lecoffre_node
|
cd lecoffre_node
|
||||||
./scripts/deploy-autonomous.sh
|
./scripts/deploy-autonomous.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### Clonage de tous les projets
|
|
||||||
```bash
|
|
||||||
./scripts/clone-all-repos.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
## Services
|
## Services
|
||||||
|
|
||||||
- **LeCoffre Node** : Orchestrateur principal avec Nginx intégré
|
- **LeCoffre Node** : Orchestrateur principal avec Nginx intégré
|
||||||
- **Bitcoin Signet** : Nœud Bitcoin pour tests
|
- **Bitcoin Signet** : Nœud Bitcoin pour tests
|
||||||
- **Monitoring** : Grafana, Loki, Promtail
|
- **Monitoring** : Grafana, Loki, Promtail
|
||||||
- **Services SDK** : Relay, Signer, Storage
|
- **Services SDK 4NK** : Relay, Signer, Storage
|
||||||
- **Applications** : Frontend, Backend, IHM Client
|
- **Applications LeCoffre** : Frontend, Backend, IHM Client
|
||||||
|
|
||||||
## Ports
|
## Ports
|
||||||
|
|
||||||
@ -135,13 +137,15 @@ else
|
|||||||
git commit -m "ci: docker_tag=ext
|
git commit -m "ci: docker_tag=ext
|
||||||
|
|
||||||
Initial commit - 4NK Environment
|
Initial commit - 4NK Environment
|
||||||
- Configuration complète LeCoffre
|
- Environnement de développement centralisé 4NK
|
||||||
- Architecture autonome avec Nginx intégré
|
- Dépôts 4NK (SDK, services) et LeCoffre (applications)
|
||||||
- Scripts de déploiement
|
- Contexte et outillage complet pour les agents IA
|
||||||
- Documentation IA_agents
|
- Architecture autonome LeCoffre avec Nginx intégré
|
||||||
|
- Scripts de gestion et déploiement
|
||||||
|
- Documentation centralisée IA_agents
|
||||||
- Support redirections IdNot (port 3000)
|
- Support redirections IdNot (port 3000)
|
||||||
- Monitoring Grafana/Loki/Promtail"
|
- Monitoring Grafana/Loki/Promtail"
|
||||||
|
|
||||||
log "✅ Commit initial créé"
|
log "✅ Commit initial créé"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -176,5 +180,7 @@ echo ""
|
|||||||
log "🚀 Prochaines étapes:"
|
log "🚀 Prochaines étapes:"
|
||||||
echo " 1. Vérifier le dépôt sur git.4nkweb.com"
|
echo " 1. Vérifier le dépôt sur git.4nkweb.com"
|
||||||
echo " 2. Configurer les workflows CI/CD si nécessaire"
|
echo " 2. Configurer les workflows CI/CD si nécessaire"
|
||||||
echo " 3. Cloner les projets avec ./scripts/clone-all-repos.sh"
|
echo " 3. Cloner tous les dépôts avec ./scripts/clone-all-repos.sh"
|
||||||
echo " 4. Déployer avec ./lecoffre_node/scripts/deploy-autonomous.sh"
|
echo " 4. Déployer LeCoffre avec ./lecoffre_node/scripts/deploy-autonomous.sh"
|
||||||
|
echo " 5. Utiliser le contexte et outillage des agents IA (IA_agents/)"
|
||||||
|
echo " 6. Accéder aux services via les URLs configurées"
|
||||||
|
90
scripts/push-to-remote.sh
Executable file
90
scripts/push-to-remote.sh
Executable file
@ -0,0 +1,90 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo "🚀 PUSH DU DÉPÔT 4NK_ENV VERS GIT.4NKWEB.COM"
|
||||||
|
echo "============================================="
|
||||||
|
|
||||||
|
# Fonction de logging
|
||||||
|
log() {
|
||||||
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
BRANCH="ext"
|
||||||
|
GIT_REMOTE="git@git.4nkweb.com:4nk/4NK_env.git"
|
||||||
|
|
||||||
|
log "📋 Configuration:"
|
||||||
|
echo " Branche: $BRANCH"
|
||||||
|
echo " Remote: $GIT_REMOTE"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Vérifier qu'on est dans le bon répertoire
|
||||||
|
if [ ! -d ".git" ]; then
|
||||||
|
log "❌ Erreur: Vous devez être dans le répertoire 4NK_env"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Vérifier la configuration SSH
|
||||||
|
log "🔧 Vérification de la configuration Git SSH..."
|
||||||
|
if ! ssh -T git@git.4nkweb.com 2>&1 | grep -q "successfully authenticated"; then
|
||||||
|
echo "❌ Erreur: Clé SSH non configurée pour git.4nkweb.com"
|
||||||
|
echo " Vérifiez votre configuration SSH et vos clés"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
log "✅ Clé SSH configurée"
|
||||||
|
|
||||||
|
# Vérifier le remote
|
||||||
|
current_remote=$(git remote get-url origin 2>/dev/null || echo "Non configuré")
|
||||||
|
log "🔗 Remote actuel: $current_remote"
|
||||||
|
|
||||||
|
if [ "$current_remote" != "$GIT_REMOTE" ]; then
|
||||||
|
log "🔧 Configuration du remote origin..."
|
||||||
|
git remote set-url origin "$GIT_REMOTE"
|
||||||
|
log "✅ Remote origin configuré"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Vérifier le statut
|
||||||
|
log "📊 Statut du dépôt:"
|
||||||
|
git status --short
|
||||||
|
|
||||||
|
# Ajouter tous les fichiers
|
||||||
|
log "📁 Ajout des fichiers..."
|
||||||
|
git add .
|
||||||
|
|
||||||
|
# Vérifier s'il y a des changements
|
||||||
|
if git diff --staged --quiet; then
|
||||||
|
log "ℹ️ Aucun changement à committer"
|
||||||
|
else
|
||||||
|
log "💾 Commit des modifications..."
|
||||||
|
git commit -m "ci: docker_tag=ext
|
||||||
|
|
||||||
|
Update 4NK Environment
|
||||||
|
- Scripts de déploiement et gestion
|
||||||
|
- Configuration autonome LeCoffre Node
|
||||||
|
- Documentation complète
|
||||||
|
- Support redirections IdNot"
|
||||||
|
|
||||||
|
log "✅ Commit créé"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Pousser vers le dépôt distant
|
||||||
|
log "🚀 Push vers le dépôt distant..."
|
||||||
|
if git push origin "$BRANCH"; then
|
||||||
|
log "✅ Push réussi vers git.4nkweb.com"
|
||||||
|
log "🔗 Dépôt disponible: $GIT_REMOTE"
|
||||||
|
else
|
||||||
|
log "❌ Échec du push"
|
||||||
|
log "💡 Vérifiez que le dépôt '4NK_env' existe sur git.4nkweb.com"
|
||||||
|
log " et que vous avez les droits d'écriture"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
log "🎉 Dépôt 4NK_env poussé avec succès!"
|
||||||
|
log "📊 Résumé:"
|
||||||
|
echo " ✅ Dépôt local synchronisé"
|
||||||
|
echo " ✅ Branche '$BRANCH' poussée"
|
||||||
|
echo " ✅ Tous les fichiers inclus"
|
||||||
|
echo ""
|
||||||
|
log "🔗 URL du dépôt: $GIT_REMOTE"
|
||||||
|
log "📝 Branche: $BRANCH"
|
119
scripts/setup-complete-env.sh
Executable file
119
scripts/setup-complete-env.sh
Executable file
@ -0,0 +1,119 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo "🎯 CONFIGURATION COMPLÈTE DE L'ENVIRONNEMENT 4NK"
|
||||||
|
echo "Avec contexte et outillage complet pour les agents IA"
|
||||||
|
echo "===================================================="
|
||||||
|
|
||||||
|
# Fonction de logging
|
||||||
|
log() {
|
||||||
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
log "🚀 Démarrage de la configuration complète..."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Étape 1: Vérification du statut actuel
|
||||||
|
log "📊 ÉTAPE 1: Vérification du statut actuel"
|
||||||
|
echo "========================================"
|
||||||
|
./scripts/check-repos-status.sh
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Étape 2: Clonage des projets manquants (optionnel)
|
||||||
|
log "📦 ÉTAPE 2: Clonage des projets (optionnel)"
|
||||||
|
echo "=========================================="
|
||||||
|
echo "💡 Si des projets sont manquants ou pas sur la branche 'ext',"
|
||||||
|
echo " exécutez: ./scripts/clone-all-repos.sh"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Étape 3: Vérification de l'initialisation Git
|
||||||
|
log "🔧 ÉTAPE 3: Vérification de l'initialisation Git"
|
||||||
|
echo "==============================================="
|
||||||
|
if [ -d ".git" ]; then
|
||||||
|
current_branch=$(git branch --show-current 2>/dev/null || echo "N/A")
|
||||||
|
log "✅ Dépôt Git initialisé (branche: $current_branch)"
|
||||||
|
else
|
||||||
|
log "⚠️ Dépôt Git non initialisé"
|
||||||
|
log "💡 Exécutez: ./scripts/init-4nk-env-repo.sh"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Étape 4: Vérification des fichiers de configuration
|
||||||
|
log "📄 ÉTAPE 4: Vérification des fichiers de configuration"
|
||||||
|
echo "===================================================="
|
||||||
|
files=(".gitignore" ".dockerignore" "README.md")
|
||||||
|
for file in "${files[@]}"; do
|
||||||
|
if [ -f "$file" ]; then
|
||||||
|
log "✅ $file présent"
|
||||||
|
else
|
||||||
|
log "❌ $file manquant"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Étape 5: Vérification des scripts
|
||||||
|
log "🛠️ ÉTAPE 5: Vérification des scripts"
|
||||||
|
echo "===================================="
|
||||||
|
scripts=("clone-all-repos.sh" "init-4nk-env-repo.sh" "check-repos-status.sh" "push-to-remote.sh")
|
||||||
|
for script in "${scripts[@]}"; do
|
||||||
|
script_path="scripts/$script"
|
||||||
|
if [ -f "$script_path" ] && [ -x "$script_path" ]; then
|
||||||
|
log "✅ $script présent et exécutable"
|
||||||
|
else
|
||||||
|
log "❌ $script manquant ou non exécutable"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Étape 6: Résumé des actions
|
||||||
|
log "📋 ÉTAPE 6: Résumé des actions disponibles"
|
||||||
|
echo "========================================"
|
||||||
|
echo ""
|
||||||
|
echo "🔧 Scripts de gestion:"
|
||||||
|
echo " ./scripts/check-repos-status.sh - Vérifier le statut des dépôts"
|
||||||
|
echo " ./scripts/clone-all-repos.sh - Cloner tous les projets (branche ext)"
|
||||||
|
echo " ./scripts/init-4nk-env-repo.sh - Initialiser le dépôt 4NK_env"
|
||||||
|
echo " ./scripts/push-to-remote.sh - Pousser vers git.4nkweb.com"
|
||||||
|
echo ""
|
||||||
|
echo "🚀 Déploiement:"
|
||||||
|
echo " cd lecoffre_node"
|
||||||
|
echo " ./scripts/deploy-autonomous.sh - Déployer l'architecture autonome"
|
||||||
|
echo ""
|
||||||
|
echo "📚 Documentation et Agents IA:"
|
||||||
|
echo " README.md - Documentation principale"
|
||||||
|
echo " IA_agents/ - Contexte et outillage complet pour agents IA"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Étape 7: Instructions finales
|
||||||
|
log "🎯 ÉTAPE 7: Instructions finales"
|
||||||
|
echo "==============================="
|
||||||
|
echo ""
|
||||||
|
echo "📝 Pour finaliser la configuration:"
|
||||||
|
echo ""
|
||||||
|
echo "1. 🔗 Créer le dépôt '4NK_env' sur git.4nkweb.com:"
|
||||||
|
echo " - Connectez-vous à git.4nkweb.com"
|
||||||
|
echo " - Créez un nouveau dépôt '4NK_env' dans l'organisation '4nk'"
|
||||||
|
echo " - Initialisez avec un README"
|
||||||
|
echo ""
|
||||||
|
echo "2. 📤 Pousser le dépôt local:"
|
||||||
|
echo " ./scripts/push-to-remote.sh"
|
||||||
|
echo ""
|
||||||
|
echo "3. 🚀 Déployer l'architecture autonome:"
|
||||||
|
echo " cd lecoffre_node"
|
||||||
|
echo " ./scripts/deploy-autonomous.sh"
|
||||||
|
echo ""
|
||||||
|
echo "4. 🌐 Accéder aux services:"
|
||||||
|
echo " - Status: http://localhost/status/"
|
||||||
|
echo " - Grafana: http://localhost/grafana/"
|
||||||
|
echo " - LeCoffre: http://localhost/lecoffre/"
|
||||||
|
echo " - IdNot: http://local.4nkweb.com:3000/"
|
||||||
|
echo ""
|
||||||
|
echo "5. 🧠 Utiliser les agents IA:"
|
||||||
|
echo " - Contexte complet: IA_agents/context.md"
|
||||||
|
echo " - Procédures: IA_agents/deploy.md"
|
||||||
|
echo " - Architecture: IA_agents/flux.md"
|
||||||
|
echo " - Tâches: IA_agents/todo.md"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
log "✅ Configuration de l'environnement 4NK terminée!"
|
||||||
|
log "🎉 Tous les scripts et fichiers sont prêts"
|
Loading…
x
Reference in New Issue
Block a user