Stalwart Mail Server v0.16.11, binaire unique natif. Mécaniques réelles
validées empiriquement sur le binaire :
- config.json = objet typé {"@type":"RocksDb","path":…} (DataStore seul) ;
- démarrage IaC en mode récupération (STALWART_RECOVERY_MODE +
STALWART_RECOVERY_ADMIN), admin depuis la voûte (vault_stalwart_admin).
Rôle : install version-épinglée, user système, unité systemd durcie
(CAP_NET_BIND_SERVICE, ProtectSystem), EnvironmentFile pour le secret.
Phase 2 (écouteurs/TLS step_ca/annuaire LDAP/DKIM via API d'admin) à venir.
Validé statiquement (ansible-lint, syntax, rendu config.json).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
29 lines
1.4 KiB
YAML
29 lines
1.4 KiB
YAML
---
|
|
# Stalwart Mail Server (binaire unique natif, AGPL). Rôle en 2 phases :
|
|
# Phase 1 (ce fichier) : installer + démarrer (mode récupération pour l'IaC).
|
|
# Phase 2 (à venir) : provisionner écouteurs/TLS/annuaire LDAP/DKIM.
|
|
# Cf. docs/courriel-conception.md.
|
|
|
|
serveur_stalwart_version: "0.16.11"
|
|
serveur_stalwart_arch: "x86_64-unknown-linux-gnu"
|
|
serveur_stalwart_url: "https://github.com/stalwartlabs/stalwart/releases/download/v{{ serveur_stalwart_version }}/stalwart-{{ serveur_stalwart_arch }}.tar.gz"
|
|
serveur_stalwart_binaire: "/usr/local/bin/stalwart"
|
|
|
|
serveur_stalwart_utilisateur: "stalwart"
|
|
serveur_stalwart_etc: "/etc/stalwart"
|
|
serveur_stalwart_data: "/var/lib/stalwart"
|
|
serveur_stalwart_store: "{{ serveur_stalwart_data }}/data"
|
|
serveur_stalwart_config: "{{ serveur_stalwart_etc }}/config.json"
|
|
serveur_stalwart_env: "{{ serveur_stalwart_etc }}/stalwart.env"
|
|
|
|
# DataStore de config.json. RocksDb embarqué par défaut (v1, cf. §4 du doc conception).
|
|
serveur_stalwart_store_type: "RocksDb"
|
|
|
|
# Mode récupération : expose l'API d'admin (port ci-dessous) pour provisionner les
|
|
# réglages (Phase 2). À basculer à false une fois la configuration chargée.
|
|
serveur_stalwart_recovery_mode: true
|
|
serveur_stalwart_recovery_port: 8080
|
|
|
|
# Identifiant admin de récupération. Le mot de passe vient de la voûte.
|
|
serveur_stalwart_admin_user: "admin"
|
|
serveur_stalwart_admin_password: "{{ vault_stalwart_admin | default('') }}"
|