Skip to content

Golden-snapshot reset: a clean, pre-warmed engine per job in seconds #142

Description

@zcsizmadia

Runners want two contradictory things: a clean slate per job and no image pulls. A golden snapshot gives both — bake base images into a snapshot once, restore it before each job.

Rides hawser snapshot (#122). Docker Desktop has no engine snapshot at all.

Work

  • hawser reset --to <snapshot> — restore with the confirmations skipped (it is a runner), --json result, exit codes.
  • Make restore fast: measure snapshot restore today (export+import of a VHDX-backed distro); explore keeping the golden tar uncompressed and pre-staged, or wsl --import-in-place where applicable. Target: single-digit seconds for a warm-cache golden of a few GB.
  • Post-job hook pattern: hook.post-stop or a runner after_script calling hawser reset --to golden.
  • Doc: baking a golden (hawser install → pull your base images → snapshot save golden).

Acceptance

  • Two consecutive jobs see no state from each other and start with the golden images present.
  • Restore time is documented with real numbers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ci-cdCI/CD runners and local pipeline developmentenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions