Dialog: Image aus den Vorgaben setzen - die fehlende Gegenrichtung

Der Dialog hinter CMK_IMAGE/EDITION/VERSION bot bisher nur eine
Richtung an: Vorgaben aus dem verwendeten Image ableiten. Die
naheliegende Gegenrichtung - aus Edition und Version das Image bilden -
war nur ueber den ganzen Assistenten erreichbar, obwohl beide Werte
schon dastehen.

Neuer Eintrag "Image aus den Vorgaben setzen". Er zeigt gleich in der
Beschriftung, was dabei herauskommt, z.B.

  setzen  Image aus den Vorgaben setzen
          ->  registry.checkmk.com/enterprise/check-mk-enterprise:2.4.0p9

und traegt die Referenz nach Rueckfrage ein, ohne etwas zu laden.
Fehlt Edition oder Version, sagt der Dialog das, statt eine
unbrauchbare Referenz zu bilden.

Die drei Wege stehen jetzt in einer nachvollziehbaren Reihenfolge:
Assistent (alles), setzen (Vorgaben -> Image), angleichen (Image ->
Vorgaben).

Geprueft mit gesetzten Vorgaben: der Eintrag bildet die richtige
Referenz, das Uebernehmen schreibt sie in die .env, und whiptail
rendert den laengeren Eintrag ohne Fehler - die Fensterbreite waechst
mit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-20 18:45:50 +02:00
co-authored by Claude Opus 5
parent 7fb0c6ea9e
commit 43557e9753
3 changed files with 41 additions and 9 deletions
+31 -1
View File
@@ -4370,15 +4370,45 @@ gui_settings_edit() {
eingestellt sind aber ${CMK_EDITION:-?} / ${CMK_VERSION:-?}.
Gestartet wird immer das Image, nicht die Vorgaben."
fi
# Was ergaebe sich aus den Vorgaben? Das gehoert in die Beschriftung,
# damit die Richtung der beiden Wege klar ist.
local abgeleitet=""
if [ -n "${CMK_EDITION:-}" ] && [ -n "${CMK_VERSION:-}" ] \
&& edition_known "${CMK_EDITION}" 2>/dev/null; then
abgeleitet="$(edition_repo "$CMK_EDITION"):$CMK_VERSION"
fi
sel2="$(ui_menu "$key" \
"Aktuell: ${cur:-<leer>}
$lage" \
wizard "Image beschaffen (Edition, Version, Bezugsweg)" \
angleichen "Vorgaben an das verwendete Image angleichen" \
setzen "Image aus den Vorgaben setzen${abgeleitet:+ -> $abgeleitet}" \
angleichen "Umgekehrt: Vorgaben aus dem Image ableiten" \
nichts "Nichts aendern")" || { load_env "${ENV_FILE:-$PROJECT_DIR/.env}"; return 0; }
case "$sel2" in
wizard) gui_image_wizard || true ;;
setzen)
if [ -z "$abgeleitet" ]; then
ui_msg "Nicht moeglich" \
"Aus den Vorgaben laesst sich keine Referenz bilden.
Edition: ${CMK_EDITION:-<leer>}
Version: ${CMK_VERSION:-<leer>}
Beides muss gesetzt sein - der Assistent fragt danach."
elif ui_yesno "Image setzen" \
"Aus Edition und Version wird:
$abgeleitet
Heruntergeladen wird nichts - das holt die Runtime beim
naechsten Start selbst nach.
Uebernehmen?"; then
ui_run "Image setzen" bash -c \
"cd '$PROJECT_DIR' && '$SELF' -y image use --edition '$CMK_EDITION' --version '$CMK_VERSION'"
fi ;;
angleichen)
if [ -z "${CMK_IMAGE:-}" ]; then
ui_msg "Nicht moeglich" "CMK_IMAGE ist nicht gesetzt."