amsd-pipeline 2.0.4 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/install.sh +21 -0
  2. package/package.json +1 -1
package/install.sh CHANGED
@@ -888,6 +888,13 @@ else
888
888
  # symptom of the crash — same bug CLASS as the dashboards live/ directory fixed above, here for
889
889
  # ./data and ./spool specifically.
890
890
  mkdir -p "$LAUNCH_DIR/data" "$LAUNCH_DIR/spool"
891
+ # ...and make them writable by the uid the CONTAINER runs as. Creating them as the host user
892
+ # is the whole fix under docker, where those uids are the same. Under rootless podman they are
893
+ # not, and the mkdir above reproduces the very failure this block exists to prevent.
894
+ # ./data is the container's own database — it may own that outright.
895
+ ensure_bind_mount_ownership "$LAUNCH_DIR/data"
896
+ # ./spool is the boundary the HOST runner writes; it must stay writable from both sides.
897
+ ensure_shared_bind_mount "$LAUNCH_DIR/spool"
891
898
 
892
899
  _LD_PORT="$(grep -E '^LAUNCH_UI_PORT=' "$LAUNCH_DIR/.env" 2>/dev/null | tail -1 | cut -d= -f2)"
893
900
  _LD_PORT="${_LD_PORT:-8099}"
@@ -933,8 +940,22 @@ else
933
940
  # containers carrying NO network aliases — `getent hosts postgres` unresolved, so langfuse
934
941
  # could never reach its database however healthy postgres reported itself. The mock stack
935
942
  # has been seeded with "$ROOT-mock" since it was added; this one never was.
943
+ # RECREATE, DO NOT REUSE. `up -d --build` leaves an EXISTING container alone even when the
944
+ # compose file that defined it has changed — the same trap the observability stack's
945
+ # compose_up was fixed for, where reused containers came up with no network aliases. Live
946
+ # 2026-09-07 under podman-compose: launch-ui kept a stale image and a stale network mode
947
+ # after both were changed, so the install re-tested exactly what it had just replaced and
948
+ # reported the old failure. A down first costs seconds and makes the up mean something.
936
949
  for _LD_SUBNET in $(isolated_subnet_candidates "$ROOT-launch"); do
937
950
  _LD_TRY_PORT=$((_LD_PORT + _LD_I * 10))
951
+ # EVERY ATTEMPT STARTS CLEAN. `up -d --build` leaves an EXISTING container alone, so a
952
+ # retry's new port/subnet is silently ignored and the stack stays on the previous
953
+ # attempt's values — live 2026-09-07: attempt 0 published 8099, attempt 1 raised the
954
+ # port to 8109, compose reused the containers, and the installer then health-checked
955
+ # 8109 while the dashboard answered perfectly on 8099. The same trap the observability
956
+ # stack's retry was already fixed for; this loop never got it.
957
+ (cd "$LAUNCH_DIR" && container_compose -f "$LAUNCH_COMPOSE" -p "$_LD_PROJECT" down) \
958
+ >/dev/null 2>&1 || true
938
959
  if (cd "$LAUNCH_DIR" && LAUNCH_SUBNET="$_LD_SUBNET" LAUNCH_UI_PORT="$_LD_TRY_PORT" \
939
960
  container_compose -f "$LAUNCH_COMPOSE" -p "$_LD_PROJECT" up -d --build) >"$_LD_LOG" 2>&1; then
940
961
  _LD_UP=0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amsd-pipeline",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "Installer for the amsd-pipeline orchestration stack. Clones, packages and provisions the full stack with one command — no separate git clone step.",
5
5
  "bin": {
6
6
  "amsd-pipeline": "bin/amsd-pipeline.js"