feat: set_hostname — update /etc/hostname, /etc/hosts, cert, Postfix

Implements set_hostname on ProxmoxSystemMixin:
1. Writes /etc/hostname (short name, base64-safe transfer)
2. Replaces old hostname in /etc/hosts via Python regex + base64
3. Updates /etc/mailname if present
4. Updates Postfix myhostname via postconf -e if installed
5. Applies hostname immediately at runtime via hostname(1)
6. Regenerates Proxmox node TLS certificate via pvecm updatecerts -f
   (falls back to pvenode cert create → pveproxy restart)

Accepts bare hostname or FQDN. A reboot is required for the Proxmox
node name to update in the web UI / cluster — the driver logs this.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Christian Manivong
2026-06-19 16:30:45 +02:00
co-authored by Claude Sonnet 4.6
parent d1e6931ec5
commit b1ba991e6d
9 changed files with 2428 additions and 2273 deletions
+159 -2251
View File
File diff suppressed because it is too large Load Diff