{"slug":"kubevip","tag":"v1.3.1-CE-ubuntu24.04-r1","current":true,"account":false,"tarball":"ReadyStack-kubevip-v1.3.1-CE-ubuntu24.04-r1.tar.gz","tarball_sha256":"df5d49bdc63aae2fc3e9ddcf84a7654df642a832cc7c4681d9a8b62f10030f76","generated_at":"2026-10-29T19:42:05Z","dockerfile":"Dockerfile.offline.pinned","build_script":"BUILD_OFFLINE.sh","pins":{"upstream":{"repo":"https://github.com/kube-vip/kube-vip","ref":"v1.3.1","commit":"6da770eac1eed9409a9feaccda3d782c94424c24","url":"https://github.com/kube-vip/kube-vip/tree/6da770eac1eed9409a9feaccda3d782c94424c24"},"fetches":[{"kind":"git","url":"https://github.com/kube-vip/kube-vip","ref":"v1.3.1"},{"kind":"http","url":"https://github.com/canonical/chisel/releases/download/v1.5.1/chisel_v1.5.1_linux_amd64.tar.gz"},{"kind":"http","url":"https://github.com/canonical/chisel-releases/archive/f2600d3aa90123db6d44bb1441a99afc8b5847d9.tar.gz"}],"bases":[{"image":"golang:1.27.3-bookworm","digest":"sha256:972b4110ba0f47539a975c31e52c64765e1ff19f2d74469ae4a595c6676e80a5"},{"image":"ubuntu:24.04","digest":"sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c"}],"toolchain":{"buildkit":"moby/buildkit:v0.31.2","buildkit_image_digest":"sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0","builder_images":["golang:1.27.3-bookworm@sha256:972b4110ba0f47539a975c31e52c64765e1ff19f2d74469ae4a595c6676e80a5"]},"build_method":"source-rebuild-go","source_date_epoch":1792401456,"source_date_epoch_utc":"2026-10-19T09:17:36Z","target":{"image":"readystack/kubevip:v1.3.1-CE-ubuntu24.04-r1","image_manifest_digest":"sha256:74dd28c7b8af69cd7cf4684338b782d1fbf939a1dbfabeb1545d70b077cf934b","config_digest":"sha256:afa6a806e498423c35d92c02df04dcd96f2985917d073636c7e68afa5c5991d7"},"checksummed_files":8270},"files":[{"path":"BASES.tsv","size":262,"sha256":"203db39d31165cdf0ef7de9050461c107d9b50e5f22ecc1739a0ecbc33f89b79","public":"full","lines":2,"url":"/api/recipe/kubevip/v1.3.1-CE-ubuntu24.04-r1/files/BASES.tsv","text":"golang:1.27.3-bookworm@sha256:972b4110ba0f47539a975c31e52c64765e1ff19f2d74469ae4a595c6676e80a5\tbases/golang_1.27.3-bookworm_972b4110ba0f.oci\nubuntu:24.04@sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c\tbases/ubuntu_24.04_24737cef17f4.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":1214267,"sha256":"29719855456cb8b7e1d01c7c6201a6a42cb3532991dc374e997b147c2f08620a","public":"account","lines":8270},{"path":"DOCKERFILE_NAME.txt","size":26,"sha256":"9aadd1ede68e016a6f163c97befc5ff2fcdc8ebd4f84b108dba63cb195fa8c84","public":"full","lines":1,"url":"/api/recipe/kubevip/v1.3.1-CE-ubuntu24.04-r1/files/DOCKERFILE_NAME.txt","text":"Dockerfile.offline.pinned\n"},{"path":"Dockerfile","size":3733,"sha256":"bcc2a870f8462bebca8cadd396135b9e06ca10ee808b0743bd40b738b6eb067d","public":"account","lines":46},{"path":"Dockerfile.offline","size":3733,"sha256":"bcc2a870f8462bebca8cadd396135b9e06ca10ee808b0743bd40b738b6eb067d","public":"account","lines":46},{"path":"Dockerfile.offline.pinned","size":3733,"sha256":"bcc2a870f8462bebca8cadd396135b9e06ca10ee808b0743bd40b738b6eb067d","public":"preview","lines":46,"preview":{"text":"# GENERATED L-009 hermetic build (--network=none, SBOM+SLSA-attestation-producing).\n# Pinned bases from BASE_IMAGE_DIGESTS.lock; vendored Go tree + debs from Dockerfile.vendor.\nFROM golang:1.27.3-bookworm@sha256:972b4110ba0f47539a975c31e52c64765e1ff19f2d74469ae4a595c6676e80a5 AS build_kube-vip\nWORKDIR /src\nCOPY vendored/kubevip-src/ .\nENV CGO_ENABLED=0 GOTOOLCHAIN=local GOWORK=off GOFLAGS=\"-mod=vendor -buildvcs=false\" GOPROXY=off SOURCE_DATE_EPOCH=1792401456\nRUN go build -trimpath -ldflags='-s -w -X=main.Version=v1.3.1 -X=main.Build=6da770eac1eed9409a9feaccda3d782c94424c24 -extldflags -static' -o /kube-vip . && /kube-vip version > /tmp/kube-vip.version 2>&1; cat /tmp/kube-vip.version; grep -qF 'v1.3.1' /tmp/kube-vip.version || { echo 'kube-vip version does not report v1.3.1'; exit 1; } && \\\n    { readelf -lW /kube-vip | sed -n 's/.*Requesting program interpreter: \\(.*\\)]$/\\1/p'; readelf -dW /kube-vip | sed -n 's/.*Shared library: \\[\\(.*\\)\\]$/\\1/p'; } > /kube-vip.needs\n# rs-probe: the HEALTHCHECK helper (standard library only, from the kit's rs-probe.go)\nFROM golang:1.27.3-bookworm@sha256:972b4110ba0f47539a975c31e52c64765e1ff19f2d74469ae4a595c6676e80a5 AS build_rs_probe\nWORKDIR /probe\nCOPY rs-probe.go main.go\nCOPY rs-probe.mod go.mod\nENV CGO_ENABLED=0 GOTOOLCHAIN=local GOFLAGS=\"-buildvcs=false\" GOPROXY=off SOURCE_DATE_EPOCH=1792401456\nRUN go build -trimpath -ldflags='-s -w' -o /rs-probe .\n# the chiselled rootfs (vendored/chisel, cut by Dockerfile.vendor), the service user, the binaries\nFROM ubuntu:24.04@sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c AS rootfs\nARG SOURCE_DATE_EPOCH=1792401456\nADD vendored/chisel/rootfs.tar /rootfs/\nRUN printf 'kubevip:x:999:999::/var/lib/kubevip:/bin/sh\\n' >> /rootfs/etc/passwd && printf 'kubevip:x:999:\\n' >> /rootfs/etc/group && \\\n    mkdir -p /rootfs/var/lib/kubevip && chown -R 999:999 /rootfs/var/lib/kubevip\nCOPY --from=build_kube-vip /kube-vip /rootfs/kube-vip\nCOPY --from=build_kube-vip /kube-vip.needs /tmp/needs/kube-vip\nCOPY --from=build_rs_probe /rs-probe /rootfs/usr/local/bin/rs-probe","lines_shown":24,"lines_total":46}},{"path":"Dockerfile.vendor","size":4217,"sha256":"ed3e6071955e7f12bbbce4d72db921ca8723924c625b9d3571899dbdc1c3a1ae","public":"account","lines":34},{"path":"MANIFEST.txt","size":651937,"sha256":"3db8fe284a388a3166a61854c6784727af60bc96759421026cac9b4307df5e60","public":"account","lines":8272},{"path":"SOURCE_DATE_EPOCH.txt","size":11,"sha256":"35e6e05f088e9246e42ebdf98bccc089eac21f83472d32c1238ede7efed1b0c2","public":"full","lines":1,"url":"/api/recipe/kubevip/v1.3.1-CE-ubuntu24.04-r1/files/SOURCE_DATE_EPOCH.txt","text":"1792401456\n"},{"path":"TARGET_DIGEST.txt","size":388,"sha256":"b941395d3de6b3d5546be674e9d6e0ded83e32342dc7a11973c9c1e1f38378f3","public":"full","lines":10,"url":"/api/recipe/kubevip/v1.3.1-CE-ubuntu24.04-r1/files/TARGET_DIGEST.txt","text":"image_manifest_digest=sha256:74dd28c7b8af69cd7cf4684338b782d1fbf939a1dbfabeb1545d70b077cf934b\nconfig_digest=sha256:afa6a806e498423c35d92c02df04dcd96f2985917d073636c7e68afa5c5991d7\ntag=readystack/kubevip:v1.3.1-CE-ubuntu24.04-r1\nprobe_port=80\nprobe_path=/\nprobe_timeout=180\nprobe_exec=/kube-vip version\nverify_boot=oneshot\nverify_oneshot_arg=version\nverify_oneshot_expect=Version:  v1.3.1\n"},{"path":"VERIFY_OFFLINE.sh","size":10153,"sha256":"3e8184ea230cfd8f41f977e26be6bf7bd03112c396c517837ce0c7de4f7399dd","public":"account","lines":165},{"path":"docs/PROVENANCE.md","size":1771,"sha256":"759af624d523ad99a1d2ce814bb5ac88689b0d17e823768615e11a373a42def5","public":"account","lines":28},{"path":"docs/REBUILD.md","size":5340,"sha256":"8a4750fdf5e693eec490ebacb680359d2fb1f25d18b44937e91648f30a93a780","public":"account","lines":59},{"path":"docs/VERIFY.md","size":1959,"sha256":"680f9bd72ee984a2055bbea8c61d39a24f258e0f1845ded23f19881998b0e24a","public":"account","lines":34},{"path":"docs/provenance/BASE_IMAGE_DIGESTS.lock","size":72,"sha256":"88076f06ce80469d83c712333d56d91f56fea55345631f2e1802963eac5a8bf8","public":"full","lines":2,"url":"/api/recipe/kubevip/v1.3.1-CE-ubuntu24.04-r1/files/docs/provenance/BASE_IMAGE_DIGESTS.lock","text":"# base images for kubevip (resolve at build_kit)\ngolang:1.27.3-bookworm\n"},{"path":"docs/provenance/BUILD_RECIPE.json","size":2338,"sha256":"936a454558861af7676335173b38c28dd9811bbad9f3599187604f550b0e7fb9","public":"account","lines":44},{"path":"docs/provenance/CUSTODY_INPUTS.json","size":649,"sha256":"14cf4cc70def0c1af9dea27d561e72df8b3d511be1327f96cbb735562003f9ad","public":"account","lines":17},{"path":"docs/provenance/SOURCE_FILE_MANIFEST.json","size":10614,"sha256":"77a68c59ab88d60a68204304d9c613c91a543d6596d9a91b5448e030403cc090","public":"account","lines":302},{"path":"docs/provenance/SOURCE_TREE_HASH.json","size":306,"sha256":"3c84f809fa478748848ea854660f7201ef71f87ca7e1e54c9a64533b312f96eb","public":"full","lines":9,"url":"/api/recipe/kubevip/v1.3.1-CE-ubuntu24.04-r1/files/docs/provenance/SOURCE_TREE_HASH.json","text":"{\n  \"schema\": \"kitforge.source_tree_hash.v1\",\n  \"slug\": \"kubevip\",\n  \"repo\": \"https://github.com/kube-vip/kube-vip\",\n  \"ref\": \"v1.3.1\",\n  \"commit\": \"6da770eac1eed9409a9feaccda3d782c94424c24\",\n  \"tree_listing_sha256\": \"d60b5906d58daea49f560973d574c32f1accf28d8a801dad65ad35aaa8f3e2fb\",\n  \"file_count\": 295\n}"},{"path":"docs/provenance/SYSTEM_PINNING.lock","size":23,"sha256":"0630392bbd9f11668e937cf0a980d4ae742c8b5f21b00e3da52f03a270846dd7","public":"account","lines":2},{"path":"docs/provenance/TOOLCHAIN.lock","size":2627,"sha256":"345270094d3475691f197fdd5e7dd462a98435827e442e99ba6299d4c13675ca","public":"account","lines":74},{"path":"rebuild.json","size":1468,"sha256":"8929073e441abaf69587e8e1722dac11ab9448319e9f3095920de084e606410f","public":"account","lines":41},{"path":"rs-probe.go","size":3179,"sha256":"a8bdee17a3581f8685f58d7a8ccb7524153829f70b19c9d75e323c589de2ad8f","public":"account","lines":117},{"path":"rs-probe.mod","size":40,"sha256":"a480b79acf98e4275725058076ad2a8684a2eee06c27f4337b75339c198ca92d","public":"account","lines":3},{"path":"toolchain/BUILDKIT_TAG.txt","size":22,"sha256":"fcd530eeb02b063d2f047adad6eef896422a8e8d558513e5f09b2a262be32573","public":"full","lines":1,"url":"/api/recipe/kubevip/v1.3.1-CE-ubuntu24.04-r1/files/toolchain/BUILDKIT_TAG.txt","text":"moby/buildkit:v0.31.2\n"}],"skipped":[],"kit_adds":{"bases":{"files":16,"bytes":330381419},"docs":{"files":347,"bytes":2877726},"toolchain":{"files":1,"bytes":111529472},"vendored":{"files":7882,"bytes":97430670}},"links":{"page":"https://readystack.dev/products/kubevip/recipe","signup":"https://readystack.dev/login.html?create=1&next=%2Fproducts%2Fkubevip%2Frecipe","kit":"https://readystack.dev/buy.html?product=kubevip"}}