{"slug":"woodpecker","tag":"v3.19.0-CE-ubuntu24.04-r2","current":true,"account":false,"tarball":"ReadyStack-woodpecker-v3.19.0-CE-ubuntu24.04-r2.tar.gz","tarball_sha256":"e03f5180a93a2397a0b29fa9f63889bb69c71633faa4cf82a4769bccc200d222","generated_at":"2026-10-29T19:29:15Z","dockerfile":"Dockerfile.offline.pinned","build_script":"BUILD_OFFLINE.sh","pins":{"upstream":{"repo":"https://github.com/woodpecker-ci/woodpecker","ref":"v3.19.0","commit":"9f5568c20a1f7195d23c4194c49d53bd2580be41","url":"https://github.com/woodpecker-ci/woodpecker/tree/9f5568c20a1f7195d23c4194c49d53bd2580be41"},"fetches":[{"kind":"git","url":"https://github.com/woodpecker-ci/woodpecker","ref":"v3.19.0"}],"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":1791396171,"source_date_epoch_utc":"2026-10-07T18:02:51Z","target":{"image":"readystack/woodpecker:v3.19.0-CE-ubuntu24.04-r2","image_manifest_digest":"sha256:836c5f9ef4f115ef243e1823f3f421891bfdccb0f6a80e6b4d3f9e6f09cbc585","config_digest":"sha256:49bd3e2d8fa21c0f3a9690a153cd3515b9178cc6f87d5b6403f69630b5334318"},"checksummed_files":13897},"files":[{"path":"BASES.tsv","size":262,"sha256":"203db39d31165cdf0ef7de9050461c107d9b50e5f22ecc1739a0ecbc33f89b79","public":"full","lines":2,"url":"/api/recipe/woodpecker/v3.19.0-CE-ubuntu24.04-r2/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":2055394,"sha256":"aabc5bb12aa60b7e75209f6ee91aad9c183e40ff4b0d7ff721bd849d1c836a82","public":"account","lines":13897},{"path":"DOCKERFILE_NAME.txt","size":26,"sha256":"9aadd1ede68e016a6f163c97befc5ff2fcdc8ebd4f84b108dba63cb195fa8c84","public":"full","lines":1,"url":"/api/recipe/woodpecker/v3.19.0-CE-ubuntu24.04-r2/files/DOCKERFILE_NAME.txt","text":"Dockerfile.offline.pinned\n"},{"path":"Dockerfile","size":3133,"sha256":"09162f556c4abbb47ed0ecb33ecfe17e57781cdee80677aaa93de51459776814","public":"account","lines":36},{"path":"Dockerfile.offline","size":3133,"sha256":"09162f556c4abbb47ed0ecb33ecfe17e57781cdee80677aaa93de51459776814","public":"account","lines":36},{"path":"Dockerfile.offline.pinned","size":3133,"sha256":"09162f556c4abbb47ed0ecb33ecfe17e57781cdee80677aaa93de51459776814","public":"preview","lines":36,"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_woodpecker-server\nWORKDIR /src\nCOPY vendored/woodpecker-src/ .\nENV CGO_ENABLED=1 GOTOOLCHAIN=local GOWORK=off GOFLAGS=\"-mod=vendor -buildvcs=false\" GOPROXY=off SOURCE_DATE_EPOCH=1791396171\nRUN go build -trimpath -ldflags='-s -w -X go.woodpecker-ci.org/woodpecker/v3/version.Version=3.19.0' -o /woodpecker-server ./cmd/server && /woodpecker-server --version\nFROM ubuntu:24.04@sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c\nENV DEBIAN_FRONTEND=noninteractive WOODPECKER_HOST=http://localhost:8000 WOODPECKER_DATABASE_DRIVER=sqlite3 WOODPECKER_DATABASE_DATASOURCE=/var/lib/woodpecker/woodpecker.sqlite\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=1791396171\nRUN groupadd -r woodpecker && useradd -r -g woodpecker -d /var/lib/woodpecker -m woodpecker && \\\n    mkdir -p /etc/woodpecker /var/lib/woodpecker && chown -R woodpecker:woodpecker /etc/woodpecker /var/lib/woodpecker && \\\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_woodpecker-server /woodpecker-server /usr/bin/woodpecker-server","lines_shown":24,"lines_total":36}},{"path":"Dockerfile.vendor","size":2121,"sha256":"0e583cd04055ffc36a8d5d3e359ae88caa98f5829a211fd227b729a8c5aff902","public":"account","lines":27},{"path":"MANIFEST.txt","size":1110428,"sha256":"392c0d65820306130bdf2173f90c9e795b7439e323eb1578343de59db114b4a6","public":"account","lines":13899},{"path":"SOURCE_DATE_EPOCH.txt","size":11,"sha256":"5ad3224797d2a08f1458df8a58a0d92780d3b8c96142dbfa54ed88369a53db7d","public":"full","lines":1,"url":"/api/recipe/woodpecker/v3.19.0-CE-ubuntu24.04-r2/files/SOURCE_DATE_EPOCH.txt","text":"1791396171\n"},{"path":"TARGET_DIGEST.txt","size":463,"sha256":"f658639c372a719f4915e3f9b69d78e89b3a0e309c28c1b8f8a87cc8aa581bc2","public":"full","lines":10,"url":"/api/recipe/woodpecker/v3.19.0-CE-ubuntu24.04-r2/files/TARGET_DIGEST.txt","text":"image_manifest_digest=sha256:836c5f9ef4f115ef243e1823f3f421891bfdccb0f6a80e6b4d3f9e6f09cbc585\nconfig_digest=sha256:49bd3e2d8fa21c0f3a9690a153cd3515b9178cc6f87d5b6403f69630b5334318\ntag=readystack/woodpecker:v3.19.0-CE-ubuntu24.04-r2\nprobe_port=8000\nprobe_path=/healthz\nprobe_timeout=180\nverify_env=WOODPECKER_GITHUB=true\nverify_env=WOODPECKER_GITHUB_CLIENT=verify-only-not-a-real-client\nverify_secret=WOODPECKER_GITHUB_SECRET\nverify_secret=WOODPECKER_AGENT_SECRET\n"},{"path":"VERIFY_OFFLINE.sh","size":7331,"sha256":"8b036b1f9a7f7deb4dbab14ef6b7c40622d2820904e891b8845ba3580e924506","public":"account","lines":128},{"path":"docs/PROVENANCE.md","size":1718,"sha256":"991ced11ee0123603482eff1e798708b13486306a20dabfbb224983ca138ab15","public":"account","lines":28},{"path":"docs/REBUILD.md","size":5122,"sha256":"20f7cceca60b41dede56a7e94dd47b042a0983acd01f5f2704496039e2dd5241","public":"account","lines":57},{"path":"docs/VERIFY.md","size":1981,"sha256":"20b3deba20d1e59f106ae109fde197da2c579c874eb9c9916df1cbf074849829","public":"account","lines":34},{"path":"docs/provenance/BASE_IMAGE_DIGESTS.lock","size":75,"sha256":"5ff84f1a1b4bf804907a8d6f0125109ce029bdcb0c20e49627565d518b094ede","public":"full","lines":2,"url":"/api/recipe/woodpecker/v3.19.0-CE-ubuntu24.04-r2/files/docs/provenance/BASE_IMAGE_DIGESTS.lock","text":"# base images for woodpecker (resolve at build_kit)\ngolang:1.27.3-bookworm\n"},{"path":"docs/provenance/BUILD_RECIPE.json","size":1164,"sha256":"f6f2c1d2282511ce0218486aaeebabf8b7ec1db475ec8e93920443fdab8bd143","public":"account","lines":32},{"path":"docs/provenance/CUSTODY_INPUTS.json","size":660,"sha256":"dafc2de94bf5179ed61a7be2a1a4cfbdf494f2c0514d1b8bcf366fbd7d51070f","public":"account","lines":17},{"path":"docs/provenance/SOURCE_FILE_MANIFEST.json","size":85653,"sha256":"41ce2cb3327fd63ee679687b53c5c29271537dad1baa32bd5f6222bd8b498103","public":"account","lines":1700},{"path":"docs/provenance/SOURCE_TREE_HASH.json","size":318,"sha256":"4fe43b570141dbf145dbc21a625e88bc2861efca3c7c73cb04e0b764b97b05e7","public":"full","lines":9,"url":"/api/recipe/woodpecker/v3.19.0-CE-ubuntu24.04-r2/files/docs/provenance/SOURCE_TREE_HASH.json","text":"{\n  \"schema\": \"kitforge.source_tree_hash.v1\",\n  \"slug\": \"woodpecker\",\n  \"repo\": \"https://github.com/woodpecker-ci/woodpecker\",\n  \"ref\": \"v3.19.0\",\n  \"commit\": \"9f5568c20a1f7195d23c4194c49d53bd2580be41\",\n  \"tree_listing_sha256\": \"39b3ee913f31d444fd764101b3ce1fcbd9a1f7d1de409cc555bfcf1fbd0f02ba\",\n  \"file_count\": 1693\n}"},{"path":"docs/provenance/SYSTEM_PINNING.lock","size":36,"sha256":"3342957f888a3afbbfff7bd26dd4cead6662104fe30152ea75497941150c81dd","public":"account","lines":4},{"path":"docs/provenance/TOOLCHAIN.lock","size":3519,"sha256":"0aa6e1158d73b5f4ab2f04e09856c93743794f0bd4bd43d28027b6c4ebde5270","public":"account","lines":91},{"path":"rebuild.json","size":1650,"sha256":"edd33e004f1797eb8e5e5ee3ac5d89817eadbb20275620e10a71093d398a8dc1","public":"account","lines":46},{"path":"toolchain/BUILDKIT_TAG.txt","size":22,"sha256":"fcd530eeb02b063d2f047adad6eef896422a8e8d558513e5f09b2a262be32573","public":"full","lines":1,"url":"/api/recipe/woodpecker/v3.19.0-CE-ubuntu24.04-r2/files/toolchain/BUILDKIT_TAG.txt","text":"moby/buildkit:v0.31.2\n"}],"skipped":[],"kit_adds":{"bases":{"files":16,"bytes":330381419},"docs":{"files":1745,"bytes":42704181},"toolchain":{"files":1,"bytes":111529472},"vendored":{"files":12113,"bytes":196183647}},"links":{"page":"https://readystack.dev/products/woodpecker/recipe","signup":"https://readystack.dev/login.html?create=1&next=%2Fproducts%2Fwoodpecker%2Frecipe","kit":"https://readystack.dev/buy.html?product=woodpecker"}}