Skip to main content

Investigate: UIS Container Pull Command

IMPLEMENTATION RULES: Before implementing this plan, read and follow:

Status: Backlog

Goal: Add a ./uis pull command that pulls the latest provision-host container image and restarts the container

Last Updated: 2026-03-11


Problem

After initial installation, there is no way to update the provision-host container to a newer version. The ./uis wrapper script in the repo root has no pull or update command. Users must manually run docker pull and restart the container.

Note: website/static/uis (the newer wrapper distributed via the docs site) has an update command that does this, but the repo-root ./uis wrapper that developers actually use does not.


Decisions

QuestionDecision
Command name./uis pull
BehaviorPull latest container image + restart container
In-flight operationsWarn if running, but proceed (user-initiated)
Version checkOut of scope for first implementation
Wrapper script updatesOut of scope — just the container image
Tag strategyKeep :latest for now

Current State

  • Repo-root ./uis wrapper has no pull/update command
  • website/static/uis has update_container() function (pull + stop + start) — can be used as reference
  • CI/CD pipeline builds and pushes new images on merge to main
  • Container image: ghcr.io/terchris/uis-provision-host:latest

Implementation Notes

The website/static/uis wrapper already has a working implementation at lines 191-204:

update_container() {
log_info "Pulling latest UIS container image..."
if docker pull "$IMAGE"; then
log_info "Image updated successfully"
if is_container_running; then
log_info "Restarting container with new image..."
stop_container
start_container
fi
else
log_error "Failed to pull image"
exit 1
fi
}

Adapt this for the repo-root ./uis wrapper, rename to pull, and add a case in the main command handler.


Next Steps

  • Create PLAN to implement ./uis pull