Files
docker-podman-installation-…/scripts
duffyduckandClaude Opus 5 59304ae02d Proxy-Host bearbeiten, ohne den Rest zu verlieren
Aendern ging bisher nur ueber "proxy add --update", und das schreibt den
Eintrag vollstaendig neu: wer den Port aendern wollte, verlor still die
zusaetzlichen Pfade und die erweiterte Konfiguration, weil die Nutzlast
aus Vorgaben zusammengesetzt wird.

Die Schnittstelle des Proxy Managers arbeitet als Patch - ein PUT mit
nur einem Feld aendert auch nur dieses; an einem laufenden NPM 2.15.1
nachgemessen. Darauf setzt "proxy edit" auf: angegeben wird, was sich
aendern soll, alles Uebrige bleibt unberuehrt.

  proxy edit --id 3 --forward-port 5001
  proxy edit --domain checkmk.example.local --cert self
  proxy edit --id 3 --location /grafana=127.0.0.1:3000
  proxy edit --id 3 --del-location /grafana

Dazu Ziel, Schema, Name, Zertifikat, erweiterte Konfiguration, die vier
Schalter und ein/aus. Ohne Angabe wird nur der Stand gezeigt. In der
Oberflaeche liegt dasselbe unter "Proxy-Host bearbeiten", mit den
aktuellen Werten vorbelegt.

Pfade kennt die Schnittstelle nur als Ganzes, sie werden deshalb gelesen,
geaendert und zurueckgeschrieben. Das an "}" aufzuteilen geht nicht:
"advanced_config" darf nginx-Bloecke mit geschweiften Klammern und
maskierte Anfuehrungszeichen enthalten. Dafuer gibt es jetzt json_raw
und json_split_array, die die Verschachtelung mitzaehlen und
Zeichenketten erkennen. "proxy show" liest die Pfade ebenfalls darueber.

Zwei Fehler kamen dabei ans Licht:

  - NPM_CODE wurde in npm_api gesetzt, aber npm_api wird fast immer in
    einer Kommandoersetzung aufgerufen - also in einer Subshell. Der
    HTTP-Code kam nie beim Aufrufer an; unter "set -u" brach das Skript
    im Fehlerpfad sogar ab, statt den Fehler zu zeigen. Betraf auch
    "proxy add" und das Anlegen von Zertifikaten. Der Code wird jetzt
    zusaetzlich abgelegt und mit npm_code gelesen.
  - Der Proxy Manager schaltet ohne Zertifikat http2_support und
    ssl_forced von sich aus ab. Das blieb unbemerkt; jetzt wird nach dem
    Schreiben verglichen und eine Abweichung gemeldet.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 20:27:55 +02:00
..