Seed legt keine Anleitung mehr auf der VM ab
Der late-command, der /root/ERSTINBETRIEBNAHME.txt erzeugte, ist entfernt (11 statt 12 late-commands). Auf der VM wird nichts gelesen, und eine mitgelieferte Anleitung altert dort: ab dem zweiten Kunden stehen auf den Maschinen verschiedene Staende, die niemand nachzieht. Die Handgriffe stehen jetzt im Runbook des internen Repositorys (espo-fleet-ops/docs/runbooks/erstinbetriebnahme-kunden-vm.md); der Seed nennt es in einer Kommentarzeile, autoinstall/README.md verweist darauf. Dabei mitgezogen: Abschnitt "Ablageort" nannte noch die Zwischenkopie gordon.zimm/ubuntu-autoinstall (O-26 ist seit 23.09.2026 entschieden), und drei Links zeigten auf docs/, das es in diesem Repo nicht gibt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
a643d64172
commit
75de1540b1
@ -1,20 +1,19 @@
|
||||
# Autoinstall-Seed für die EspoCRM-Kunden-VM
|
||||
|
||||
`user-data` und `meta-data` bilden eine NoCloud-Quelle. Das Verzeichnis ist öffentlich abrufbar – es enthält deshalb
|
||||
**keine Geheimnisse** (kein benutzbares Passwort, kein RMM-Token; siehe [ADR 0004](../docs/decisions/0004-bootstrap-der-kunden-vm.md)).
|
||||
**keine Geheimnisse** (kein benutzbares Passwort, kein RMM-Token; siehe ADR 0004 im internen Repository `espoCRM/espo-fleet-ops`).
|
||||
|
||||
## Ablageort
|
||||
|
||||
**Für den Testbetrieb (Entscheidung 22.09.2026, Variante 1):** Der Seed liegt zusätzlich in
|
||||
`gordon.zimm/ubuntu-autoinstall` unter `espocrm/`, weil der Installer ohne Anmeldung abruft und die Organisation
|
||||
`espoCRM` anonym nicht lesbar ist. Boot-Zeile:
|
||||
**Entschieden am 23.09.2026 (O-26):** Der Installer ruft ohne Anmeldung ab; dieses Repo ist deshalb der
|
||||
Ablageort des Seeds. Boot-Zeile:
|
||||
|
||||
```
|
||||
autoinstall ds=nocloud-net\;s=https://gitea.subcura.net/EspoCRM_Public/espo-deploy/raw/branch/main/autoinstall/
|
||||
```
|
||||
|
||||
**Dieses Verzeichnis ist die Quelle.** Änderungen hier vornehmen und anschließend nach `ubuntu-autoinstall/espocrm/`
|
||||
kopieren (`user-data`, `meta-data`). Der endgültige Ablageort bleibt offen → O-26.
|
||||
**Dieses Verzeichnis ist die Kopie, die der Installer abruft.** Geändert wird im internen Repository
|
||||
`espoCRM/espo-fleet-ops` unter `autoinstall/`; `user-data` ist hier byteidentisch.
|
||||
|
||||
## Hintergrund zur Wahl (O-26)
|
||||
|
||||
@ -46,29 +45,10 @@ sonst startet die Installation erneut.
|
||||
|
||||
## Nach dem ersten Start (einmal je VM)
|
||||
|
||||
Die Schritte liegen auch als `/root/ERSTINBETRIEBNAHME.txt` auf der VM:
|
||||
|
||||
1. An der Hyper-V-Konsole anmelden. Das **Initialpasswort** steht über dem Login-Prompt (`/etc/issue`); der Wechsel wird
|
||||
erzwungen. Neues Passwort im Secure Information Store der Site hinterlegen.
|
||||
2. RMM-Agent installieren – Token aus *Endpoints → Devices → Manage → Download Agent*:
|
||||
|
||||
```bash
|
||||
cd /tmp && curl -fsSLOJ "<Download-Link aus dem Portal>" && chmod +x *_ITSPlatform_TKN*.run && sudo ./*_ITSPlatform_TKN*.run; rm -f *_ITSPlatform_TKN*.run
|
||||
```
|
||||
|
||||
`-O -J` behält den vom Server vorgegebenen Dateinamen samt `_TKN<uuid>` – daraus liest der Installer den Token.
|
||||
Das abschließende `rm` hängt an `;`, damit die Datei mit dem Token auch nach einem Abbruch verschwindet.
|
||||
|
||||
Der Token steckt im Dateinamen; der Installer liest ihn aus seiner eigenen Aufrufzeile. Wird die Datei umbenannt
|
||||
(`-o name.run`) oder nur mit `-O` geladen (dann heißt sie `setup`), fehlt der Token und muss gesetzt werden:
|
||||
`sudo env TOKEN=<uuid> ./datei.run`.
|
||||
|
||||
Prüfen: `systemctl status ITSPlatform` und `tail /var/log/ITSPlatform-install.log`; das Gerät erscheint nach
|
||||
wenigen Minuten in der Site. Einzelheiten zur Token-Übergabe:
|
||||
[../docs/quellen/connectwise-rmm-notizen.md](../docs/quellen/connectwise-rmm-notizen.md)
|
||||
|
||||
3. Hinweiszeile mit dem Initialpasswort aus `/etc/issue` entfernen.
|
||||
4. Prüfen, dass das Gerät binnen weniger Minuten in der richtigen Site erscheint.
|
||||
Die Handgriffe von der leeren VM bis zur laufenden Instanz stehen im Runbook des internen Repositorys
|
||||
`espoCRM/espo-fleet-ops`, Datei `docs/runbooks/erstinbetriebnahme-kunden-vm.md` – Passwortwechsel,
|
||||
Agent-Installation samt Token-Übergabe, Einstellungen am Gerät, die drei Tasks, Abschlussprüfung.
|
||||
Der Seed legt dazu **keine Datei auf der VM** ab: gepflegt wird an einer Stelle, nicht auf jeder Maschine.
|
||||
|
||||
## Was der Seed einrichtet
|
||||
|
||||
@ -77,9 +57,9 @@ Die Schritte liegen auch als `/root/ERSTINBETRIEBNAHME.txt` auf der VM:
|
||||
| Sprache/Tastatur/Zeitzone | de_DE.UTF-8, de, Europe/Berlin |
|
||||
| Netz | erste Ethernet-Schnittstelle (`match: e*`), DHCPv4, kein DHCPv6 |
|
||||
| Konto | `administrator`, Passwort je VM zufällig, Wechsel beim ersten Anmelden erzwungen |
|
||||
| SSH | Server installiert, Passwortanmeldung erlaubt ([ADR 0003](../docs/decisions/0003-zugangsmodell-ssh.md)) |
|
||||
| SSH | Server installiert, Passwortanmeldung erlaubt (ADR 0003) |
|
||||
| Pakete | `linux-cloud-tools-virtual` (Hyper-V-Integrationsdienste), `curl`, `bzip2` |
|
||||
| Platten | `/` 20 GiB, swap 4 GiB, `/var/lib/docker` 20 GiB, `/srv` der gesamte Rest minus 10 GiB; die 10 GiB bleiben in der VG frei als Platz für einen LVM-Snapshot vor einem Update |
|
||||
| Zum Schluss | vollständiges `apt full-upgrade`, `autoremove`, `clean`, dann `poweroff` |
|
||||
|
||||
Hintergrund zur Aufteilung: [plattenlayout-erlaeuterung.md](../docs/entwuerfe/plattenlayout-erlaeuterung.md).
|
||||
Hintergrund zur Aufteilung: `docs/entwuerfe/plattenlayout-erlaeuterung.md` im internen Repository.
|
||||
|
||||
@ -8,6 +8,8 @@
|
||||
# -> er enthält KEIN Geheimnis: kein benutzbares Passwort, kein RMM-Token.
|
||||
# * Die ISO richtet nur das Minimum ein. Docker, Härtung, Logrotation, Firewall, Hostname und
|
||||
# Instanz kommen reproduzierbar über RMM-Tasks ("alles Weitere erfolgt über ConnectWise RMM").
|
||||
# * Der Seed legt keine Anleitung auf der VM ab. Die Handgriffe nach dem ersten Start stehen im
|
||||
# Runbook espo-fleet-ops/docs/runbooks/erstinbetriebnahme-kunden-vm.md.
|
||||
autoinstall:
|
||||
version: 1
|
||||
|
||||
@ -109,30 +111,7 @@ autoinstall:
|
||||
# 3. Hyper-V-Integrationsdienste (Zeit/IP-Meldung, Dateisystem-Quiesce für Veeam).
|
||||
# Normalerweise startet udev sie selbst; enable schadet nicht und darf fehlschlagen.
|
||||
- curtin in-target -- systemctl enable hv-kvp-daemon.service hv-vss-daemon.service || true
|
||||
# 4. Kurze Anleitung für den einen Handgriff nach dem ersten Start (Passwort + RMM-Agent).
|
||||
- >-
|
||||
printf '%s\n'
|
||||
'# Erstinbetriebnahme dieser VM - Registrierung im RMM von Hand (ADR 0004)'
|
||||
'#'
|
||||
'# 1. Initialpasswort steht am Konsolen-Login (/etc/issue), der Wechsel wird erzwungen.'
|
||||
'# Neues Passwort im Secure Information Store der Site hinterlegen.'
|
||||
'# 2. RMM-Agent installieren (Token aus: Endpoints > Devices > Manage > Download Agent):'
|
||||
'# cd /tmp && curl -fsSLOJ "<Download-Link aus dem Portal>" && chmod +x *_ITSPlatform_TKN*.run && sudo ./*_ITSPlatform_TKN*.run; rm -f *_ITSPlatform_TKN*.run'
|
||||
'# Pruefen: systemctl status ITSPlatform ; tail /var/log/ITSPlatform-install.log'
|
||||
'# 3. Im RMM am Geraet einstellen, BEVOR ein Task laeuft:'
|
||||
'# - Company Unique Id der Company gesetzt (liefert den Hostnamen espo-<kuerzel>)'
|
||||
'# - Geraet der richtigen Site und der Device Group EspoCRM zugeordnet'
|
||||
'# - Friendly Name setzen (folgt dem Hostnamen nicht von selbst)'
|
||||
'# - Custom Fields: espo_fqdn, espo_ring (0 intern, 1 Pilotkunde, 2 Produktivkunde), espo_zustand = NEU'
|
||||
'# 4. Tasks in dieser Reihenfolge von Hand starten:'
|
||||
'# ESPO-01-Grundeinrichtung -> Hostname, SSH-Haertung, Journal, Zeitzone'
|
||||
'# ESPO-02-Docker -> Docker in gepinnter Version, Logrotation, DOCKER-USER'
|
||||
'# ESPO-03-First-Deploy -> Geheimnisse, Compose aus dem Ring, EspoCRM starten'
|
||||
'# ESPO-01 entfernt die Zeile mit dem Initialpasswort aus /etc/issue selbst.'
|
||||
'# 5. Nach ESPO-03: Admin-Passwort in EspoCRM aendern (admin/admin) und im Safe ablegen.'
|
||||
'# ERST DANACH DNS-Eintrag und Portfreigabe an der OPNsense setzen.'
|
||||
> /target/root/ERSTINBETRIEBNAHME.txt
|
||||
# 5. Zum Schluss alles auf den neuesten Stand bringen. `updates: all` deckt den Stand zu Beginn der
|
||||
# 4. Zum Schluss alles auf den neuesten Stand bringen. `updates: all` deckt den Stand zu Beginn der
|
||||
# Installation ab; dieser Durchgang holt, was währenddessen dazugekommen ist, und räumt auf.
|
||||
# NEEDRESTART_SUSPEND verhindert Dienst-Neustarts im chroot.
|
||||
- curtin in-target -- sh -c 'DEBIAN_FRONTEND=noninteractive NEEDRESTART_SUSPEND=1 apt-get update'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user