{"slug":"registry","tag":"v3.1.2-CE-ubuntu24.04-r5","current":true,"account":false,"tarball":"ReadyStack-registry-v3.1.2-CE-ubuntu24.04-r5.tar.gz","tarball_sha256":"faa57554ab3a612ca444deab313620fb41c304a00dd3b5a1f724010c572c87ee","generated_at":"2026-10-29T19:23:50Z","dockerfile":"Dockerfile.offline.pinned","build_script":"BUILD_OFFLINE.sh","pins":{"upstream":{"repo":"https://github.com/distribution/distribution","ref":"v3.1.2","commit":"3220848f15d9279c66a41aa0a257469e6aede1e9","url":"https://github.com/distribution/distribution/tree/3220848f15d9279c66a41aa0a257469e6aede1e9"},"fetches":[{"kind":"git","url":"https://github.com/distribution/distribution","ref":"v3.1.2"}],"bases":[{"image":"golang:1.26.10-bookworm","digest":"sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af"},{"image":"ubuntu:24.04","digest":"sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c"}],"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":1790250209,"source_date_epoch_utc":"2026-09-24T11:43:29Z","target":{"image":"readystack/registry:v3.1.2-CE-ubuntu24.04-r5","image_manifest_digest":"sha256:9b7a9955779cf093257a24546a860c35f627315956b12a93b9a03f013dffc449","config_digest":"sha256:cc63397e914d53ba944c4458c8e20a20111385b496f9eea724a8b388d85a3746"},"checksummed_files":9311},"files":[{"path":"BASES.tsv","size":264,"sha256":"8d72027e2bc448d0c7ff3a900bfe648f1e4c9ec92a2beaa3f623ccffc48641b5","public":"full","lines":2,"url":"/api/recipe/registry/v3.1.2-CE-ubuntu24.04-r5/files/BASES.tsv","text":"golang:1.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af\tbases/golang_1.26.10-bookworm_632dff735179.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":1441617,"sha256":"2d2a6e6ae099734bce46009f4a4cb4d2572b273fa371a2952e988cc45656357b","public":"account","lines":9311},{"path":"DOCKERFILE_NAME.txt","size":26,"sha256":"9aadd1ede68e016a6f163c97befc5ff2fcdc8ebd4f84b108dba63cb195fa8c84","public":"full","lines":1,"url":"/api/recipe/registry/v3.1.2-CE-ubuntu24.04-r5/files/DOCKERFILE_NAME.txt","text":"Dockerfile.offline.pinned\n"},{"path":"Dockerfile","size":3541,"sha256":"26593ac93e8b12d1f52008a7cce87b1e608e1278640737c303fa06cddf956edc","public":"account","lines":38},{"path":"Dockerfile.offline","size":3541,"sha256":"26593ac93e8b12d1f52008a7cce87b1e608e1278640737c303fa06cddf956edc","public":"account","lines":38},{"path":"Dockerfile.offline.pinned","size":3541,"sha256":"26593ac93e8b12d1f52008a7cce87b1e608e1278640737c303fa06cddf956edc","public":"preview","lines":38,"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.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af AS build_registry\nWORKDIR /src\nCOPY vendored/registry-src/ .\nENV CGO_ENABLED=0 GOTOOLCHAIN=local GOWORK=off GOFLAGS=\"-mod=vendor -buildvcs=false\" GOPROXY=off SOURCE_DATE_EPOCH=1790250209\nRUN go build -trimpath -ldflags='-s -w -X github.com/distribution/distribution/v3/version.version=3.1.2 -X github.com/distribution/distribution/v3/version.revision=3220848f15d9279c66a41aa0a257469e6aede1e9 -X github.com/distribution/distribution/v3/version.mainpkg=github.com/distribution/distribution/v3' -o /registry ./cmd/registry && /registry --version > /tmp/registry.version 2>&1; cat /tmp/registry.version; grep -qF 'v3 3.1.2' /tmp/registry.version || { echo 'registry --version does not report v3 3.1.2'; exit 1; }\nFROM ubuntu:24.04@sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c\nENV DEBIAN_FRONTEND=noninteractive OTEL_TRACES_EXPORTER=none\nRUN --mount=type=bind,source=vendored/debs,target=/tmp/debs \\\n    set --; for f in /tmp/debs/*.deb; do [ -e \"$f\" ] && set -- \"$@\" \"$f\"; done; \\\n    for pass in 1 2 3 4 5; do [ $# -eq 0 ] || dpkg -i --skip-same-version \"$@\" >/dev/null 2>&1 && break; done; \\\n    dpkg --configure -a && bad= && for d in \"$@\"; do p=$(dpkg-deb -f \"$d\" Package) v=$(dpkg-deb -f \"$d\" Version); \\\n      case \"$(dpkg-query -W -f='${Version} ${db:Status-Abbrev}' \"$p\" 2>/dev/null)\" in \"$v ii\"*) ;; *) bad=\"$bad $p=$v\" ;; esac; done && \\\n    { [ -z \"$bad\" ] || { echo \"vendored debs not installed at their vendored version:$bad\" >&2; false; }; } && \\\n    rm -rf /var/lib/apt/lists/* \\\n           /var/log/dpkg.log /var/log/alternatives.log /var/log/apt /var/cache/ldconfig/aux-cache /var/cache/fontconfig\nARG SOURCE_DATE_EPOCH=1790250209\nRUN groupadd -r registry && useradd -r -g registry -d /var/lib/registry -m registry && \\\n    mkdir -p /etc/distribution /var/lib/registry && chown -R registry:registry /etc/distribution /var/lib/registry && \\\n    : \"${SOURCE_DATE_EPOCH:?SOURCE_DATE_EPOCH must be set for a reproducible build}\" && \\\n    sed -ri \"s/^([^:]*:[^:]*):[0-9]*:/\\1:$((SOURCE_DATE_EPOCH/86400)):/\" /etc/shadow && \\\n    rm -f /etc/passwd- /etc/shadow- /etc/group- /etc/gshadow-\nCOPY --from=build_registry /registry /usr/bin/registry","lines_shown":24,"lines_total":38}},{"path":"Dockerfile.vendor","size":1680,"sha256":"03a066e5e05ab3f6b4640869ded27cd0c006983f7e0f13f3202b031eefb8553c","public":"account","lines":20},{"path":"MANIFEST.txt","size":808486,"sha256":"6200b4e80eb115f9690df20de491eb16a20565c7106fad390369419480e7a146","public":"account","lines":9312},{"path":"SOURCE_DATE_EPOCH.txt","size":11,"sha256":"a4b835b5cc32b79e5bd21ad1ff0a295048f6b8c52f09a7a6441f33c819f5ed66","public":"full","lines":1,"url":"/api/recipe/registry/v3.1.2-CE-ubuntu24.04-r5/files/SOURCE_DATE_EPOCH.txt","text":"1790250209\n"},{"path":"TARGET_DIGEST.txt","size":276,"sha256":"a86ad53addd3219708807324f8fabe82830085e283b936f1f141dce2c4b278ff","public":"full","lines":6,"url":"/api/recipe/registry/v3.1.2-CE-ubuntu24.04-r5/files/TARGET_DIGEST.txt","text":"image_manifest_digest=sha256:9b7a9955779cf093257a24546a860c35f627315956b12a93b9a03f013dffc449\nconfig_digest=sha256:cc63397e914d53ba944c4458c8e20a20111385b496f9eea724a8b388d85a3746\ntag=readystack/registry:v3.1.2-CE-ubuntu24.04-r5\nprobe_port=5000\nprobe_path=/\nprobe_timeout=180\n"},{"path":"VERIFY_OFFLINE.sh","size":8100,"sha256":"dc0b5cd5c104a5da5c3f4e379e8f3d2eeffa307c8545067925bb4317a722b0b7","public":"account","lines":138},{"path":"config.yml","size":1625,"sha256":"49cca9f831fc86dcd5a8d7d68bb9c0be2216b4e3413c3e7079290bb8187afc65","public":"account","lines":47},{"path":"docs/PROVENANCE.md","size":1722,"sha256":"b48879396ba9ac99666c155db4aac80a7204f6fbec0d2d37004ea0c796587d22","public":"account","lines":28},{"path":"docs/REBUILD.md","size":5116,"sha256":"8940ea5035771cfd3f509db54aaa15aaf61966f110cd4a405c436c5ae9abc225","public":"account","lines":57},{"path":"docs/VERIFY.md","size":1977,"sha256":"11ecbf62f2503ec6e462cf8a7afe7077195d713d47caf287c5f0fa4520573a99","public":"account","lines":34},{"path":"docs/provenance/BASE_IMAGE_DIGESTS.lock","size":74,"sha256":"af50099de4bd2d6f5146be340edcadd5de97401a3aa5c2a4f71a29228396520e","public":"full","lines":2,"url":"/api/recipe/registry/v3.1.2-CE-ubuntu24.04-r5/files/docs/provenance/BASE_IMAGE_DIGESTS.lock","text":"# base images for registry (resolve at build_kit)\ngolang:1.26.10-bookworm\n"},{"path":"docs/provenance/BUILD_RECIPE.json","size":4335,"sha256":"c9737c54d4bab75e9c83c0302b07e12fea84447e93188058820b3adee5c18509","public":"account","lines":42},{"path":"docs/provenance/CUSTODY_INPUTS.json","size":658,"sha256":"c9d7ca2536f714e5d3dcd8d861fdd320b7d1c54b014d2d7c274c1a74fe795bd3","public":"account","lines":17},{"path":"docs/provenance/SOURCE_FILE_MANIFEST.json","size":312042,"sha256":"c29b0fe5b8c23477ebe9ae7e820b7165fcf9db7bf034aaa24ad6c2c173821f3f","public":"account","lines":4606},{"path":"docs/provenance/SOURCE_TREE_HASH.json","size":316,"sha256":"ba888dab54126a6f866bc1659f9b400d0f859d7791a27d400823f6368d38ce9a","public":"full","lines":9,"url":"/api/recipe/registry/v3.1.2-CE-ubuntu24.04-r5/files/docs/provenance/SOURCE_TREE_HASH.json","text":"{\n  \"schema\": \"kitforge.source_tree_hash.v1\",\n  \"slug\": \"registry\",\n  \"repo\": \"https://github.com/distribution/distribution\",\n  \"ref\": \"v3.1.2\",\n  \"commit\": \"3220848f15d9279c66a41aa0a257469e6aede1e9\",\n  \"tree_listing_sha256\": \"b7cd43949374362404d0782d67aca2c20279b89570b5d1401291180757d4d899\",\n  \"file_count\": 4599\n}"},{"path":"docs/provenance/SYSTEM_PINNING.lock","size":28,"sha256":"fa091140511e85f86057bf9f05d5bd9e073f13c04af3de77559c304bd4b38227","public":"account","lines":3},{"path":"docs/provenance/TOOLCHAIN.lock","size":3533,"sha256":"7df1c16a66d44c15f06a5ce7555cd116c9beae7f20debaeaf0eb41da37309600","public":"account","lines":76},{"path":"rebuild.json","size":1431,"sha256":"6d94dc59a6ac7e77b3798907a0d97371221452950a8c8a8b2e590ce528033d03","public":"account","lines":38},{"path":"toolchain/BUILDKIT_TAG.txt","size":22,"sha256":"fcd530eeb02b063d2f047adad6eef896422a8e8d558513e5f09b2a262be32573","public":"full","lines":1,"url":"/api/recipe/registry/v3.1.2-CE-ubuntu24.04-r5/files/toolchain/BUILDKIT_TAG.txt","text":"moby/buildkit:v0.31.2\n"}],"skipped":[],"kit_adds":{"bases":{"files":16,"bytes":326583068},"docs":{"files":4651,"bytes":66280027},"toolchain":{"files":1,"bytes":111529472},"vendored":{"files":4620,"bytes":66999574}},"links":{"page":"https://readystack.dev/products/registry/recipe","signup":"https://readystack.dev/login.html?create=1&next=%2Fproducts%2Fregistry%2Frecipe","kit":"https://readystack.dev/buy.html?product=registry"}}