Repository navigation
Resolve configured TLS references with cached Secret metadata - #2087
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.
A referenced Secret often appears when the topology is built with IncludeSecrets=false. Creating an anonymous stub loses metadata already present in Radar's cache. Contour also references certificates beyond its primary TLS Secret: client CA/CRL, upstream validation, JWT JWKS and TCP validation.
Referenced Secret nodes use the existing metadata cache when the object is observed, preserving real status and metadata without serializing Secret payloads. Absent Secrets remain Unknown stubs. Existing per-user Secret visibility applies on REST, SSE and MCP. One Contour parser supplies topology, audit and drawer links, including cross-namespace delegation and Kubernetes-valid resource names.
Review focus: payload exclusion and unreadable/missing Secret behavior, namespace boundaries, and all six Contour reference paths. The exported Kubernetes subdomain validator accepts Kubernetes-valid long resource names; namespace-label validation remains separate. No new JSON field or Secret permission is introduced.
Validation: full root and relevant shared-module Go suites; metadata-only/default topology regressions; Contour parser/reference tests; rendered exact Secret navigation and validator tests; web/shared UI type checks; production frontend/embed/backend build. Existing drawer links are used, with no new layout.
Visual-test: skipped because these corrections retain the existing layouts; rendered navigation/evidence tests and real REST/MCP checks cover the changed behavior.