Repository navigation
Add a compose-only node log sidecar - #309
Merged
Merged
Conversation
Contributor
Author
|
APPROVE: see TC-959 |
Contributor
Author
|
APPROVE: see TC-959 |
This reverts commit e6d96c8.
Contributor
Author
samgbafa
marked this pull request as ready for review
October 17, 2026 03:54
samgbafa
added a commit
that referenced
this pull request
Oct 17, 2026
samgbafa
added a commit
that referenced
this pull request
Oct 17, 2026
Raise CLIENT_MAX_BODY_SIZE 32m -> 95m in the root compose (#309's approved ca110b0b… becomes b0cd8248…, 2 bytes) and lock the release template over those bytes: 92641ed5…. #309's approved pre-cap bytes no longer satisfy the template. Pre-N0 template and captured rollback artifacts are unchanged. Refs TC-959, TC-1012
samgbafa
added a commit
that referenced
this pull request
Oct 17, 2026
Lock #309's compose as a template (raw bytes with the single node digest normalized) so the main release and the sidecar ship in one dispatch. Only a recorded released image (labels, vX.Y.Z tag and crate version agree) may fill the pin; same-image recovery and the captured pre-N0 rollback are unchanged. Refs TC-959
samgbafa
added a commit
that referenced
this pull request
Oct 17, 2026
Raise CLIENT_MAX_BODY_SIZE 32m -> 95m in the root compose (#309's approved ca110b0b… becomes b0cd8248…, 2 bytes) and lock the release template over those bytes: 92641ed5…. #309's approved pre-cap bytes no longer satisfy the template. Pre-N0 template and captured rollback artifacts are unchanged. Refs TC-959, TC-1012
samgbafa
added a commit
that referenced
this pull request
Oct 17, 2026
* test(TC-959): use pre-N0 template fixture in recovery tests Future-digest and normal-build recovery cases ran against the repository's current compose. Since #309 that file is the reviewed N0 compose, which the workflow intentionally refuses to pair with any image other than the reviewed 1.20.6 digest. Run these cases against a frozen copy of the pre-N0 template (sha256 28302d67...) instead, and assert the N0 compose refuses a normal build image as it already refuses a future digest. * test(TC-959): derive pre-N0 template from the rollback artifact Same bytes (sha256 28302d67...) as the frozen copy, without adding a fixture file; matches the derivation used by #315.
samgbafa
added a commit
that referenced
this pull request
Oct 17, 2026
samgbafa
added a commit
that referenced
this pull request
Oct 17, 2026
…346) * TC-959 log sidecar: pass validated N2 correlation fields through on node_request request_id (UUID v1-8), request_id_replaced (bool), account_hash and space_hash (64 lowercase hex) are copied only when exactly well-formed; anything else is dropped and the request still ships. Ingress rows, diagnostics and db_hash are unchanged. Regenerates the embedded Vector config and counts the widest valid node request in the byte budget. * TC-959 #346 review: re-pin n0 compose hash, allow correlation keys in assertCapture, anchor tests, request_id provenance note * docs(TC-959): the N0 raw lock changed in #346; 6563d51b supersedes #309's ca110b0b
samgbafa
added a commit
that referenced
this pull request
Oct 18, 2026
Lock #309's compose as a template (raw bytes with the single node digest normalized) so the main release and the sidecar ship in one dispatch. Only a recorded released image (labels, vX.Y.Z tag and crate version agree) may fill the pin; same-image recovery and the captured pre-N0 rollback are unchanged. Refs TC-959
samgbafa
added a commit
that referenced
this pull request
Oct 18, 2026
Raise CLIENT_MAX_BODY_SIZE 32m -> 95m in the root compose (#309's approved ca110b0b… becomes b0cd8248…, 2 bytes) and lock the release template over those bytes: 92641ed5…. #309's approved pre-cap bytes no longer satisfy the template. Pre-N0 template and captured rollback artifacts are unchanged. Refs TC-959, TC-1012
samgbafa
added a commit
that referenced
this pull request
Oct 18, 2026
…te (#315) * ci: promote a released main image with the reviewed N0 compose template Lock #309's compose as a template (raw bytes with the single node digest normalized) so the main release and the sidecar ship in one dispatch. Only a recorded released image (labels, vX.Y.Z tag and crate version agree) may fill the pin; same-image recovery and the captured pre-N0 rollback are unchanged. Refs TC-959 * ci: carry the 95m ingress body cap in the N0 release template Raise CLIENT_MAX_BODY_SIZE 32m -> 95m in the root compose (#309's approved ca110b0b… becomes b0cd8248…, 2 bytes) and lock the release template over those bytes: 92641ed5…. #309's approved pre-cap bytes no longer satisfy the template. Pre-N0 template and captured rollback artifacts are unchanged. Refs TC-959, TC-1012 * ci: refuse release downgrades under the N0 template and old same-image recovery The promoted revision must strictly descend from the running production revision; 12c same-image recovery refuses an image older than running. The captured pre-N0 rollback stays the intentional downgrade route. Refs TC-959
This was referenced Oct 19, 2026
Merged
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.
Tracking: https://linear.app/tinycloud-labs/issue/TC-959
Compose-only GELF → Vector shipping on the unchanged production node 1.20.6-dstack / e18578f and unchanged ingress digests. No Rust/app-image or deployment-workflow edits. Canonical contract: https://github.com/samgbafa/tinycloud-dev/pull/131.
errors_slow: valid request status ≥400 OR node latency_us >1,000,000 / ingress request_time_seconds >1.0. Equality is excluded unless status ≥400. Explicitall_requestsremains available. No sampling/throttle.unclassified, no target/message/error content. Malformed/oversized/plaintext records remain explicit safety/transport limitations. No fabricated IDs or panic event.44eeb20a1461ef66b5af492e3be4c42be2728b67: https://github.com/TinyCloudLabs/tinycloud-node/actions/runs/38963872225. Exact rendered-compose/runtime parity; unpaced fast-503 markers 100000–100499: 500 emitted/500 unique captured, zero missing/duplicates. Healthy-only source/gate/admitted/sink/capture deltas are all 500. All six injected diagnostic occurrences, 30 paused-sidecar health requests/resumption, injection isolation and privacy controls passed. Capture: 516 checked, zero invalid/incomplete/canary hits. Effective UDP buffer 2 MiB (kernel max 1 MiB); healthy socket-drop delta zero. Cleanup and always-cleanup both leave owner-labelled counts 0/0/0. Synthetic bootstrap substitutions do not claim dstack/TLS deployment proof.Keep Draft pending Amos-owned independent exact-head Astra approval and remaining required checks. Hosted success is not #310 compose-binding or deployment authorization. Outage delivery remains BEST-EFFORT, not absolutely lossless. No merge/dispatch/deploy/secret read. The runbook records eligible-volume math, raw-log fallback loss, compose hash, pre-N0 rollback/privacy decision and the separate reviewed-workflow prerequisite; no unreviewed dispatch command is published.