{"slug":"kubernetesvmstack","tag":"v1.36.6-kubevirt1.9.1-CE-scratch-r2","current":true,"account":false,"tarball":"ReadyStack-kubernetesvmstack-v1.36.6-kubevirt1.9.1-CE-scratch-r2.tar.gz","tarball_sha256":"ea02977dc3838c5de177ce37e24a6fd6b4b91a1ad46f2926a41608fd10583b25","generated_at":"2026-10-29T19:41:34Z","dockerfile":"Dockerfile.offline.pinned","build_script":"BUILD_OFFLINE.sh","pins":{"upstream":{"repo":"https://github.com/kubernetes/kubernetes","ref":"v1.36.6","commit":"1b2171b110bb2a2542e1322035c6583ec86eb976","url":"https://github.com/kubernetes/kubernetes/tree/1b2171b110bb2a2542e1322035c6583ec86eb976"},"bases":[{"image":"golang:1.26.10-bookworm","digest":"sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af"}],"toolchain":{"buildkit":"moby/buildkit:v0.31.2","buildkit_image_digest":"sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0","builder_images":["golang:1.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af"]},"build_method":"source-rebuild-go","source_date_epoch":1793102572,"source_date_epoch_utc":"2026-10-27T12:02:52Z","target":{"image":"readystack/kubernetesvmstack:v1.36.6-kubevirt1.9.1-CE-scratch-r2","image_manifest_digest":"sha256:0268790dadac6fbc392784cb7f77f996526f4d1b6394bb30228d19ddaae062e9","config_digest":"sha256:46ed88f233dc993f1e2a59dac2e31b3efbc8b370f58b6b063a79db1ff1931f28"},"checksummed_files":29345},"files":[{"path":"BASES.tsv","size":143,"sha256":"2723d349204e265669d4d19e2e96fc49d3c481b7b964999bae66afcba2519644","public":"full","lines":1,"url":"/api/recipe/kubernetesvmstack/v1.36.6-kubevirt1.9.1-CE-scratch-r2/files/BASES.tsv","text":"golang:1.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af\tbases/golang_1.26.10-bookworm_632dff735179.oci\n"},{"path":"BUILD_OFFLINE.sh","size":6738,"sha256":"83299978ccd02a0b69e163d760da1211b401bbfa35a3184ca674dc37ff876732","public":"preview","lines":125,"preview":{"text":"#!/usr/bin/env bash\n# =============================================================================\n# ReadyStack — offline reproducible rebuild.\n#\n# Rebuilds this product's image from THIS ARCHIVE ALONE, with no network access\n# of any kind, and prints the resulting linux/amd64 image-manifest digest.\n# Run ./VERIFY_OFFLINE.sh afterwards to assert it equals the published digest.\n#\n# Requirements: linux/amd64 Docker host, docker buildx >= 0.30, jq, tar.\n# No git, no registry access, no additional tooling.\n#\n#   ./BUILD_OFFLINE.sh                the rebuild (OCI image + a docker-loadable copy)\n#   ./BUILD_OFFLINE.sh --provenance   the same rebuild with SLSA v1 build provenance (mode=max) attached to the OCI\n#                                     image, generated by BuildKit, not by any build step. Run on your own hardened,\n#                                     isolated build platform and sign that provenance with a key the build cannot\n#                                     reach, and the result meets SLSA Build Level 3 (see REBUILD.md). The image\n#                                     digest is the same either way.\n# =============================================================================\nset -euo pipefail\nPROVENANCE=0\nfor arg in \"$@\"; do\n  case \"$arg\" in\n    --provenance) PROVENANCE=1 ;;\n    -h|--help) sed -n '2,20p' \"$0\"; exit 0 ;;","lines_shown":24,"lines_total":125}},{"path":"CHECKSUMS.sha256","size":4880355,"sha256":"849f0867101a54de9815dae3548c86335a17e47a97fd444c31a49665707aa389","public":"account","lines":29345},{"path":"DOCKERFILE_NAME.txt","size":26,"sha256":"9aadd1ede68e016a6f163c97befc5ff2fcdc8ebd4f84b108dba63cb195fa8c84","public":"full","lines":1,"url":"/api/recipe/kubernetesvmstack/v1.36.6-kubevirt1.9.1-CE-scratch-r2/files/DOCKERFILE_NAME.txt","text":"Dockerfile.offline.pinned\n"},{"path":"Dockerfile","size":4346,"sha256":"27d170be6fee0c20302d19e3bffd9e615cd3051db16c196797bbfde873888448","public":"account","lines":57},{"path":"Dockerfile.offline","size":4346,"sha256":"27d170be6fee0c20302d19e3bffd9e615cd3051db16c196797bbfde873888448","public":"account","lines":57},{"path":"Dockerfile.offline.pinned","size":4346,"sha256":"27d170be6fee0c20302d19e3bffd9e615cd3051db16c196797bbfde873888448","public":"preview","lines":57,"preview":{"text":"# =====================================================================\n# Kubernetes VM Stack L-009 HERMETIC OFFLINE BUILD: the canonical, attestation-producing build. build_kit runs\n#   docker buildx build --builder readystack-builder-max --network=none\n#     --attest type=provenance,mode=max,version=v1 --attest type=sbom --push <directory context>\n# Pinned-public-base + vendored model: golang 1.26.10 pinned BY DIGEST (BASE_IMAGE_DIGESTS.lock) compiles stack-bundle\n# from the kit's stack-bundle.go (standard library only); vendored/kubernetesvmstack-src is the kit's bundle/.\n# Dockerfile and Dockerfile.offline are byte copies of this file (the repo-wide convention).\n#\n# SHAPE: a BUNDLE IMAGE (owner 2026-10-29: the stack ships as an image). FROM scratch: /kubernetesvmstack holds the\n# install bundle (install/), the pin manifest (kubevirt-stack.json), the operator runbook and the record of its cluster\n# run (runbook/), and SHA256SUMS of every file; /usr/local/bin/stack-bundle checks them (`verify`, the default command\n# and the component check), lists them (`list`) and prints the stack's version (`version`). It runs no service: its\n# default user is 65534:65534.\n# =====================================================================\nFROM golang:1.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af AS build\nWORKDIR /src\nCOPY stack-bundle.go main.go\nCOPY stack-bundle.mod go.mod\nENV CGO_ENABLED=0 GOTOOLCHAIN=local GOFLAGS=\"-buildvcs=false\" GOPROXY=off\n# the stack's version (strategies/kubernetesvmstack.json, the pin manifest's own) is stamped into the program; the ARG is\n# the kit's version pin (scripts/check-kit-version.py: a stack's release is its own version, not its source.ref)\nARG STACK_VERSION=v1.36.6-kubevirt1.9.1\nRUN go build -trimpath -ldflags=\"-s -w -X main.version=${STACK_VERSION}\" -o /out/stack-bundle . && \\\n    [ \"$(go version /out/stack-bundle | awk '{print $2}')\" = go1.26.10 ]","lines_shown":24,"lines_total":57}},{"path":"Dockerfile.vendor","size":805,"sha256":"8c607589a53c98c0f33b06b90f2f49d4371a6da3750ca85b8fa4f6788b969a43","public":"account","lines":10},{"path":"MANIFEST.txt","size":2884925,"sha256":"b150dc6af7a2aee960c4431b5f2ee50840e2279b17f31a1ac2e9155790db3ab2","public":"account","lines":29347},{"path":"SOURCE_DATE_EPOCH.txt","size":11,"sha256":"1baf07802daf74bb53895a5dc126efadea088eaec3460ac65cf3d9b9ca460a3c","public":"full","lines":1,"url":"/api/recipe/kubernetesvmstack/v1.36.6-kubevirt1.9.1-CE-scratch-r2/files/SOURCE_DATE_EPOCH.txt","text":"1793102572\n"},{"path":"TARGET_DIGEST.txt","size":477,"sha256":"b0a541788e2e40e957925ed188ac710eb19730a26aa33cb893679faa9b23c076","public":"full","lines":11,"url":"/api/recipe/kubernetesvmstack/v1.36.6-kubevirt1.9.1-CE-scratch-r2/files/TARGET_DIGEST.txt","text":"image_manifest_digest=sha256:0268790dadac6fbc392784cb7f77f996526f4d1b6394bb30228d19ddaae062e9\nconfig_digest=sha256:46ed88f233dc993f1e2a59dac2e31b3efbc8b370f58b6b063a79db1ff1931f28\ntag=readystack/kubernetesvmstack:v1.36.6-kubevirt1.9.1-CE-scratch-r2\nprobe_port=80\nprobe_path=/\nprobe_timeout=180\nprobe_exec=['/usr/local/bin/stack-bundle', 'verify']\nverify_boot=oneshot\nverify_oneshot_arg=/usr/local/bin/stack-bundle\nverify_oneshot_arg=verify\nverify_oneshot_expect=files verified\n"},{"path":"VERIFY_OFFLINE.sh","size":10153,"sha256":"3e8184ea230cfd8f41f977e26be6bf7bd03112c396c517837ce0c7de4f7399dd","public":"account","lines":165},{"path":"bundle/SHA256SUMS","size":2654,"sha256":"779958f8437d0df50b8921da3d20d0f1d1356c87873cea9c316914aba97aa5f3","public":"account","lines":26},{"path":"bundle/install/README.md","size":12711,"sha256":"0abe19a8a9b95ced524a06880c5acbd89980790f7856bd6c612f63b06390e047","public":"account","lines":197},{"path":"bundle/install/controlplane/IMAGES.md","size":7548,"sha256":"c3533ec422498a45e01d55fb9008c23083c4e468497d93a627f06bc3b837681c","public":"account","lines":98},{"path":"bundle/install/controlplane/kube-proxy.yaml","size":6450,"sha256":"93fafdd28b703abf98de331984b8d43988184c56e72cd39c7934825034bf2969","public":"account","lines":225},{"path":"bundle/install/controlplane/kubeadm-config.yaml","size":4875,"sha256":"84dd53510f72de6d81cd6fa22b62fb87be5fbeb293bf52b8e19f9dcb76361fba","public":"account","lines":110},{"path":"bundle/install/controlplane/patches/etcd+strategic.yaml","size":550,"sha256":"425affb94fb2f5b53acdd65988d05307cd327d54f2b28ce6f7c3a711e6609497","public":"account","lines":9},{"path":"bundle/install/controlplane/patches/kube-apiserver+strategic.yaml","size":581,"sha256":"efe651b17f375ebf8910a85584c2810042a624e59f74b2d5fb9db4983e2864d4","public":"account","lines":9},{"path":"bundle/install/controlplane/patches/kube-controller-manager+strategic.yaml","size":602,"sha256":"6eacdefa08b2dc9b8596571cdaec6195289fb2fb26e349a4e58fb777ce2b8e48","public":"account","lines":9},{"path":"bundle/install/controlplane/patches/kube-scheduler+strategic.yaml","size":540,"sha256":"0f0e6012a51b8548442dc02a0140734283a4a41f35892c3334e305e9f54a18c2","public":"account","lines":9},{"path":"bundle/install/images.tsv","size":3402,"sha256":"889e89e897d22efb6219f16c89fbf4a3ad65c8a51b98cd5c44464ebff95205f0","public":"account","lines":29},{"path":"bundle/install/kubevirt/README.md","size":5378,"sha256":"f6d8499e9bfe6c6e44cd85e9ed75895b011c40c752bdbf8e159b02cc040ab7b9","public":"account","lines":80},{"path":"bundle/install/kubevirt/kubevirt-cr.yaml","size":2482,"sha256":"eebbe6707b8f4cbed69afb9a9264d65612b833e9837978df8fe5abb1c2918ead","public":"account","lines":41},{"path":"bundle/install/kubevirt/kubevirt-operator.yaml","size":498613,"sha256":"884e1e2dbc9a6f1c11bf2384202b71c680ccfe9c37b572f739342bcd37a925f5","public":"account","lines":8780},{"path":"bundle/install/mirror-images.sh","size":12856,"sha256":"8e3ef781eeacd8d9d651273cf18863b4687c40191f8f1f23a257486c39f54cad","public":"account","lines":196},{"path":"bundle/install/network/bridge-netplan.example.yaml","size":2424,"sha256":"d4c6b6c95660dd86c7b279139abd1e9244bd43fff50463c1c72252a0b333a649","public":"account","lines":51},{"path":"bundle/install/network/kube-flannel.yml","size":6216,"sha256":"f5f52301e0afdce0f12a56512aa01d8a92178bf6f28424e5f0c920ed79dc4d73","public":"account","lines":245},{"path":"bundle/install/network/kube-vip-static-pod.sh","size":4614,"sha256":"cdbea5a4f9038c4c06a154be09b309383669740a65b44f2e0100f9a3827d83fc","public":"account","lines":71},{"path":"bundle/install/network/kube-vip.yaml","size":3007,"sha256":"58bf3bc0407e5bfbdc712a4de88cec40d25697b57877282c67b281cbd622939a","public":"account","lines":87},{"path":"bundle/install/network/multus-daemonset.yml","size":8537,"sha256":"02419bd4f0cb45e0e3aa3eedf6bdfff9146679a65f702644d8dd6b8591d939b6","public":"account","lines":263},{"path":"bundle/install/network/nad-host-bridge.yaml","size":1756,"sha256":"f91c5bfcdbf2e06862d6bc4fe866bcee3bbc14720e4beef758a79a2c63770ccb","public":"account","lines":48},{"path":"bundle/install/node/install-node.sh","size":13104,"sha256":"25f77a539661d972786998d96e59094269b2e01e5cd6aa7c205574bb5d3a9659","public":"account","lines":199},{"path":"bundle/install/node/kubeadm-patches/etcd+strategic.yaml","size":810,"sha256":"78c5f7397a6c5a94870431ca0de19be9e8cfc8723bd41c0ec929c011ddbffd2d","public":"account","lines":11},{"path":"bundle/install/node/registry.env.example","size":383,"sha256":"260ebb0afd7263a5f61878d59f41e66a2f485aec7e359fb59334f5d55f713ab6","public":"account","lines":7},{"path":"bundle/install/vm/local-disk-vm.yaml","size":3708,"sha256":"fa67562ed6e1273f8ce88494da91ebe63825ea99145e158c29be305ad865520f","public":"account","lines":90},{"path":"bundle/kubevirt-stack.json","size":47632,"sha256":"7471eeb62466ad290bd19edee38b3fda902da7206dd036dd46278255ecaa9f9c","public":"account","lines":649,"redactions":[{"line":167,"kind":"internal host"},{"line":190,"kind":"internal host"},{"line":213,"kind":"internal host"},{"line":236,"kind":"internal host"},{"line":259,"kind":"internal host"},{"line":282,"kind":"internal host"},{"line":305,"kind":"internal host"},{"line":324,"kind":"internal host"},{"line":342,"kind":"internal host"},{"line":343,"kind":"internal host"},{"line":344,"kind":"internal host"},{"line":359,"kind":"internal host"},{"line":360,"kind":"internal host"},{"line":361,"kind":"internal host"},{"line":376,"kind":"internal host"},{"line":377,"kind":"internal host"},{"line":378,"kind":"internal host"},{"line":393,"kind":"internal host"},{"line":394,"kind":"internal host"},{"line":395,"kind":"internal host"},{"line":426,"kind":"internal host"},{"line":427,"kind":"internal host"},{"line":443,"kind":"internal host"},{"line":461,"kind":"internal host"},{"line":462,"kind":"internal host"},{"line":478,"kind":"internal host"},{"line":479,"kind":"internal host"},{"line":496,"kind":"internal host"},{"line":510,"kind":"internal host"},{"line":511,"kind":"internal host"},{"line":527,"kind":"internal host"},{"line":531,"kind":"internal host"},{"line":547,"kind":"internal host"},{"line":563,"kind":"internal host"},{"line":579,"kind":"internal host"},{"line":596,"kind":"internal host"},{"line":621,"kind":"internal host"}],"kit_sha256":"7c116ce4b9124c4b5c4d1bdd4475547aa47ec906ca33e27512e6d5a03d213b68"},{"path":"bundle/runbook/RUNBOOK.md","size":128990,"sha256":"02890be455359180016e800bc4684cc78ada6589e3f5aa4054fc0d9364cc4921","public":"account","lines":2557},{"path":"bundle/runbook/RUNBOOK_EVIDENCE.json","size":138972,"sha256":"7009b0bd5378e3c2e452c7c3e206c4e025d4dc1ec9dc88a1c9932d68629ea5c8","public":"account","lines":2366,"redactions":[{"line":7,"kind":"internal host"}],"kit_sha256":"4f8a09a641e88882f986184803a1e53dfc6cfbb20e0b4540ecf449b1eb40f5be"},{"path":"docs/PROVENANCE.md","size":2174,"sha256":"71bf85b0c5a9ed565246be69b98909c58d502782ddd7c318c261a8da2f76e65e","public":"account","lines":29},{"path":"docs/REBUILD.md","size":5580,"sha256":"60c258f653f828e32e06ec9b76268747b1cbf7bf4e9711b4acdc395247cda8bc","public":"account","lines":59},{"path":"docs/VERIFY.md","size":2069,"sha256":"d98bd2958593532441cdbb854951555cb8f982b7ab94809d9019121d1100d08d","public":"account","lines":34},{"path":"docs/provenance/BASE_IMAGE_DIGESTS.lock","size":83,"sha256":"dc5fcb5cb7fad14a9ecc1e015f36f5637985e17c4f245a5a0b232e6eb5ec4afd","public":"full","lines":2,"url":"/api/recipe/kubernetesvmstack/v1.36.6-kubevirt1.9.1-CE-scratch-r2/files/docs/provenance/BASE_IMAGE_DIGESTS.lock","text":"# base images for kubernetesvmstack (resolve at build_kit)\ngolang:1.26.10-bookworm\n"},{"path":"docs/provenance/BUILD_RECIPE.json","size":1343,"sha256":"398eb0bb29271ece8886998cde5ae6d61c25cb2b58f8f62399f9669ddb351d3e","public":"account","lines":25},{"path":"docs/provenance/CUSTODY_INPUTS.json","size":664,"sha256":"df548e8ffb7c442b4d78119ac13aa4a308dcb53fca8a2b36057d7ca5da5cb3dc","public":"account","lines":17},{"path":"docs/provenance/SOURCE_FILE_MANIFEST.json","size":262261,"sha256":"0bba737f1dc9c0e5cab8e0381f9cd0e9cb119ab7a7a0bdffa43e81bf8f35cd05","public":"account","lines":5007},{"path":"docs/provenance/SOURCE_TREE_HASH.json","size":323,"sha256":"19d3ba68bff64e73a2b8d83a7b81174a50c10208e2eecf9e88d2e44875af8ea0","public":"full","lines":9,"url":"/api/recipe/kubernetesvmstack/v1.36.6-kubevirt1.9.1-CE-scratch-r2/files/docs/provenance/SOURCE_TREE_HASH.json","text":"{\n  \"schema\": \"kitforge.source_tree_hash.v1\",\n  \"slug\": \"kubernetesvmstack\",\n  \"repo\": \"https://github.com/kubernetes/kubernetes\",\n  \"ref\": \"v1.36.6\",\n  \"commit\": \"1b2171b110bb2a2542e1322035c6583ec86eb976\",\n  \"tree_listing_sha256\": \"803692e6a7661d2d72c4cdf0a2a2459bdf6646e2b6c955ed7362f279ee4fa004\",\n  \"file_count\": 29206\n}"},{"path":"docs/provenance/SYSTEM_PINNING.lock","size":1,"sha256":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","public":"account","lines":1},{"path":"docs/provenance/TOOLCHAIN.lock","size":1177,"sha256":"758629b58edf237674db8b22cfaab50c4e7bb8214068abde8281abcfbefacd3c","public":"account","lines":34},{"path":"rebuild.json","size":1268,"sha256":"f592ca62c62accca43b6a74e0565b51518e570056334953322a13ecde6803c71","public":"account","lines":37},{"path":"stack-bundle.go","size":4063,"sha256":"69adb233d4ac582b15db917b0ac7f34c4d9cafc3ba42154c02be3dd288d69e50","public":"account","lines":162},{"path":"stack-bundle.mod","size":44,"sha256":"6b7aefb039e5658bb8411d71c47ddd46f3dc357a61df20628ef406e12bdefb18","public":"account","lines":3},{"path":"toolchain/BUILDKIT_TAG.txt","size":22,"sha256":"fcd530eeb02b063d2f047adad6eef896422a8e8d558513e5f09b2a262be32573","public":"full","lines":1,"url":"/api/recipe/kubernetesvmstack/v1.36.6-kubevirt1.9.1-CE-scratch-r2/files/toolchain/BUILDKIT_TAG.txt","text":"moby/buildkit:v0.31.2\n"}],"skipped":[],"kit_adds":{"bases":{"files":11,"bytes":296811899},"docs":{"files":29255,"bytes":248156139},"toolchain":{"files":1,"bytes":111529472},"vendored":{"files":27,"bytes":917975}},"links":{"page":"https://readystack.dev/products/kubernetesvmstack/recipe","signup":"https://readystack.dev/login.html?create=1&next=%2Fproducts%2Fkubernetesvmstack%2Frecipe","kit":"https://readystack.dev/buy.html?product=kubernetesvmstack"}}