Repository navigation
feat(kubernetes): enrich break investigations with linked logs - #397
Merged
Merged
Conversation
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.
What does this PR do?
Brings logs from the linked data source into Kubernetes break investigations,
alongside bounded crash excerpts. Operators can open a break immediately and
see available logs fill in as the source catches up, without changing their
selected occurrence or investigation window.
remove duplicates, and keep logs tied to the correct Pod and container run.
automatically for up to five minutes. Reopening starts a fresh retry window.
Distinguish delayed, missing and budget-limited evidence.
sources, with an optional override in Kubernetes agent settings.
the same break can be reopened even after the source is unlinked.
containers restart, rather than attributing later output to an earlier crash.
check current Kubernetes permissions before serving stored evidence. Report
denied access and invalid credentials explicitly.
This adds bounded break evidence, not continuous container-log storage or a new
learning worker. Existing data-source configuration remains the source of truth
for linked logs; capture and query limits keep resource use bounded.
Why?
A log source may not have received the relevant lines when a break is first
detected. Fetching only at that instant leaves investigations incomplete, while
persisting every streamed log line consumes unnecessary disk.
Operators need the selected break's evidence to improve as logs arrive, remain
usable after restarts, and explain genuine gaps without silently switching
occurrences or showing an empty result as complete.
Type of change
Checklist
go test ./...passes locally on the final whole-module snapshotgo vetis clean in recorded affected-package validationsrc/for changed behaviorROADMAP.mdif this closes a roadmap item