• Two fixes for a fresh `./setup.sh` install, plus the SSH jump host promoted

    wmantly released this 2026-08-01 17:48:46 +00:00

    from an opt-in component to a core part of the stack.

    • setup.sh — fresh installs aborted silently right after Minting per-app OpenBao tokens. The env_get helper's grep | cut pipeline returns
      non-zero under set -euo pipefail when .env exists (it's created earlier
      by the root-VAULT_TOKEN env_upsert) but a given app-token key is absent —
      the normal first-run state. The unguarded existing="$(env_get ...)" then
      tripped set -e and killed the script before any token was minted. env_get
      now always returns 0 (|| true), so "key absent" resolves to empty and the
      run continues through token minting, the SSO/proxy bring-up, and the jump
      host. Reproduced + verified the fix under the exact fresh-install condition.

    • setup.shJUMP_VAULT_TOKEN is now always minted (jump host is core;
      the mint was already unconditional, this just documents it).

    • jump host is no longer optional — it is built + started on every run,
      with no CFG_JUMP_HOST_ENABLED flag.

      • docker-compose.yml: removed profiles: ["jump-host"] from the
        jump-host service so docker compose up includes it unconditionally.
        The test-only ldap-test-host downstream fixture keeps an opt-in profile,
        renamed jump-hostldap-test (docker compose --profile ldap-test up).
      • setup.sh: SUBMODULES always includes jump-host; the build/start +
        host-register + summary lines for the jump host are no longer wrapped in a
        JUMP_ENABLED guard; the COMPOSE_PROFILES export is gone.
      • bootstrap/bootstrap.js: jump-host provisioning (mint API token + write
        jump-secrets.js + mirror into OpenBao) and its directory service record
        now run unconditionally — no CFG_JUMP_HOST_ENABLED gate.
      • setup.env.example / docs/index.md / docs/quickstart.md: dropped the
        "optional / enable with CFG_JUMP_HOST_ENABLED=true" wording; the
        CFG_JUMP_HOST hostname override + JUMP_SSH_PORT remain.
    Downloads