Gestion de l'infrastructure physique de Cedille via Ansible
.
├─ inventories/
│ ├─ infra
│ ├─ event
│ └─ summercamp
├─ playbooks/
│ ├─ cisco-config/ ← config switches (Day-1, SNMP)
│ ├─ cisco-pnp/ ← serveur Zero Touch Provisioning
│ ├─ cs2_server/ ← serveur CS2 (LanETS)
│ ├─ infra/ ← OPNsense CARP (config, diff, interface-provision, règles k8s-poc, telegraf)
│ ├─ monitoring/ ← Prometheus/Grafana/Loki (infra-* = infra permanente, sans préfixe = event SC)
│ ├─ network/ ← réseau transverse : VLANs PVE+NX-OS, DHCP Kea, DNS BIND9, Stork
│ ├─ omni/ ← Omni (gestionnaire Talos k8s) + cycle de vie cluster k8s-poc
│ ├─ proxmox/ ← images cloud, audit réseau PVE
│ └─ sc/ ← infra événementielle SummerCamp (DHCP CTF, challenges, portails…)
│
├─ scripts/
│ ├─ expand_switch_selection.py
│ └─ gen_inventory.py ← génération de l'inventaire summercamp depuis le CSV
├─ data/
│ └─ raw/
│ ├─ lanets-inventaire-switch.csv
│ └─ passwords.csv ← mots de passe et tokens par équipe (non versionné)
├─ collections/
│ └─ requirements.yml
├─ ansible.cfg
├─ Makefile
└─ requirements.txt
Lister les playbooks disponibles:
make list-playbooksExécuter un playbook (inventaire infra par défaut):
make network/update-vlansExécuter un playbook avec un inventaire spécifique:
make cisco-pnp/deployment inventory_name=eventValider la qualité YAML/Ansible localement:
make lintDocumentation faite en fonction d'une distribution Debian-based:
Installer make, python, pip, virtualenv
sudo apt update
sudo apt install python3 python3-pip make
pip3 install virtualenvÉditer le PATH pour incorporer le path des exécutable python
echo -e "export PATH=\$PATH:/home/$USER/.local/bin" >> ~/.bashrc
source ~/.bashrcExécuter le playbook pour générer l'environnement
# Depuis le répertoire cloné du projet
make venvInstaller les collections et rôles Ansible:
make galaxy-installOptionnel: installer les packages ansible et ansible-lint localement pour que l'autocomplétion fonctionne dans le terminal ainsi que le serveur de langage dans VSCode et/ou autres éditeurs de textes
pip3 install ansible
pip3 install ansible-lintLe workflow GitHub Actions Lint exécute make lint sur chaque Pull Request,
sur main et via déclenchement manuel.
| Sujet | Document |
|---|---|
| SummerCamp CTF — inventaire, challenges, déploiement | docs/summercamp.md |
| Cisco PnP — génération de snippets de configuration | docs/cisco-pnp.md |
| Registre des VLANs | docs/VLANRegistry.md |
| Audit complet des VMs Proxmox | docs/VMInventoryAudit.md |
| OPNsense événementiel (lanets.ca) | docs/OpnsenseLanetsCA.md |
| OPNsense prod CARP (etsmtl.club) — topologie, audit, gestion Ansible | docs/OpnsenseInternalETSMTL.md |
| OPNsense prod CARP — analyse des règles et état post-migration Ansible | docs/opnsense-rules-analysis.md |
| Cisco WLC — notes de troubleshooting | docs/CiscoWLC.md |
| Monitoring — design phase 1 | docs/MONITORING_PHASE1_DESIGN.md |