{"slug":"httpd","tag":"2.4.70-CE-ubuntu24.04-r2","current":true,"account":false,"tarball":"ReadyStack-httpd-2.4.70-CE-ubuntu24.04-r2.tar.gz","tarball_sha256":"0e8520838ef0b551df602acd79ac502a25e41a938aac5a6305651a98b4ebb00a","generated_at":"2026-11-09T18:46:02Z","dockerfile":"Dockerfile.offline.pinned","build_script":"BUILD_OFFLINE.sh","pins":{"upstream":{"repo":"https://github.com/apache/httpd","ref":"2.4.70","commit":"e8ada83f004f63bca1e0cc75e374bc25b06cdc7b","url":"https://github.com/apache/httpd/tree/e8ada83f004f63bca1e0cc75e374bc25b06cdc7b"},"fetches":[{"kind":"git","url":"https://github.com/apache/httpd","ref":"2.4.70"},{"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:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852"}],"toolchain":{"buildkit":"moby/buildkit:v0.31.2","buildkit_image_digest":"sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0","builder_images":["ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852"]},"build_method":"source-rebuild-c","source_date_epoch":1793721009,"source_date_epoch_utc":"2026-11-03T15:50:09Z","target":{"image":"readystack/httpd:2.4.70-CE-ubuntu24.04-r2","image_manifest_digest":"sha256:8d95c6929ea1e4cad95feef3b7fc0d7564dee59f5da6eb3d4b58ce3880949a1f","config_digest":"sha256:e2b317d110c7f7b7d8872ab4174292cde10ec65a186a1f5ff22da1694b9a2afa"},"checksummed_files":11336},"files":[{"path":"BASES.tsv","size":262,"sha256":"eb58a8062550c2b7501f3e4aa084bf6aa97797ad238871c95b8907d3cb29b657","public":"full","lines":2,"url":"/api/recipe/httpd/2.4.70-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:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852\tbases/ubuntu_24.04_fe81560990fa.oci\n"},{"path":"BUILD_OFFLINE.sh","size":6756,"sha256":"6633aa31b6b40dc4a75c83de0272269acbb86e82f3bcfa7fdd202d1642a6780a","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. Your build platform runs\n#                                     the build and signs that provenance with a key the build steps cannot reach\n#                                     (see REBUILD.md). Any SLSA build level is your platform's; this archive claims\n#                                     none. The image 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":1479831,"sha256":"42a7f027bc66ef6ebdf76d9381bafd7383ba9654ca2942361e29c0a8686c8b28","public":"account","lines":11336},{"path":"DOCKERFILE_NAME.txt","size":26,"sha256":"9aadd1ede68e016a6f163c97befc5ff2fcdc8ebd4f84b108dba63cb195fa8c84","public":"full","lines":1,"url":"/api/recipe/httpd/2.4.70-CE-ubuntu24.04-r2/files/DOCKERFILE_NAME.txt","text":"Dockerfile.offline.pinned\n"},{"path":"Dockerfile","size":6174,"sha256":"68ae9fdebf4e1ac6e2cafd8f186d37ed7ace73ac91e0b699a345f7f2022f3e38","public":"account","lines":78},{"path":"Dockerfile.offline","size":6174,"sha256":"68ae9fdebf4e1ac6e2cafd8f186d37ed7ace73ac91e0b699a345f7f2022f3e38","public":"account","lines":78},{"path":"Dockerfile.offline.pinned","size":6174,"sha256":"68ae9fdebf4e1ac6e2cafd8f186d37ed7ace73ac91e0b699a345f7f2022f3e38","public":"preview","lines":78,"preview":{"text":"# GENERATED L-009 hermetic C build (--network=none, SBOM+SLSA-attestation-producing).\n# Pinned bases; vendored source (in-tree deps) + extra build debs + runtime debs from Dockerfile.vendor.\nFROM ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 AS cbuild\n# dpkg-install the vendored EXTRA build debs (pkg-config/libssl-dev/...) — gcc/make are in the builder.\nRUN --mount=type=bind,source=vendored/build-debs,target=/tmp/bdebs \\\n    set --; for f in /tmp/bdebs/*.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; }; }\nWORKDIR /src\nCOPY vendored/httpd-src/ .\nARG SOURCE_DATE_EPOCH=1793721009\nENV SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH}\nRUN ./configure --prefix=/opt/httpd --enable-mods-shared=most --disable-ldap --disable-authnz-ldap --enable-mpms-shared=all --with-mpm=event --enable-ssl --enable-http2 --enable-deflate --enable-pie --with-apr=/usr/bin/apr-1-config --with-apr-util=/usr/bin/apu-1-config\nRUN make -j\"$(nproc)\"\nRUN make install\nRUN rm -rf /opt/httpd/manual /opt/httpd/man\nRUN /opt/httpd/bin/httpd -v | grep -q 'Server version: Apache/2.4.70 (Unix)'\nRUN set -eu; find /opt/httpd -type f | LC_ALL=C sort | while read -r f; do \\\n      readelf -h \"$f\" >/dev/null 2>&1 || continue; \\\n      readelf -lW \"$f\" | sed -n 's/.*Requesting program interpreter: \\(.*\\)]$/\\1/p'; \\\n      readelf -dW \"$f\" | sed -n 's/.*Shared library: \\[\\(.*\\)\\]$/\\1/p'; \\\n    done | LC_ALL=C sort -u | while read -r lib; do case \"$lib\" in \\","lines_shown":24,"lines_total":78}},{"path":"Dockerfile.vendor","size":7439,"sha256":"04fc77dc32f4b9638221d7a9662f3bb30e75ecc97868c65ab310be6375f2995a","public":"account","lines":57},{"path":"MANIFEST.txt","size":709013,"sha256":"7da5ccd33db7f761e00c404d0f89ae5c8fc927aca96736d1e7716650e7167255","public":"account","lines":11338},{"path":"SOURCE_DATE_EPOCH.txt","size":11,"sha256":"445c6a9d76115b3aa18702b16046fb13b39f9752a543fbd65638083146826bc8","public":"full","lines":1,"url":"/api/recipe/httpd/2.4.70-CE-ubuntu24.04-r2/files/SOURCE_DATE_EPOCH.txt","text":"1793721009\n"},{"path":"TARGET_DIGEST.txt","size":273,"sha256":"482820642fc27dce15a94edc4eceecd5dd22b0cacdeaf76d3a37937f228ea1e0","public":"full","lines":6,"url":"/api/recipe/httpd/2.4.70-CE-ubuntu24.04-r2/files/TARGET_DIGEST.txt","text":"image_manifest_digest=sha256:8d95c6929ea1e4cad95feef3b7fc0d7564dee59f5da6eb3d4b58ce3880949a1f\nconfig_digest=sha256:e2b317d110c7f7b7d8872ab4174292cde10ec65a186a1f5ff22da1694b9a2afa\ntag=readystack/httpd:2.4.70-CE-ubuntu24.04-r2\nprobe_port=8080\nprobe_path=/\nprobe_timeout=180\n"},{"path":"VERIFY_OFFLINE.sh","size":10153,"sha256":"3e8184ea230cfd8f41f977e26be6bf7bd03112c396c517837ce0c7de4f7399dd","public":"account","lines":165},{"path":"chisel-slice-libaprutil1t64.yaml","size":1703,"sha256":"a570b341afb28f45d37b1820b6684d44f5a968c9c9890ab70ba605ac14a074b5","public":"account","lines":48},{"path":"docs/PROVENANCE.md","size":2569,"sha256":"facf54043103e6cd35c0d2cfef3afebdc9d3781a05e61558abd9ac58584c9cb8","public":"account","lines":36},{"path":"docs/REBUILD.md","size":5087,"sha256":"2c060532b8b522a44cce958bbe0132c7475a7b13d1a225010b1e8973e7aaf60a","public":"account","lines":57},{"path":"docs/VERIFY.md","size":1953,"sha256":"ce0cf3125561ad7e6544133538b5d24fc9fca9a88d8006a9d36a79efa567778f","public":"account","lines":34},{"path":"docs/provenance/BASE_IMAGE_DIGESTS.lock","size":60,"sha256":"3ed6b23ba6bc2a92b99ff11fdb69695eb9b8d92e3648fd11461ac2fad437e532","public":"full","lines":2,"url":"/api/recipe/httpd/2.4.70-CE-ubuntu24.04-r2/files/docs/provenance/BASE_IMAGE_DIGESTS.lock","text":"# base images for httpd (resolve at build_kit)\nubuntu:24.04\n"},{"path":"docs/provenance/BUILD_RECIPE.json","size":5027,"sha256":"5fd94e84d860983181966dfff4f1571fcfaafefa5cf669d79088feb7eb1ba942","public":"account","lines":115},{"path":"docs/provenance/CUSTODY_INPUTS.json","size":642,"sha256":"ff6b9f37c2ed3502f1ddca0cde5ffbbf74fe7682d3b584d915a8c8241f93561c","public":"account","lines":17},{"path":"docs/provenance/SOURCE_FILE_MANIFEST.json","size":215213,"sha256":"144db9706fec967399a50183109e03a3a7caa6653795997c8bde83cd5f0e0235","public":"account","lines":5007},{"path":"docs/provenance/SOURCE_TREE_HASH.json","size":300,"sha256":"8743ea97c7b86677c7e1750aba034a8d56f59feb46747807365c1b2f7b52b1f4","public":"full","lines":9,"url":"/api/recipe/httpd/2.4.70-CE-ubuntu24.04-r2/files/docs/provenance/SOURCE_TREE_HASH.json","text":"{\n  \"schema\": \"kitforge.source_tree_hash.v1\",\n  \"slug\": \"httpd\",\n  \"repo\": \"https://github.com/apache/httpd\",\n  \"ref\": \"2.4.70\",\n  \"commit\": \"e8ada83f004f63bca1e0cc75e374bc25b06cdc7b\",\n  \"tree_listing_sha256\": \"a6ab0ba80706b6c3f55f162c80dca73d4fba29bcdae9b39d25212ce40ae2dcc2\",\n  \"file_count\": 5547\n}"},{"path":"docs/provenance/SYSTEM_PINNING.lock","size":789,"sha256":"af8610547f2885b1ef790b9c7333df267a60d0a94b8a2fb14641826b0857d981","public":"account","lines":25},{"path":"docs/provenance/TOOLCHAIN.lock","size":3810,"sha256":"1193da7b82a964ea5a2336e2936f07402b32cec8c88fb3ac8de3abcf1290f1f6","public":"account","lines":107},{"path":"httpd-foreground","size":353,"sha256":"3c2e604ae8a31ad7ae2fae248d42d41a274fa2b3e185f23fd9cb0b9ba2c1c5fd","public":"account","lines":7},{"path":"rebuild.json","size":1426,"sha256":"b29662a213246c72766d93915ad9cc1922de6595064c51f32ca0bb99d6822a21","public":"account","lines":38},{"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/httpd/2.4.70-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":5607,"bytes":58039850},"toolchain":{"files":1,"bytes":111529472},"vendored":{"files":5686,"bytes":187336145}},"links":{"page":"https://readystack.dev/products/httpd/recipe","signup":"https://readystack.dev/login.html?create=1&next=%2Fproducts%2Fhttpd%2Frecipe","kit":"https://readystack.dev/products/httpd#pp-kit"}}