Skip to content

Pull OCP sandbox image from GHCR instead of in-cluster build - #52

Merged
pdettori merged 1 commit into
mainfrom
feat/ocp-sandbox-ghcr-image
Jul 3, 2026
Merged

pdettori merged 1 commit into
mainfrom
feat/ocp-sandbox-ghcr-image

Conversation

@pdettori

@pdettori pdettori commented Jul 3, 2026

Copy link
Copy Markdown
Member

Summary

Post-merge follow-up to P0′ (#51), executing the Option B simplification flagged in the P0′ design spec (docs/specs/2026-07-02-p0prime-ocp-fs-free-deployment-design.md §4 follow-up note).

Now that build.yaml republishes ghcr.io/kagenti/serverless-harness-sandbox (with the ripgrep fix) on every push to main, the OCP overlay pulls it directly — symmetric with the harness image — instead of building it in-cluster. This drops the BuildConfig/start-build path entirely.

Changes

  • overlays/ocp/patch-sandbox.yaml — JSON6902 image → ghcr.io/kagenti/serverless-harness-sandbox:latest.
  • setup-ocp.sh — remove the in-cluster BuildConfig / start-build section (old §3) and the --skip-sandbox-build flag + SKIP_SANDBOX_BUILD var; default SANDBOX_IMAGE to the GHCR image; keep --sandbox-image as a pull override (symmetric with --image); render_overlay sed now matches the GHCR sandbox string; section banners renumbered.
  • README-ocp.md — sandbox row, Options block, and "Image delivery" section updated.

Unchanged: durable Sandbox CR PVC, non-root 65532/fsGroup, agent-sandbox controller install, .status.selector poll.

Verification (live OCP 4.20.8)

Gate first confirmed the republished GHCR sandbox image is pullable and contains rg (ripgrep 14.1.0).

Then, on a swept-clean namespace:

  • setup-ocp.sh end-to-end — no build step, sandbox Ready, ksvc Ready.
  • sandbox-0 runs ghcr.io/kagenti/serverless-harness-sandbox:latest, non-root (65532/65532), rg/bash/find present, on a freshly-bound durable RWO gp3-csi PVC.
  • LEAF_LIVE_SMOKE=1 leaf-smoke.sh via the Route → 10 passed, 0 failed (incl. repo-seeding into the sandbox, scale-out to 3 pods, kill/resume→verdict, scale-to-zero).

Follow-up

P2 (#46 — shared sandbox pool / N:M routing / RWX on the sandbox tier) is the next step and needs its own brainstorm + spec.

Assisted-By: Claude Code

Post-merge follow-up to P0' (#51). Now that build.yaml republishes
ghcr.io/kagenti/serverless-harness-sandbox (with the ripgrep fix) on every
push to main, the OCP overlay can pull it directly — symmetric with the
harness image — instead of building it in-cluster. This is the "Option B"
simplification flagged in the P0' design spec (§4 follow-up note).

- overlays/ocp/patch-sandbox.yaml: JSON6902 image -> GHCR pullspec.
- setup-ocp.sh: drop the in-cluster BuildConfig / start-build section and the
  --skip-sandbox-build flag; default SANDBOX_IMAGE to the GHCR image; keep
  --sandbox-image as a pull override (symmetric with --image); render_overlay
  sed now matches the GHCR sandbox string. Section banners renumbered.
- README-ocp.md: sandbox row, Options, and Image delivery updated.

Verified on live OCP 4.20.8: setup-ocp.sh end-to-end (no build step), sandbox-0
runs the GHCR image non-root (65532) with ripgrep 14.1.0 on a durable RWO PVC,
and LEAF_LIVE_SMOKE=1 leaf-smoke.sh passes 10/10 via the Route.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: Paolo Dettori <paolo.dettori@example.com>
@pdettori
pdettori merged commit 47cf6dd into main Jul 3, 2026
9 checks passed
@pdettori
pdettori deleted the feat/ocp-sandbox-ghcr-image branch July 3, 2026 02:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant