feat: reserve telemetry webhook and job-summary fields - #233
Merged
Merged
Conversation
Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
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.
Problem
The v1 manifest schema is about to freeze. The reserved vendor-neutral telemetry
seam (
config.telemetry/TelemetryConfig) currently reserves onlyenabledand
adapter. Issue #3 asks for a richer metrics surface (a sink endpoint and arun-summary toggle). Adding a separate
metrics:block would duplicate that seamand create two parallel observability surfaces, so the enrichment converges onto
the existing telemetry block instead.
Fix
Shape-only reservation, additive and omitempty, no generation/emit behavior and
no
schema_versionbump:TelemetryConfiggainswebhook *TelemetryWebhook(a generic vendor-neutralJSON-POST sink) and
job_summary *bool(a*boolso unset stays distinct froman explicit
false, mirroring thefail_fastprecedent).TelemetryWebhooktype withurlandsecret_name.secret_nameis thename of a GitHub Actions secret holding the auth token, a reference and never an
inline credential.
none,datadog) for documentation and future use.The vendor stays a value behind the adapter seam; no vendor client is wired into
core.
urlmust behttp(s) when set;
secret_namemust be a safe GHA secret name).adapterisleft unchecked so an arbitrary value that parses today keeps parsing.
No
metrics:key is added; the reservation lives entirely ontelemetry.Verification
go build ./cmd/... ./internal/...,go test ./...(1501 passed),golangci-lint run ./...(clean).go build ./...,go vet ./...,golangci-lint run ./...(clean).byte-identical plan set to one that omits it (hardened against a vacuous pass).
current
schema_versionwithout a bump.internal/schema,schema/,docs/public) regeneratedvia
cascade schemaand confirmed byte-identical.Closes #3