release: prepare pinned deployment artifacts for v0.4.0 - #13
Merged
Conversation
The image build context, the publisher and the installer all made claims nothing here could keep: builds assumed core sources in this repository, public tags were pushed before any validation ran, and the installer downloaded release archives that do not exist. Builds now come from the immutable core commit pinned in core-source.env and fail closed while it is empty. docker-publish.yml is the single publisher: it stages one reference, validates that digest and only then promotes it. The installer verifies checksums and platform selection and stays disabled until verified assets exist.
The chart rendered configurations the running server could not honour: auth and TLS settings the binary never read, listener ports that reached only part of the wiring, autoscalers that would start independent brokers, and moonshot values no template ever wired. The chart now requires an explicit image whose edition/capabilities it never infers, renders TLS and SASL through the variables core actually reads, keeps 9092/9094 fixed, always states autoCreateTopics, and rejects clustering, autoscaling, KEDA and moonshot values instead of accepting them silently. The raw k8s manifests follow the same standalone contract.
The edge, CDC and moonshot demos shipped runnable entry points for behaviour nothing here can verify: an MQTT bridge no image exposes, CDC and StreamQL routes that came from documentation rather than a running server, and compile-time features advertised through runtime environment variables core never reads. The edge stack is removed and its remaining artifacts are marked unsupported; the CDC and moonshot demos require an explicitly built image and exit non-zero without one. Dashboard and alert metric names are recorded as unverified in monitoring/METRICS.md, the duplicate invalid Dockerfiles are gone, and the static gates that keep these claims honest are wired into make static.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This prepares deployment assets for the active
0.4.0line and pins the official image source to offline-analytics-verified core commitae1ae701f3a6b371375d1a169a1ecfefff38b7cc. Images are staged and validated before promotion, while unsupported installers, demos, and Helm configurations fail closed.Key changes
core-source.envinstead of assuming core sources exist in this repository.docker-publish.ymlthe single publisher: push one staging reference, resolve its digest, smoke-test/scan/sign/attest that digest, then promote the unchanged digest to public tags.linux/amd64until other architectures have equivalent pre-promotion smoke and vulnerability-scan lanes.g++to full Linux builders so native dependencies compile during complete image validation.Validation
g++; ShellCheck is clean, and currentmake test,make lint, andmake staticpass with 96 Helm tests.ae1ae701f3a6b371375d1a169a1ecfefff38b7cceverywhere in the deployment contract; both hosted CI image builds and strict HTTP smoke checks pass. Registry publication, signing, and attestation remain release-only gates.ea079b7.Commit structure
2e56df5fix(publish): verify pinned core builds and installer artifacts403169efix(helm): enforce secure standalone runtime contracts70575eefix(demos): fail closed on unsupported deployment paths1bd5db1chore(release): prepare v0.4.03b09d72chore(release): pin core v0.4.0 source0b01f42fix(build): support full Linux image validationd5eb230chore(release): advance final core source pinf9616bcfix(test): validate image smoke responses strictly55db35bchore(release): pin benchmark-verified core sourcedcb6345chore(release): pin doctest-verified core source147662cchore(release): pin CI-stable core sourceb137a73chore(release): pin Linux-verified core sourceea079b7chore(release): pin offline-analytics core sourceRelease and merge notes
ae1ae701f3a6b371375d1a169a1ecfefff38b7ccmust be reviewed/merged and built with external registry credentials; the staged digest must pass registry smoke, security, signing, and attestation gates before any semver tag is attached.ae1ae701f3a6b371375d1a169a1ecfefff38b7ccpin and this deployment PR; its published image/digest unlocks SDK, operator, cloud, Homebrew, and tester-program gates.v0.3.0tags and releases are immutable. This work targets the newv0.4.0line; this PR does not create a tag, GitHub Release, package, image, or other publication.