Pre-publication verification record for the Vector upstream-release artifact
and exact OCI mirror. This report describes the pinned 0.53.0 input; the
release is intentionally not included in the generated README size/runtime
tables until native release and public-image gates complete.
- Upstream source repository:
vectordotdev/vector. - Manual release input is resolved dynamically from the versionless
external-release.jsondescriptor.0.53.0below is retained as historical evidence from the last compatibility check, not as a supported-version gate; the descriptor adds thevGitHub prefix and-alpineOCI suffix. - Upstream archive assets are consumed without a source rebuild and are verified before extraction:
| Target | Published asset | SHA-256 |
|---|---|---|
darwin-arm64 |
vector-0.53.0-arm64-apple-darwin.tar.gz |
a42c59263abbbcae012a2c0f73c3e916dc220305b2a223725f2324ae18efcd80 |
linux-amd64 |
vector-0.53.0-x86_64-unknown-linux-musl.tar.gz |
799d1d1502c746d767172c92f31fd6424ea7879e3dcab5826b67717799d4f306 |
linux-arm64 |
vector-0.53.0-aarch64-unknown-linux-musl.tar.gz |
f525fd7e66307ef069ad4359a0f889fba402b0b8bb3ca75198143f567021c5ca |
Vector is licensed under MPL-2.0. The normalized archive preserves the
upstream LICENSE, LICENSE-3rdparty.csv, and dependency license texts under
share/licenses/vector/; the repository notice is recorded in
THIRD_PARTY_NOTICES.md.
The recipe uses ARTIFACT_BACKEND=upstream-archive, maps only the pinned
allowlist, marks the result portable, and invokes /bin/vector with no
entrypoint. The Darwin artifact inspected for this report has this layout:
rootfs/
├── bin/vector
├── share/doc/vector/README.md
├── share/doc/vector/config/ # upstream config/examples reference files
└── share/licenses/vector/ # MPL-2.0 and dependency notices
Linux normalization additionally retains the upstream NOTICE and systemd
reference files as documentation; no service-manager file is installed as
active host configuration. The executable is copied byte-for-byte from the
verified archive. Linux release binaries are statically linked musl builds;
the Darwin binary relies only on the declared Apple system libraries and
frameworks. The generated Darwin manifest records a measured macOS floor of
11.0 and no unresolved portability references.
The native matrix workflow run 31796344933
was run at the exact head 53c2b52e73509f536ed4e2ff3248092e3a13e4c2. It built
and exercised all three verified upstream archives directly on their native
hosts; cache reuse was bypassed. Each target ran the same file source → VRL
transform → file sink flow, proved exactly-once transformed output across a
stop/restart using the same state directory, cleaned up its temporary state,
and collected runtime samples.
| Target | Normalized archive SHA-256 | SPDX-2.3 SBOM SHA-256 | bin/vector SHA-256 |
RSS | Idle CPU | Manifest portability metadata |
|---|---|---|---|---|---|---|
darwin/arm64 |
d8508190c546279efa6dcdd2254f215d81ee23aabc25505260c799c5af82f4e7 |
384e143d4856a92ea9323b0d15919594df6f1e2f7bd0ed9c485fac3872f50e7a |
e4094bb8a9ee4f63242b5c7d47fb417411cf5170f79a3e4e3d529c126a152a83 |
25.7 MiB |
0.0% |
libc=null; macOS floor 11.0 |
linux/amd64 |
1318ccf98ee8e7ab3d77b86d05832c5984c4b80257863fb61e7e57c303486920 |
1473b9dc858893d334077371fc1425834e71472c94f22897f876bee27b717f30 |
30bd4693f0a2631792f7ccd7c7a9ca8c3e0b0052cd9dc59c8c2e3f7fceb537f4 |
62.4 MiB |
0.0% |
libc=musl; assumed host libs []; os_floor.kind=glibc, floor null, bundled_glibc=false |
linux/arm64 |
a9f61f66fef77cc91e19f91a7f4c0bd34f628d4271dd37c51e022690805bf229 |
0b1b596c14d565ad4146a38701840ca649b93076b3bc5deb3a1548573adb1e00 |
8fb5e2c9fbe424d11d278330f1a250683b993b3edf69605a6ac31252009685fc |
27.2 MiB |
0.0% |
libc=musl; assumed host libs []; os_floor.kind=glibc, floor null, bundled_glibc=false |
For Linux, libc=musl records the verified static-musl archive metadata.
os_floor.kind=glibc is the scanner's fixed contract for reporting a
GLIBC-symbol floor; it is not a claim about the binary's linkage. The null
floor and bundled_glibc=false correctly record that these static-musl
binaries neither require host GLIBC symbols nor ship a bundled glibc pair.
For each row, the run's SHA256SUMS covers that target's normalized archive
and SPDX-2.3 SBOM. Each manifest records normalized-member provenance for the
byte-identical bin/vector plus the license and documentation files and their
digests.
At attempt time, the plan job resolves the GitHub release and independent OCI tag once, then uploads one immutable snapshot and sidecar. Every native build, mirror, and release consumer downloads and verifies those exact bytes before loading its recipe. The v0.53.0 values below remain historical evidence.
The mirror policy pins the Alpine image independently from the native archive:
- Source tag:
docker.io/timberio/vector:0.53.0-alpine. - OCI index digest:
sha256:ca92d617e905953c3f852e7e88061f7039460e733522e3f0c21bc6ae946b2558. - Destination tag:
ghcr.io/supabase/cli/vector:0.53.0.
Required runtime platform descriptors are:
| Platform | Digest |
|---|---|
linux/amd64 |
sha256:7a74872eb7791f65357b200813bcf613c8dedcac561b4f1a68f9d290f6e6a40c |
linux/arm64 |
sha256:d2d5381f69b885c1b10d396623bf8d5ce825bcb8f8efcdb14a3154223c13b3b7 |
The pinned OCI index also carries these embedded attestation descriptors, which the verifier requires to survive the copy:
linux/amd64 sha256:1396baba9135c2c0708265fd2e958a4219645ba9588230fbb90bb63699695a74
linux/arm64 sha256:ed65ba7b8e4d7fe0b9ea99f219ff2a3eacd07572f3b352eae2bd6b58266a640e
linux/arm/v7 sha256:fc62606d6512d313f4d107b963451aafa9350cd19182eec84ab0785c8b842222
linux/arm/v6 sha256:bb69f3cf81937d19c869b83324df833719c4620ced6a4405b21e38e2e16b9c5c
Publication uses regctl image copy --digest-tags --referrers from the
immutable source reference. scripts/verify-oci-mirror.py compares raw index
bytes, required platform digests, and embedded attestations; the mirror helper
also compares the complete external referrer digest tree. The real pinned
source-image smoke is recorded separately below. No local GHCR mirror publish
was performed for this report.
The pre-merge native matrix above validates the same contract for every target in direct-host mode (not a Docker image): file source → VRL transform → file sink, exactly-once transformed output across restart, temporary-state cleanup, and runtime sampling with the build cache bypassed. The OCI mirror smoke remains a separate gate against the pinned Alpine image. The pinned source-image smoke passed locally on the current Darwin host:
IMAGE=docker.io/timberio/vector:0.53.0-alpine services/vector/smoke.sh
The destination GHCR mirror smoke and anonymous pull remain post-merge gates, as listed below.
The repository check scripts/test-oci-mirror.sh is fixture-based routing and
security verification for the mirror helpers; it is not a real Vector image
smoke and does not replace the command above.
The following repository checks are required for this registration and were run or are the exact CI commands for the release path:
scripts/poll-service-releases.sh --validate-config
scripts/test-upstream-release.sh
scripts/test-extract-upstream-archive.sh
scripts/test-upstream-artifact.sh
scripts/test-oci-mirror.sh
scripts/test-upstream-runtime.sh
scripts/test-license-compliance.sh
while IFS= read -r script; do bash -n "$script"; done < <(find scripts services -type f -name '*.sh' -print | sort)
shellcheck --severity=warning --exclude=SC2034,SC2154,SC3045 $(find scripts services -type f -name '*.sh' -print | sort)
The focused routing checks prove that poll=false excludes Vector from the
poller, manual dispatch accepts vector/0.53.0, policy resolution uses
upstream v0.53.0, and mirror smoke selection is driven by each recipe's
IMAGE_RELEASE_MODE=mirror (Mailpit remains covered by the same route).
CLI-2139 remains open until all of the following are recorded after merge:
- Dispatch
service=vector,version=0.53.0, andforce=false; attach the GitHub release URL, native archive manifests/checksums/SBOMs, and published GHCR index/platform digests. - Prove anonymous
ghcr.io/supabase/cli/vector:0.53.0resolution, pull, and Vector image smoke with empty local registry credentials. - Complete later CLI integration (download/verify and process-compose stack lifecycle acceptance) before closing the CLI work.