Infrastructure autonome et souveraine deployee, securisee et maintenue par IA
A.S.I.P. resout deux problematiques critiques de l'industrie IT : le Toil operationnel (taches repetitives et sans valeur ajoutee) et la perte de souverainete numerique face aux clouds proprietaires.
Infrastructure autonome deployee sur Proxmox VE, cette plateforme orchestre un environnement complet -- 19 VMs, 1 LXC, 5 VLANs, stockage hybride et chaine CI/CD -- de maniere entierement automatisée. Le deploiement, la securisation et la maintenance sont supervises par des agents d'intelligence artificielle, le tout repose sur une stack 100 % Open Source et 100 % on-premise.
- Description
- Contexte
- Vue d'ensemble de l'architecture
- Installation et prerequis
- Utilisation / Demarrage rapide
- Demonstration
- Fonctionnalites
- Documentation
- Contribuer
- Licence
Les equipes operations et les PME font face a des defis recurrents :
| Probleme | Consequence | Reponse d'A.S.I.P. |
|---|---|---|
| Toil operationnel | Temps perdu en taches repetitives (deploiements, patching, audits manuels) | Automatisation end-to-end via Terraform, Ansible et agents IA |
| Dependance cloud | Cout croissant, lock-in vendor, gouvernance des donnees compromis | Stack 100 % on-premise simulant le cloud avec LocalStack |
| Securite tardive | Vulnerabilites detectees en production, corrections couteuses | Shift-left : scan Trivy et hardening ANSSI des le premier commit |
| Obsolescence silencieuse | Drift de configuration, dette technique invisible | Surveillance cyclique MCP + auto-remediation par Ansible |
| Manque de visibilite | Absence de supervision centralisee et d'alertes predictives | Plateforme unifiee avec logs, metriques et boucles de reaction automatisees |
A.S.I.P. est concu comme un environnement de production industriel reproductible : il integre l'infrastructure as code, la securisation native et des capacites d'autonomie operationnelle pilotees par LLM, le tout dans un cadre documente et totalement transparent.
PROXMOX VE (pve)
192.0.2.10
+--------------------+ +--------------------+
| VLAN 10 (MGMT) | | VLAN 20 (SERVICES) |
| 203.0.113.0/24 | | 203.0.113.0/24 |
| | | |
| +---------------+ | | +------+ +------+ |
| | bastion | | | | AD | | DHCP | |
| | .5 | | | | .10 | | .11 | |
| +---------------+ | | +------+ +------+ |
| | | |
| +---------------+ | | +------+ +------+ |
| | mcp-watchdog | | | | Vault| | ... | |
| | .50 (LXC) | | | | .12 | | | |
| +---------------+ | | +------+ +------+ |
+--------------------+ +--------------------+
+--------------------+ +--------------------+
| VLAN 30 (COLLAB) | | VLAN 40 (CLIENTS) |
| 203.0.113.0/24 | | 203.0.113.0/24 |
| | | |
| +---------------+ | | +---------------+ |
| | Nextcloud | | | | test-client | |
| | .10 | | | | .100 | |
| +---------------+ | | +---------------+ |
| +---------------+ | | |
| | Mail | | +--------------------+
| | .11 | |
| +---------------+ | +--------------------+
+--------------------+ | VLAN 50 (DMZ) |
| 203.0.113.0/24 |
| |
| +------+ +--------+ |
| |Proxy | |HAProxy | |
| |.10 | |.20/.21 | |
| +------+ +--------+ |
+--------------------+
+-------------------------------------------------+
| OPNsense Router (CARP HA) |
| Primary: 203.0.113.1 |
| Backup: 203.0.113.2 |
| CARP VIPs: .254 |
+-------------------------------------------------+
|
| Reseau local
v
+-------------------------------------------------+
| PC HOTE |
| +-----------+ +------------+ |
| | Forgejo | | LocalStack | |
| | :3000 | | :4566 | |
| +-----------+ +------------+ |
| +-------------------------------------------+ |
| | OpenCode (Agent IA + MCP) | |
| +-------------------------------------------+ |
| +-------------------------------------------+ |
| | Forgejo Runner (systemd user) | |
| | docker://node:22-bookworm | |
| +-------------------------------------------+ |
+-------------------------------------------------+
git push ---> Forgejo :3000
|
+---------+----------+
v v v
security-scan deploy drift-check
(Trivy) (Tf+Ans) (Goss)
| | |
+----> Pass? <-------+
|
+-----+-----+
| Oui | Non ---> Bloque le merge
v
Infra deployee
|
Goss timer (5 min)
|
+------v-------+
| MCP Watchdog | <--- POST /webhook (si drift)
| 203.0.113.50 |
+------+-------+
|
Drift detecte ?
+-- Oui ---> ansible-playbook --tags <role> (auto-remediation)
|
+-- Non ---> Log + notification
| Composant | Version | Role |
|---|---|---|
| Proxmox VE | 8.2+ | Hyperviseur et orchestration des VMs |
| Terraform | 1.9.8+ | Infrastructure as Code (IaC) |
| Ansible | 2.16+ | Configuration management |
| Forgejo | 14.x | Forge logicielle et CI/CD Actions |
| LocalStack | 3.x | Simulation AWS (S3, IAM) en local |
| Python | 3.11+ | Runtime des agents MCP et watchdog |
| GLM | 5.1 | Modele de langage pour l'autonomie operationnelle |
| OS (VMs) | Ubuntu Server 24.04 | Systeme d'exploitation des machines |
| OS (LXC) | Ubuntu Server 22.04 | Systeme du container mcp-watchdog |
- Node Proxmox accessible avec API token (
root@pam!terraform) - Templates cloud-init disponibles : Ubuntu 22.04 (VMID 8000) et Ubuntu 24.04 (VMID 9000)
- Docker et Docker Compose fonctionnels sur le poste operateur
- Accus SSH au reseau
203.0.113.0/24 - Forgejo accessible localement sur
http://localhost:3000
cd localstack/
docker compose up -d
# Attendre que LocalStack soit pret
curl -s http://localhost:4566/_localstack/health | jq .cd terraform/
terraform init
terraform plan -var-file=environments/prod.tfvars -parallelism=1 -out=tfplan
terraform apply -parallelism=1 -auto-approve tfplancd ansible/
ansible-playbook -i inventory/prod.yml site.yml \
--private-key ~/.ssh/id_ed25519 -u ansible -b./scripts/deploy.sh all./scripts/verify.shLe repertoire scripts/ contient des scenarios de demonstration permettant de valider les capacites autonomes et hybrides de la plateforme.
Le script scripts/demo-autonomous.sh simule une modification non autorisee (drift) sur une VM cible, puis met en evidence la detection et la correction automatique par l'agent MCP.
./scripts/demo-autonomous.shCe que prouve cette demonstration :
- L'agent
mcp-watchdog(LXC, VMID 119, IP 203.0.113.50) surveille en continu l'etat du parc. - Toute derive de configuration est detectee via Goss et signalee au controleur MCP.
- Un playbook Ansible cible est declenche automatiquement pour restaurer l'etat desire.
- Aucune intervention humaine n'est requise pour corriger un ecart standard.
Le script scripts/simulate-hybrid.sh met en oeuvre la synchronisation de donnees entre un stockage local (NFS/SMB simule sur site) et un stockage objet S3 simule via LocalStack.
./scripts/simulate-hybrid.shCe que prouve cette demonstration :
- La possibilite d'implementer un tiering de donnees sans dependance a un cloud public.
- La validation du pipeline de replication (LocalStack S3 + rclone).
- La continuite de la configuration IAM et des buckets en environnement isole.
| Pilier | Description | Preuve concrete |
|---|---|---|
| DEPLOY | Deploiement Zero-Touch d'un environnement complet | Commande unique ./scripts/deploy.sh all provisionne 19 VMs + 1 LXC |
| SECURE | Securite Shift-Left : scan des la phase de developpement | Scan Trivy au push, hardening ANSSI (CIS Benchmark), Goss compliance, CrowdSec |
| SIMULATE | Simulation d'un stockage hybride On-Premise + AWS | LocalStack S3/IAM + rclone pour synchroniser les donnees sans connexion externe |
| AUTONOMOUS OPS | Agent IA surveillant l'infrastructure et remediait automatiquement | Container LXC mcp-watchdog (VMID 119, IP 203.0.113.50) detecte le drift et declenche Ansible |
- Routage : CARP et VRRP sur OPNsense (Primary 203.0.113.1, Backup 203.0.113.2)
- Bases de donnees : Replication Patroni (PostgreSQL HA)
- DHCP : Kea en configuration haute disponibilite
La documentation complete du projet est disponible dans le repertoire docs/ :
| Document | Contenu |
|---|---|
| docs/ARCHITECTURE.md | Vue d'ensemble technique detaillee |
| docs/SECURITY.md | Strategie de securite (ANSSI, CIS, shift-left) |
| docs/AUTONOMOUS-OPS.md | Agent MCP Watchdog, auto-remediation |
| docs/CI-CD.md | Pipeline Forgejo Actions, branch protection |
| docs/OPERATOR-GUIDE.md | Runbook quotidien, procedures d'urgence |
| docs/TROUBLESHOOTING.md | Erreurs courantes et solutions |
| docs/LOCALSTACK.md | Configuration du stockage hybride simule |
| docs/DEMO-SCRIPT.md | Script de demonstration detaille |
Les contributions sont les bienvenues. Toute amelioration apportant de la robustesse, de la clarte documentaire ou de nouvelles integrations IA sera examinee avec interet pour renforcer la plateforme.
- Forkez le depot
- Creez une branche fonctionnelle (
git checkout -b feature/nom-de-la-feature) - Commitez vos changements (
git commit -m 'Ajout de ...') - Poussez vers la branche (
git push origin feature/nom-de-la-feature) - Ouvrez une Merge Request sur Forgejo
Tous les composants utilises par A.S.I.P. sont Open Source :
| Composant | Licence |
|---|---|
| Proxmox VE | AGPL-3 |
| Terraform | BSL-1.1 |
| Ansible | GPL-3 |
| Forgejo | AGPL-3 |
| LocalStack | Apache-2.0 |
| Goss | Apache-2.0 |
| Trivy | Apache-2.0 |
| GLM 5.1 | Apache-2.0 |
Le projet lui-meme est publie sous licence Open Source. Les contributions restent la propriete de leurs auteurs respectifs.
Autonomous Sovereign Infrastructure Platform