966830418766e7533c9ab2ce80032913c7d8e7d6
- DeployConfig: add git_url, main_script, apt_deps fields - Deployer: new _deploy_from_git() and _detect_main_script() methods Auto-detects main script (agent_*.py > main.py > grep __main__) Uses minimal apt defaults, reads requirements.txt for pip deps - deploy skill: add from_git and from_git_local actions from_git <url> <nom> <host> <user> password|key <cred> <xmpp_jid> <xmpp_pass> <mqtt_host> [main_script] from_git_local <url> <nom> <xmpp_jid> <xmpp_pass> <mqtt_host> [main_script] Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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
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 :
{
"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.
Description
Languages
Python
100%