"Nur eintragen" setzt jetzt auch CMK_IMAGE

Berechtigter Einwand: wer Edition und Version waehlt und "nichts holen"
sagt, will das Image SETZEN, nicht bloss zwei Vorgaben notieren. Mein
Entwurf trennte das kuenstlich - und hinterliess genau dadurch den
Zustand, den die Abweichungswarnung dann anmahnte. Das war die Ursache
des Hin und Her.

Die Referenz laesst sich aus Edition und Version bilden:
    enterprise 2.4.0p9 -> registry.checkmk.com/enterprise/check-mk-enterprise:2.4.0p9
    raw        2.4.0p9 -> docker.io/checkmk/check-mk-raw:2.4.0p9
Nur bei einem aus dem Tarball geladenen Image geht das nicht, da kommt
der Name aus dem Archiv.

Deshalb:
  image use --edition E --version V
bildet die Referenz und traegt CMK_IMAGE, CMK_EDITION und CMK_VERSION
ein, ohne irgendetwas herunterzuladen. Geholt wird beim naechsten "up"
durch die Runtime selbst.

Im Assistenten heisst der Weg jetzt "Nur eintragen - geholt wird beim
naechsten Start" und nutzt genau das. Damit setzen ALLE vier Wege
CMK_IMAGE; sie unterscheiden sich nur darin, ob dabei schon etwas
geholt wird. Die drei Werte bleiben dadurch von selbst stimmig, und die
Abweichungswarnung tritt im normalen Betrieb nicht mehr auf.

Geprueft: das Kommando und der Assistentenweg setzen alle drei Werte,
danach meldet "image status" keine Abweichung mehr.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-20 18:13:57 +02:00
co-authored by Claude Opus 5
parent c1371da7aa
commit 9d8a9ecf71
3 changed files with 99 additions and 32 deletions
+25 -5
View File
@@ -913,13 +913,33 @@ registry.checkmk.com/enterprise/check-mk-enterprise:2.3.0p9 (Registry)
localhost/checkmk/check-mk-enterprise:2.3.0p9 (aus Tarball geladen)
```
Deshalb hält `CMK_IMAGE` fest, was **wirklich vorhanden ist**, und wird von
`image pull`, `image download`, `image load` und `image use` gesetzt – von Hand
muss man dort normalerweise nichts eintragen. In der Oberfläche sind die drei
Werte deshalb gar nicht einzeln editierbar: sie werden vom Assistenten
gemeinsam gesetzt, damit sie nicht auseinanderlaufen. Auf der Kommandozeile
Deshalb hält `CMK_IMAGE` fest, was **wirklich gilt**. Gesetzt wird der Wert von
`image pull`, `image download`, `image load` und `image use` – von Hand muss man
dort nichts eintragen. In der Oberfläche sind die drei Werte deshalb nicht
einzeln editierbar: der Assistent setzt sie gemeinsam. Auf der Kommandozeile
bleiben sie einzeln setzbar (`config set …`).
**Nur eintragen, ohne etwas herunterzuladen.** Aus Edition und Version lässt
sich die Referenz bilden – ein Download ist dafür nicht nötig:
```bash
./scripts/cmk-manage.sh image use --edition enterprise --version 2.4.0p9
# -> CMK_IMAGE=registry.checkmk.com/enterprise/check-mk-enterprise:2.4.0p9
# CMK_EDITION=enterprise
# CMK_VERSION=2.4.0p9
```
Das Image selbst holt die Runtime beim nächsten `up`. Im Assistenten heißt
dieser Weg **„Nur eintragen – geholt wird beim nächsten Start"**. Braucht die
Registry eine Anmeldung (Enterprise), muss die einmal erfolgt sein – entweder
über den Weg „Registry holen" oder mit
`podman login registry.checkmk.com`.
> **Alle vier Wege des Assistenten setzen `CMK_IMAGE`** – sie unterscheiden
> sich nur darin, ob dabei schon etwas geholt wird. Deshalb bleiben die drei
> Werte von selbst stimmig, und die Abweichungswarnung tritt im normalen
> Betrieb gar nicht mehr auf.
Auf der Kommandozeile übernehmen `image pull` und `image download` mit
`--remember` die Edition und Version gleich mit in die `.env`: