docs: ajout README.md
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
# agent_deploy
|
||||
|
||||
Agent de déploiement d'agents IA sur des serveurs distants via SSH. Installe, configure et démarre de nouveaux agents sur des machines cibles à partir d'un catalogue.
|
||||
|
||||
## Rôle
|
||||
|
||||
Cet agent est **uniquement** pour déployer de nouveaux agents IA sur de nouvelles machines. Pour des tâches système courantes (apt, services, fichiers), utiliser `agent_debian`. Pour l'automatisation multi-serveurs, utiliser `agent_ansible`.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
cd /opt/agent_deploy
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
systemctl enable --now agent_deploy
|
||||
```
|
||||
|
||||
## Skills disponibles
|
||||
|
||||
| Skill | Description |
|
||||
|-------|-------------|
|
||||
| `deploy` | Déploie un agent sur un serveur distant via SSH |
|
||||
| `catalog` | Consulte le catalogue des agents déployables |
|
||||
| `ssh` | Connexion SSH et exécution de commandes distantes |
|
||||
| `agents_status` | Statut des agents du système |
|
||||
| `mqtt_send` | Publication sur un topic MQTT |
|
||||
| `mqtt_subscribe` | Souscription dynamique à un topic MQTT |
|
||||
| `muc_send` | Message dans le groupe XMPP |
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
agent_deploy.py — Point d'entrée
|
||||
deployer.py — Logique de déploiement (AgentCatalog)
|
||||
skills/ — 7 skills
|
||||
config/
|
||||
config.json — Configuration
|
||||
system_prompt.txt — Prompt système
|
||||
catalog.json — Catalogue des agents déployables
|
||||
agent_deploy.service — Unit systemd
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
`config/config.json` :
|
||||
```json
|
||||
{
|
||||
"agent_id": "deploy",
|
||||
"xmpp": {
|
||||
"jid": "deploy@xmpp.ovh",
|
||||
"password": "...",
|
||||
"admin_jid": "sylvain@xmpp.ovh",
|
||||
"muc_room": "agents@muc.xmpp.ovh"
|
||||
},
|
||||
"mqtt": { "host": "localhost", "port": 1883 },
|
||||
"llm": {
|
||||
"base_url": "http://192.168.7.119:11434",
|
||||
"model": "ministral-3:latest",
|
||||
"temperature": 0.3
|
||||
},
|
||||
"llm_profiles": {
|
||||
"local": "ministral-3:latest",
|
||||
"cloud": "gpt-oss:120b-cloud"
|
||||
},
|
||||
"catalog": "/opt/agent_deploy/config/catalog.json"
|
||||
}
|
||||
```
|
||||
|
||||
## Commandes
|
||||
|
||||
```
|
||||
/catalog — Liste les agents disponibles dans le catalogue
|
||||
/report — Statistiques de déploiement
|
||||
/status — État de la queue de tâches
|
||||
```
|
||||
|
||||
## Exemples de tâches (via Nexus)
|
||||
|
||||
```
|
||||
"Déploie un agent debian sur le serveur 10.0.0.5"
|
||||
"Installe un nouvel agent ansible sur srv-infra-01"
|
||||
```
|
||||
|
||||
> **Note** : l'agent demande toujours confirmation de l'hôte cible. Ne jamais inventer un nom de serveur.
|
||||
Reference in New Issue
Block a user