heyer.systems

Benutzen

Der Gast

Was jeder Container und jede VM mitbringt, wo was liegt und wo deine eigenen Anpassungen hingehören.

Zugang

  • Anmelden nur als root mit SSH-Key, ohne Passwort. Ein root-Passwort gibt es nur mit dem Modul desktop – für RDP, nicht für SSH.
  • Ohne Netzwerk: pct enter <ID> (Container) bzw. die serielle Konsole qm terminal <ID> (VM) auf dem Proxmox-Host.
  • Weitere Keys: in /root/.ssh/authorized_keys eintragen.

Was jeder Gast mitbringt

Debian 13ohne Fremdquellen, Zeitzone Europe/Berlin
Firewallnftables: eingehend nur SSH und die Ports der App (manche nur aus privaten Netzen)
etckeeperjede Änderung an /etc landet in einem Git-Repo (git -C /etc log)
updateein Befehl für alle Updates (Aktualisieren)
Ansibleaus Debian, läuft nur lokal und stellt bei Installation und update den Sollzustand her
Selbsttestbash /var/lib/iac/src/core/bin/iac-smoke – derselbe Test wie vor jeder Image-Veröffentlichung

Eigene Anpassungen

Dateien, die mit # managed by iac – do not edit beginnen, gehören iac und werden bei jedem update wieder auf den Sollzustand gebracht. Eigene Änderungen gehören in die Dateien, die iac dafür vorsieht:

WasWohin
Firewall-Regeln/etc/nftables.d/90-local.nft
Einstellungen eines Dienstessystemctl edit <dienst>
Konfiguration der Appdie local-Datei, die die App nennt (z. B. traefik.local.yaml, configuration.local.py)

Beispiel für einen zusätzlich offenen Port:

echo 'add rule inet iac input tcp dport 8443 accept' >> /etc/nftables.d/90-local.nft
systemctl reload nftables

Wo was liegt

PfadInhalt
/etc/iac/instance.jsonApp, Version, aktive Module, Plattform – von iac geschrieben
/etc/iac/settings.envEinstellungen und erzeugte Secrets dieser Instanz (nur root)
/var/lib/iac/src/iac-core und die App in der installierten Fassung
/var/log/iac/iac.logProtokoll jeder Installation und jedes update

Wenn etwas nicht geht

bash /var/lib/iac/src/core/bin/iac-smoke                      # was läuft, was nicht
tail -n 100 /var/log/iac/iac.log                               # letzter Lauf
IAC_VERBOSE=1 bash /var/lib/iac/src/core/bin/iac-install       # Sollzustand erneut, mit allen Details

iac-install lässt sich gefahrlos wiederholen: Es stellt nur den Sollzustand her.