From 22331ff11495e44d8da6df2fa30297515d55286a Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sun, 20 Sep 2026 19:08:43 +0200 Subject: [PATCH] Steuerzeichen in Textanzeigen, veralteter Anmeldehinweis, Image-Name Drei Dinge aus einem Bildschirmfoto des laufenden Systems: 1. In jeder Textanzeige standen rohe Steuerzeichen (^[[1mImage^[[0m). Die Farbvariablen werden beim Laden von common.sh einmal festgelegt - das NO_COLOR beim spaeteren Aufruf wirkte deshalb nicht mehr. Statt an jeder Aufrufstelle zu flicken, entfernt jetzt _ui_file die Sequenzen; das greift fuer ALLE Textanzeigen, auch die von ui_run. 2. Der Status nannte weiterhin "Erstlogin: admin@example.com / changeme". Diese Zugangsdaten gibt es seit NPM 2.15 nicht mehr - genau das war hier schon Thema. Er zeigt jetzt NPM_ADMIN_EMAIL, und weist darauf hin, wenn kein Konto hinterlegt ist. 3. Ein aus dem Tarball geladenes Image heisst nicht "localhost/checkmk/..." wie von mir dokumentiert, sondern "docker.io/checkmk/check-mk-enterprise:2.4.0p9" - Podman ergaenzt den unqualifizierten Namen aus dem Archiv um docker.io, obwohl es das Image dort nicht gibt. Beides in beiden Sprachfassungen richtiggestellt, mit dem Hinweis, dass das harmlos ist: lokal ist es da, "up" nutzt es, nur pullen liesse es sich so nicht - dafuer gibt es "image get". Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 12 ++++++++++-- README_en.md | 12 ++++++++++-- scripts/cmk-manage.sh | 7 ++++++- scripts/lib/common.sh | 12 ++++++++++++ 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b8482f8..5e2cd09 100644 --- a/README.md +++ b/README.md @@ -940,7 +940,7 @@ sudo ./scripts/cmk-manage.sh image load --file /root/check-mk-enterprise-2.3.0p2 ``` In allen drei Faellen ermittelt das Skript den **tatsaechlichen** Image-Namen -(bei `load` z. B. `localhost/checkmk/check-mk-enterprise:2.3.0p23`) und traegt +(bei `load` z. B. `docker.io/checkmk/check-mk-enterprise:2.4.0p9`) und traegt ihn als `CMK_IMAGE` in die `.env` ein. Danach: ```bash @@ -964,9 +964,17 @@ Bezugsweg sieht dieselbe Version völlig anders aus: ``` docker.io/checkmk/check-mk-raw:2.3.0-latest (Docker Hub) registry.checkmk.com/enterprise/check-mk-enterprise:2.3.0p9 (Registry) -localhost/checkmk/check-mk-enterprise:2.3.0p9 (aus Tarball geladen) +docker.io/checkmk/check-mk-enterprise:2.4.0p9 (aus Tarball geladen) ``` +> **Der Name nach `image download` überrascht.** Der Tarball trägt intern den +> unqualifizierten Namen `checkmk/check-mk-enterprise:`, und Podman +> ergänzt daraus beim Einspielen `docker.io/` – obwohl es das Image dort gar +> nicht gibt. Das ist richtig und stört nicht: das Image liegt lokal, `up` +> verwendet es. Nur **pullen** ließe es sich unter diesem Namen nicht. Fehlt es +> später einmal, holt `image get` es wieder über das Downloadportal – nicht +> über `podman pull`. + 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 diff --git a/README_en.md b/README_en.md index 7885b23..0c468c2 100644 --- a/README_en.md +++ b/README_en.md @@ -944,7 +944,7 @@ sudo ./scripts/cmk-manage.sh image load --file /root/check-mk-enterprise-2.3.0p2 ``` In all three cases the script determines the **actual** image name (for `load` -typically `localhost/checkmk/check-mk-enterprise:2.3.0p23`) and writes it to +typically `docker.io/checkmk/check-mk-enterprise:2.4.0p9`) and writes it to `CMK_IMAGE` in `.env`. Afterwards: ```bash @@ -968,9 +968,17 @@ you obtained it, the very same version looks completely different: ``` docker.io/checkmk/check-mk-raw:2.3.0-latest (Docker Hub) registry.checkmk.com/enterprise/check-mk-enterprise:2.3.0p9 (registry) -localhost/checkmk/check-mk-enterprise:2.3.0p9 (loaded from a tarball) +docker.io/checkmk/check-mk-enterprise:2.4.0p9 (loaded from a tarball) ``` +> **The name after `image download` is surprising.** The tarball carries the +> unqualified name `checkmk/check-mk-enterprise:` internally, and +> Podman expands that to `docker.io/` when loading – even though the image does +> not exist there. That is correct and harmless: the image is local and `up` +> uses it. It just could not be **pulled** under that name. Should it ever go +> missing, `image get` fetches it from the download portal again – not via +> `podman pull`. + So `CMK_IMAGE` records what **actually applies**. It is written by `image pull`, `image download`, `image load` and `image use` – you never have to type anything there by hand. In the interface the three values are therefore not diff --git a/scripts/cmk-manage.sh b/scripts/cmk-manage.sh index 3a15e5b..cf5d0e5 100755 --- a/scripts/cmk-manage.sh +++ b/scripts/cmk-manage.sh @@ -1816,7 +1816,12 @@ cmd_status() { printf ' Agent-Receiver : %s:8000\n' "$ip" if npm_enabled; then printf ' Checkmk (ueber Proxy) : https:///%s/\n' "$CMK_SITE_ID" - printf ' NGINX Proxy Manager : http://%s:%s/ (Erstlogin: admin@example.com / changeme)\n\n' "$ip" "${NPM_ADMIN_PORT:-81}" + printf ' NGINX Proxy Manager : http://%s:%s/\n' "$ip" "${NPM_ADMIN_PORT:-81}" + if [ -n "${NPM_ADMIN_EMAIL:-}" ]; then + printf ' Anmeldung: %s\n\n' "$NPM_ADMIN_EMAIL" + else + printf ' %sKein Konto hinterlegt%s - NPM_ADMIN_EMAIL/-PASSWORD setzen\n\n' "$C_YEL" "$C_RST" + fi else printf ' NGINX Proxy Manager : abgeschaltet\n' printf ' Externer Proxy weiterleiten auf http://%s:5000\n\n' "$ip" diff --git a/scripts/lib/common.sh b/scripts/lib/common.sh index 72bf020..2a18eb3 100644 --- a/scripts/lib/common.sh +++ b/scripts/lib/common.sh @@ -446,8 +446,20 @@ _ui_box() { _ui_file() { ui_init ui_term_size + # Farbige Ausgaben landen hier als rohe Steuerzeichen (^[[1m ...), + # weil dialog/whiptail sie nicht auswerten. Die Farbvariablen werden + # beim Laden dieser Datei einmal festgelegt - ein NO_COLOR beim + # spaeteren Aufruf wirkt also nicht mehr. Deshalb hier entfernen; + # das greift fuer JEDE Textanzeige. + local clean; clean="$(mktemp)" + sed -E 's/\x1b\[[0-9;]*[a-zA-Z]//g; s/\x1b\([AB012]//g' "$2" >"$clean" 2>/dev/null \ + || cp "$2" "$clean" + set -- "$1" "$clean" "$UI_BIN" ${UI_EXTRA[@]+"${UI_EXTRA[@]}"} --backtitle "$UI_BACKTITLE" --title "$1" \ --textbox "$2" $(( UI_ROWS - 2 )) $(( UI_COLS - 4 )) + local rc=$? + rm -f "$clean" + return $rc } # ---------------------------------------------------------------------