serveurs_* -> serveur_, clients_ -> client_, suffixes pluriels au singulier (serveur_web_dorsal/frontal, client_metrique, client_journal). Renommage par tokens exacts : repertoires de roles, playbooks de groupes, group_vars, variables internes des roles (serveur_nginx_*, conformite ansible-lint), groupes du plan, constantes de code, docs. Faux-amis preserves (serveurs_bd, scripts/serveurs.py, fonctions Python). Groupes d'etat gardes au pluriel (hotes_actifs/planifies, modeles_vm). Valide : ansible-lint 0 echec (0 var-naming), diff vide de la generation, node --check, tous les registres. Ajout de .ansible-lint excluant docs/ (registres de donnees, pas du contenu Ansible). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
24 lines
614 B
Django/Jinja
24 lines
614 B
Django/Jinja
[Unit]
|
|
Description=Keycloak Identity and Access Management
|
|
Documentation=https://www.keycloak.org/server/configuration
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User={{ serveur_keycloak_utilisateur }}
|
|
Group={{ serveur_keycloak_utilisateur }}
|
|
EnvironmentFile=/etc/keycloak/keycloak.env
|
|
WorkingDirectory={{ serveur_keycloak_home }}
|
|
ExecStart={{ serveur_keycloak_home }}/bin/kc.sh start --optimized
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
TimeoutStartSec=120
|
|
LimitNOFILE=102642
|
|
NoNewPrivileges=yes
|
|
ProtectSystem=full
|
|
ProtectHome=true
|
|
PrivateTmp=true
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|