No description
Find a file
2026-03-13 16:13:37 -04:00
ansible makefile 2026-03-13 16:13:37 -04:00
bpm ménage 2026-03-06 14:51:19 -05:00
checks makefile 2026-03-13 16:13:37 -04:00
docs makefile 2026-03-13 16:13:37 -04:00
icinga makefile 2026-03-13 16:13:37 -04:00
scripts makefile 2026-03-13 16:13:37 -04:00
.gitignore Life-NOC v0.1 initial architecture 2026-03-06 13:36:20 -05:00
CHANGELOG.md makefile 2026-03-13 16:13:37 -04:00
domains.yaml initialisation des vigies 2026-03-06 14:35:42 -05:00
Makefile makefile 2026-03-13 16:13:37 -04:00
README.md makefile 2026-03-13 16:13:37 -04:00

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 lisible
  • date : métadonnée d'échéance ou de repère
  • notes : contexte humain
  • mock_state : état simulé (OK, WARNING, CRITICAL) — optionnel
  • mock_message : message simulé — optionnel

Par défaut :

  • mock_state = OK
  • mock_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 cible
  • life_noc_icinga_conf_root : racine de configuration Icinga pour Life-NOC
  • life_noc_plugin_dir : répertoire des plugins Icinga
  • life_noc_validate_icinga : valide la configuration avant reload
  • life_noc_reload_icinga : recharge Icinga après déploiement
  • life_noc_bpm_deploy_enabled : active le déploiement BPM vers le module Icinga Web 2
  • life_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.