Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

deploy/vm: setup-vm.sh never pulls the sandbox image, so a host runs a stale :latest

Open
#414 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
52/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
shell

Research direction

Read deploy/vm/setup-vm.sh and deploy/vm/build-rootfs.sh, then compare their image handling with the workaround in docs/demos/vm-multi-user-demo.md. Determine the chosen behavior for online and offline hosts, and verify that reruns no longer silently use a stale sandbox image while rootfs builds use the intended image.

Written by the indexing model from the issue text.

Description

Found on the VM demo's live run (#370, recorded in docs/demos/vm-multi-user-demo.md, fix list 4).

deploy/vm/setup-vm.sh starts the sandbox containers from whatever ghcr.io/rossoctl/moca-remote-worker:latest (or SANDBOX_IMAGE) the host already has. It never pulls. A host therefore keeps running the image it pulled first, through every later re-run.

On the shared KVM rig (2026-10-01), the local :latest (5be0c52f2b50) predated #372:

  • HOME was /workspace, the directory every session shares, so dotfiles landed there;
  • /home/sandbox did not exist.

Pulling gave 102ed4c1cfb9, with HOME=/home/sandbox as #372 intends. Nothing in setup-vm.sh's output hints that the image is stale.

The P4 rootfs inherits the same problem: build-rootfs.sh exports whatever image the host has.

Options:

  • setup-vm.sh runs podman pull "$SANDBOX_IMAGE" before starting the containers, with a flag to skip it on an offline host;
  • or pin SANDBOX_IMAGE to a digest per release, so a re-run's image is explicit;
  • at minimum, log the image id and created time it starts.

The demo runbook works around it with a manual pull in 0a.

Dominant language
TypeScript
Stars
4
Forks
9
Avg merge
9h 31m
Merged PRs (30d)
139

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from rossoctl/moca

All issues in rossoctl/moca

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.