Decouplage moteur/instance Phase 1b : neutraliser la marque chezlepro

Les fichiers geres par les roles (99-chezlepro.conf, chezlepro_filter,
chezlepro-bind.conf, /etc/redis/chezlepro.conf...) et les 14 templates
correspondants passent a la marque neutre du moteur 'setops' (git mv +
references src/dest). Un loup ne deploie plus de fichiers marques chezlepro.

Coherence src <-> template verifiee, ansible-lint 0 echec, diff vide,
syntax-check des playbooks de groupes OK. READMEs laisses (exemples).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-06-24 09:03:04 -04:00
parent 2abe3c86c8
commit ef39f4352f
32 changed files with 33 additions and 32 deletions

View file

@ -3,6 +3,7 @@
## 2026-06-23
### Modifié
- **Découpage moteur/instance — Phase 1b : neutraliser la marque `chezlepro`.** Les noms de fichiers gérés par les rôles (`99-chezlepro.conf`, `chezlepro_filter`, `chezlepro-bind.conf`, `/etc/redis/chezlepro.conf`, etc.) et les 14 templates correspondants passent à la marque neutre du moteur **`setops`** (`git mv` + références `src`/`dest`). Un loup ne déploie plus de fichiers marqués « chezlepro ». Cohérence `src ↔ template` vérifiée, `ansible-lint` 0 échec, diff vide. (Les README gardent leurs exemples ; génériciser plus tard.)
- **Découpage moteur/instance — Phase 1 : délier les rôles du domaine Chezlepro.** Introduction d'une variable d'identité d'instance **`domaine_interne`** (dans `inventories/*/group_vars/all.yml`). Les 13 rôles qui codaient `chezlepro.internal` en dur (zones DNS, FQDN, relais SMTP, AC, etc.) utilisent désormais `{{ domaine_interne }}` ; le `base_dn` LDAP et le domaine court sont **dérivés** (`dc={{ domaine_interne.split('.') | join(',dc=') }}` → `dc=chezlepro,dc=internal`, ou `dc=acme,dc=local` pour un autre loup). Comportement **identique** pour Chezlepro (qui pose `domaine_interne: chezlepro.internal`), mais le moteur devient générique — première brique pour partager l'outil à la meute (`docs/positionnement.md`). Ajout d'`exemples/instance.exemple.yml`. Non destructif : diff de génération vide, `ansible-lint` 0 échec. *(La marque `chezlepro` sur les noms de fichiers gérés — `99-chezlepro.conf`, `chezlepro_filter` — sera neutralisée en Phase 1b ; sortie du plan en Phase 2 ; deux dépôts en Phase 3.)*
### Ajouté

View file

@ -8,8 +8,8 @@
- name: Déployer les règles auditd Chezlepro
ansible.builtin.template:
src: 99-chezlepro.rules.j2
dest: /etc/audit/rules.d/99-chezlepro.rules
src: 99-setops.rules.j2
dest: /etc/audit/rules.d/99-setops.rules
owner: root
group: root
mode: "0640"

View file

@ -8,8 +8,8 @@
- name: Déployer la configuration cloud-init Chezlepro
ansible.builtin.template:
src: 99_chezlepro.cfg.j2
dest: /etc/cloud/cloud.cfg.d/99_chezlepro.cfg
src: 99_setops.cfg.j2
dest: /etc/cloud/cloud.cfg.d/99_setops.cfg
owner: root
group: root
mode: "0644"

View file

@ -1,8 +1,8 @@
---
- name: Désactiver les core dumps via limits.d
ansible.builtin.template:
src: 99-chezlepro-core-dumps.conf.j2
dest: /etc/security/limits.d/99-chezlepro-core-dumps.conf
src: 99-setops-core-dumps.conf.j2
dest: /etc/security/limits.d/99-setops-core-dumps.conf
owner: root
group: root
mode: "0644"

View file

@ -14,8 +14,8 @@
- name: Déployer la jail SSH Chezlepro
ansible.builtin.template:
src: sshd-chezlepro.local.j2
dest: /etc/fail2ban/jail.d/sshd-chezlepro.local
src: sshd-setops.local.j2
dest: /etc/fail2ban/jail.d/sshd-setops.local
owner: root
group: root
mode: "0644"

View file

@ -9,8 +9,8 @@
- name: Déployer la configuration journald Chezlepro
ansible.builtin.template:
src: 99-chezlepro.conf.j2
dest: /etc/systemd/journald.conf.d/99-chezlepro.conf
src: 99-setops.conf.j2
dest: /etc/systemd/journald.conf.d/99-setops.conf
owner: root
group: root
mode: "0644"

View file

