From 75de0b491fc32aa11fbe1c7dbd343c5f2dadc015 Mon Sep 17 00:00:00 2001 From: ehfeng <279398+ehfeng@users.noreply.github.com> Date: Wed, 25 Mar 2026 21:45:31 +0000 Subject: [PATCH] Add deployment documentation to CLAUDE.md --- CLAUDE.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..d2b54d03 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,13 @@ +# kernel-images + +## Deployment + +- Merging to main does **not** automatically deploy to production. +- CI builds Docker images (`onkernel/chromium-headful:` and `onkernel/chromium-headless:`), runs e2e tests, and pushes to Docker Hub. That's where CI ends. +- Production runs unikernel images on KraftCloud, not Docker images directly. +- To deploy to production: + 1. Build the unikernel image using `build-unikernel.sh`. + 2. Push to KraftCloud. + 3. Update the image SHA reference in `kernel/kernel`. The Go module dependency `github.com/onkernel/kernel-images/server` is used in `packages/api`, `packages/metro-api`, and `packages/integration`. + 4. Redeploy the API. +- The image references in `kernel/kernel` are Go module dependencies — update them with `go get` and `go mod tidy`.