| ansible | ||
| bpm | ||
| checks | ||
| docs | ||
| icinga | ||
| scripts | ||
| .gitignore | ||
| CHANGELOG.md | ||
| domains.yaml | ||
| Makefile | ||
| README.md | ||
Life-NOC
Life-NOC applique la logique d'un centre d'opérations (NOC) à la vie quotidienne.
Le but du projet est de transformer la charge mentale invisible en état observable, afin de savoir rapidement ce qui est sous contrôle, ce qui approche d'une échéance et ce qui mérite de l'attention.
État actuel du dépôt
Cette version est une POC fonctionnelle mock-first.
Cela signifie que :
- la structure métier est réelle ;
- les domaines et éléments de vie sont décrits dans
domains.yaml; - les services Icinga sont générés automatiquement ;
- le BPM est généré automatiquement ;
- les sondes sont mockées par défaut et retournent OK tant qu'aucun état simulé n'est forcé.
Autrement dit, la POC valide :
- le modèle déclaratif ;
- la génération des artefacts ;
- le déploiement automatisé par Ansible ;
- la visualisation Icinga/BPM ;
- le remplacement futur des mocks par de vraies sondes.
Structure du dépôt
life-noc/
├── ansible/
│ ├── deploy_life_noc.yml
│ └── roles/life_noc/
├── bpm/
├── checks/
├── docs/
├── icinga/
│ ├── commands/
│ ├── hosts/
│ ├── services/
│ └── templates/
├── scripts/
└── domains.yaml
Source of truth
Le fichier central est :
domains.yaml
Chaque entrée décrit un élément Life-NOC avec :
name: identifiant lisibledate: métadonnée d'échéance ou de repèrenotes: contexte humainmock_state: état simulé (OK,WARNING,CRITICAL) — optionnelmock_message: message simulé — optionnel
Par défaut :
mock_state = OKmock_message = Sous contrôle
Génération
Générer les services Icinga
python3 scripts/generate_services.py
Générer le BPM
python3 scripts/generate_bpm.py
Makefile
Le dépôt fournit un Makefile pour les gestes courants.
Exemples :
make generate
make validate
make check
make deploy
make deploy-with-bpm
make package
make help
affiche la liste complète des cibles disponibles.
Déploiement Ansible
Le déploiement repose sur le rôle life_noc.
Exemple :
cd ansible
ansible-playbook -i inventory deploy_life_noc.yml
Variables importantes :
life_noc_project_root: chemin de déploiement du projet sur l'hôte ciblelife_noc_icinga_conf_root: racine de configuration Icinga pour Life-NOClife_noc_plugin_dir: répertoire des plugins Icingalife_noc_validate_icinga: valide la configuration avant reloadlife_noc_reload_icinga: recharge Icinga après déploiementlife_noc_bpm_deploy_enabled: active le déploiement BPM vers le module Icinga Web 2life_noc_bpm_target_file: destination du fichier BPM généré
Philosophie de cette POC
Cette POC ne prétend pas encore mesurer le réel.
Elle sert à construire proprement :
- l'ossature du système ;
- la hiérarchie des domaines ;
- les conventions de nommage ;
- la chaîne de génération ;
- le déploiement ;
- l'intégration visuelle Icinga/BPM.
Les vraies sondes viendront plus tard, en remplacement progressif des mocks.