@ -3,7 +3,7 @@
flush ruleset
table inet chezlepro_filter {
table inet setops_filter {
chain input {
type filter hook input priority 0; policy {{ nftables_baseline_input_policy }};

View file

@ -36,7 +36,7 @@
- name: Provisionner les datasources (Prometheus + Loki)
ansible.builtin.template:
src: datasources.yaml.j2
dest: /etc/grafana/provisioning/datasources/chezlepro.yaml
dest: /etc/grafana/provisioning/datasources/setops.yaml
owner: root
group: grafana
mode: "0640"
@ -52,8 +52,8 @@
- name: Deployer la configuration d'environnement (domaine + secret)
ansible.builtin.template:
src: chezlepro.conf.j2
dest: /etc/systemd/system/grafana-server.service.d/chezlepro.conf
src: setops.conf.j2
dest: /etc/systemd/system/grafana-server.service.d/setops.conf
owner: root
group: root
mode: "0600"

View file

@ -8,8 +8,8 @@
- name: Deployer le durcissement de base nginx
ansible.builtin.template:
src: 99-chezlepro.conf.j2
dest: /etc/nginx/conf.d/99-chezlepro.conf
src: 99-setops.conf.j2
dest: /etc/nginx/conf.d/99-setops.conf
owner: root
group: root
mode: "0644"

View file

@ -9,7 +9,7 @@ serveur_openldap_service: "slapd"
# Identite de l'annuaire.
serveur_openldap_domaine: "{{ domaine_interne }}"
serveur_openldap_organisation: "Chezlepro Inc"
# Base DN derivee du domaine : {{ domaine_interne }} -> dc=chezlepro,dc=internal
# Base DN derivee du domaine interne (ex. acme.local -> dc=acme,dc=local).
serveur_openldap_base_dn: "dc={{ serveur_openldap_domaine.split('.') | join(',dc=') }}"
serveur_openldap_admin_dn: "cn=admin,{{ serveur_openldap_base_dn }}"

View file

@ -39,8 +39,8 @@
- name: Deployer la configuration Chezlepro
ansible.builtin.template:
src: 99-chezlepro.conf.j2
dest: "{{ serveur_postgresql_conf_dir }}/conf.d/99-chezlepro.conf"
src: 99-setops.conf.j2
dest: "{{ serveur_postgresql_conf_dir }}/conf.d/99-setops.conf"
owner: postgres
group: postgres
mode: "0640"

View file

@ -16,8 +16,8 @@
- name: Déployer la configuration du backend BIND
ansible.builtin.template:
src: chezlepro-bind.conf.j2
dest: /etc/powerdns/pdns.d/chezlepro-bind.conf
src: setops-bind.conf.j2
dest: /etc/powerdns/pdns.d/setops-bind.conf
owner: root
group: root
mode: "0644"

View file

@ -4,7 +4,7 @@ serveur_redis_paquets:
serveur_redis_service: "redis-server"
serveur_redis_config_principal: "/etc/redis/redis.conf"
serveur_redis_config: "/etc/redis/chezlepro.conf"
serveur_redis_config: "/etc/redis/setops.conf"
serveur_redis_port: 6379
serveur_redis_ecoute:

View file

@ -14,7 +14,7 @@
- name: Deployer la surcharge de configuration Chezlepro
ansible.builtin.template:
src: chezlepro.conf.j2
src: setops.conf.j2
dest: "{{ serveur_redis_config }}"
owner: redis
group: redis

View file

@ -14,8 +14,8 @@
- name: Déployer la configuration SSH Chezlepro
ansible.builtin.template:
src: 10-chezlepro.conf.j2
dest: /etc/ssh/sshd_config.d/10-chezlepro.conf
src: 10-setops.conf.j2
dest: /etc/ssh/sshd_config.d/10-setops.conf
owner: root
group: root
mode: "0644"

View file

@ -1,8 +1,8 @@
---
- name: Déployer le hardening SSH additionnel
ansible.builtin.template:
src: 20-chezlepro-hardening.conf.j2
dest: /etc/ssh/sshd_config.d/20-chezlepro-hardening.conf
src: 20-setops-hardening.conf.j2
dest: /etc/ssh/sshd_config.d/20-setops-hardening.conf
owner: root
group: root
mode: "0644"

View file

@ -1,8 +1,8 @@
---
- name: Déployer les paramètres sysctl de hardening
ansible.builtin.template:
src: 99-chezlepro-hardening.conf.j2
dest: /etc/sysctl.d/99-chezlepro-hardening.conf
src: 99-setops-hardening.conf.j2
dest: /etc/sysctl.d/99-setops-hardening.conf
owner: root
group: root
mode: "0644"

View file

@ -1,8 +1,8 @@
---
- name: Déployer le paramètre GRUB pour désactiver systemd.ssh_auto
ansible.builtin.template:
src: 99-chezlepro-systemd-ssh-auto.cfg.j2
dest: /etc/default/grub.d/99-chezlepro-systemd-ssh-auto.cfg
src: 99-setops-systemd-ssh-auto.cfg.j2
dest: /etc/default/grub.d/99-setops-systemd-ssh-auto.cfg
owner: root
group: root
mode: "0644"
@ -11,7 +11,7 @@
- name: Supprimer le paramètre si désactivé
ansible.builtin.file:
path: /etc/default/grub.d/99-chezlepro-systemd-ssh-auto.cfg
path: /etc/default/grub.d/99-setops-systemd-ssh-auto.cfg
state: absent
when: not (systemd_ssh_auto_disable | bool)
notify: Update grub