OpenSearch 3.9.0 build recipe

The recipe ReadyStack built readystack/opensearch:3.9.0-CE-ubuntu24.04-r3 from: the upstream source it starts from, every pinned input, and the files that run the build with the network off. Public here: the source and commit, the pinned inputs, all 26 recipe files with their sizes and SHA-256, 9 of them public in full or in part, and the opening lines of the Dockerfile and build script.

The whole recipe

Free account

An account is an email address, a username and a password: no card, no donation. It opens all 26 recipe files; the build kit itself keeps its own terms.

Upstream source

Public

github.com/opensearch-project/OpenSearch (3.9.0) at 4ee42a94e87f66fbf1e62a9871b1b87f91e02472

Pinned inputs

As JSON
  • Base imageubuntu:24.04@sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c
  • BuildKitmoby/buildkit:v0.31.2
    sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0
  • Build methodkit-prebuilt-tarball
  • SOURCE_DATE_EPOCH1790105837 (2026-09-22T19:37:17Z)
  • Target digest (linux/amd64)sha256:cfeedc2623aba884b8fe03dee8146d237c801f68f985935b344eeaace425136b
  • Target config digestsha256:81887ba4288417edf42d9bcef3d060654399b4180bb273edc31c1a9a30ce6742
  • Checksummed kit files19,357 (CHECKSUMS.sha256)

Dockerfile Dockerfile.offline.pinned

88 lines · 6.0 KB
# =====================================================================
# L-009 HERMETIC OFFLINE BUILD (opensearch, repackage of the official
# Apache-2.0 tarball). Run by build_kit's L-009 buildx:
#   docker buildx build --builder readystack-builder-max --network=none
#     --attest type=provenance,mode=max --attest type=sbom --push <git-context>
#
# Pinned-public-base + fully-vendored model (no network at build):
#   - ubuntu pinned BY DIGEST (cache-warm; RUN steps --network=none hermetic)
#   - vendored/debs               : apt CVE dist-upgrade closure + system
#                                   OpenJDK 21 + runtime pkgs, dpkg offline
#   - vendored/opensearch-src/... : the ALREADY-PATCHED OpenSearch tree
#                                   (patch-tree.sh: bundled JDK dropped, unused
#                                   security plugins removed, vulnerable jars
#                                   raised to version floors)
# The proven 0-fixable recipe is docs/OPENSEARCH_BUILDOUT.md.
# =====================================================================
FROM ubuntu:24.04@sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c
ARG SOURCE_DATE_EPOCH=1790105837
ENV DEBIAN_FRONTEND=noninteractive TZ=UTC LANG=C.UTF-8 LC_ALL=C.UTF-8

# Offline apt: dpkg-install the vendored closure (CVE dist-upgrade + OpenJDK 21
# + curl/tzdata). Two passes + configure-a resolve inter-deb ordering, no network.
# The passes hide dpkg's errors, so every vendored deb is then checked installed at
# its vendored version: one that did not land would ship the base's older package.

Continues: 64 more lines. Create a free account to read the rest, or sign in.

Build script BUILD_OFFLINE.sh

125 lines · 6.6 KB
#!/usr/bin/env bash
# =============================================================================
# ReadyStack — offline reproducible rebuild.
#
# Rebuilds this product's image from THIS ARCHIVE ALONE, with no network access
# of any kind, and prints the resulting linux/amd64 image-manifest digest.
# Run ./VERIFY_OFFLINE.sh afterwards to assert it equals the published digest.
#
# Requirements: linux/amd64 Docker host, docker buildx >= 0.30, jq, tar.
# No git, no registry access, no additional tooling.
#
#   ./BUILD_OFFLINE.sh                the rebuild (OCI image + a docker-loadable copy)
#   ./BUILD_OFFLINE.sh --provenance   the same rebuild with SLSA v1 build provenance (mode=max) attached to the OCI
#                                     image, generated by BuildKit, not by any build step. Run on your own hardened,
#                                     isolated build platform and sign that provenance with a key the build cannot
#                                     reach, and the result meets SLSA Build Level 3 (see REBUILD.md). The image
#                                     digest is the same either way.
# =============================================================================
set -euo pipefail
PROVENANCE=0
for arg in "$@"; do
  case "$arg" in
    --provenance) PROVENANCE=1 ;;
    -h|--help) sed -n '2,20p' "$0"; exit 0 ;;

Continues: 101 more lines. Create a free account to read the rest, or sign in.

Recipe files

26 files · SHA-256 of each as published here
FileSizeSHA-256Access
BASES.tsv121 B0da49a3ea98f…Public · View
BUILD_OFFLINE.sh6.6 KB83299978ccd0…Opening lines public
CHECKSUMS.sha2563.4 MBc5a83ba5efa0…Free account
DOCKERFILE_NAME.txt26 B9aadd1ede68e…Public · View
Dockerfile5.9 KB643f4175744d…Free account
Dockerfile.offline5.7 KB93d538bd26e5…Free account
Dockerfile.offline.pinned6.0 KB8dc9e82e86b4…Opening lines public
Dockerfile.vendor3.3 KB72d7f4542869…Free account
MANIFEST.txt2.2 MBd5cb95cc86fb…Free account
SOURCE_DATE_EPOCH.txt11 Bca04888e1408…Public · View
TARGET_DIGEST.txt292 B2d93d232b1b4…Public · View
VERIFY_OFFLINE.sh7.2 KB8b036b1f9a7f…Free account
docs/PROVENANCE.md2.2 KBbda9a76e41f4…Free account
docs/REBUILD.md5.1 KBad5db626c303…Free account
docs/VERIFY.md1.9 KB9710203b564e…Free account
docs/provenance/BASE_IMAGE_DIGESTS.lock53 B79ac4273d7fe…Public · View
docs/provenance/BUILD_RECIPE.json1.2 KBab720d24a194…Free account
docs/provenance/CUSTODY_INPUTS.json663 B315be99a0537…Free account
docs/provenance/SOURCE_FILE_MANIFEST.json454 KB9fa22841de5a…Free account
docs/provenance/SOURCE_TREE_HASH.json322 B979bf36d89aa…Public · View
docs/provenance/SYSTEM_PINNING.lock52 Bf516a236c6e3…Free account
docs/provenance/TOOLCHAIN.lock983 B73eac27f6935…Free account
kitforge-jks-sde.java3.3 KBa7fe3b0a32d8…Free account
patch-tree.sh7.6 KB7afc58f80d42…Free account
rebuild.json1.1 KBc42bd48b0c56…Free account
toolchain/BUILDKIT_TAG.txt22 Bfcd530eeb02b…Public · View

Made from ReadyStack-opensearch-3.9.0-CE-ubuntu24.04-r3.tar.gz (SHA-256 54c3c08eabb7e29b46567b59a74e69533b057a24beb5a02142e7d3196582b421), the build kit on sale for this release, on 2026-10-29.

What the Hermetic Build Kit adds

Free with a verified email

The recipe pins every input; the kit carries them, so the build runs with the network off:

  • Vendored sources and packages30 files, 931 MB
  • Handbooks, SBOM, security report and records19,297 files, 158 MB
  • Pinned BuildKit toolchain1 files, 106 MB
  • Base images (OCI layouts)5 files, 28 MB