Repository navigation
knative: eventing: Add Broker and Trigger detail pages - #1353
Open
RajPrakash681 wants to merge 1 commit into
Open
RajPrakash681 wants to merge 1 commit into
RajPrakash681 wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Filter semantics need correction, and shared routing changes still require integration validation in Headlamp.
1 open finding
What changed in this PR
Adds dedicated Broker and Trigger detail pages to the Knative plugin, building on the Eventing list views from #1342.
Changes:
- Adds Eventing resource views, relationship links, conditions, and events.
- Extends navigation, installation banners, and filter summaries.
- Adds helper tests, Eventing fixtures, and documentation.
| File | Description |
|---|---|
| knative/test-files/setup-eventing.sh | Creates and waits for Eventing fixtures. |
| knative/test-files/README.md | Documents Eventing checks. |
| knative/test-files/eventing/01-broker-and-triggers.yaml | Adds Broker and Trigger fixtures. |
| knative/test-files/eventing/00-namespace-and-sink.yaml | Adds the test namespace and subscriber. |
| knative/test-files/cleanup.sh | Removes Eventing fixtures. |
| knative/src/sidebarGating.ts | Gates Eventing navigation and selects landing pages. |
| knative/src/sidebarGating.test.ts | Tests component-specific navigation. |
| knative/src/resources/knative/trigger.ts | Defines Trigger data and routes. |
| knative/src/resources/knative/index.ts | Exports Eventing resources. |
| knative/src/resources/knative/eventingData.ts | Formats Eventing references and filters. |
| knative/src/resources/knative/eventingData.test.ts | Tests Eventing data helpers. |
| knative/src/resources/knative/customResource.ts | Supports resource-specific plugin routes. |
| knative/src/resources/knative/conditionedResource.ts | Documents shared status fields. |
| knative/src/resources/knative/common.ts | Adds shared Eventing types. |
| knative/src/resources/knative/broker.ts | Defines Broker data and routes. |
| knative/src/navigation.ts | Adds the Eventing sidebar section. |
| knative/src/navigation.test.ts | Updates navigation expectations. |
| knative/src/listRoutes.ts | Maps Eventing list components. |
| knative/src/listRoutes.test.ts | Adds Eventing component mocks. |
| knative/src/index.tsx | Registers detail routes and icons. |
| knative/src/components/triggers/List.tsx | Lists Triggers and linked relationships. |
| knative/src/components/triggers/Detail.tsx | Displays Trigger configuration and destination. |
| knative/src/components/common/OwnerLink.tsx | Extends reference links and corrects core routes. |
| knative/src/components/common/NotInstalledBanner.tsx | Adds component-specific installation guidance. |
| knative/src/components/common/NotInstalledBanner.stories.tsx | Adds an Eventing banner story. |
| knative/src/components/common/EventingResourceDetail.tsx | Shares detail layout and installation checks. |
| knative/src/components/brokers/List.tsx | Lists Brokers and readiness. |
| knative/src/components/brokers/Detail.tsx | Displays Broker configuration and address. |
| knative/README.md | Documents Eventing support and views. |
| knative/package.json | Updates the plugin description. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
RajPrakash681
force-pushed
the
feat/knative-eventing-detail-pages
branch
from
October 15, 2026 06:44
25fa76c to
a47be28
Compare
RajPrakash681
marked this pull request as ready for review
October 15, 2026 12:15
RajPrakash681
requested review from
ashu8912,
illume,
joaquimrocha,
skoeva,
sniok,
vyncent-t and
yolossn
as code owners
October 15, 2026 12:15
This was referenced Oct 15, 2026
RajPrakash681
force-pushed
the
feat/knative-eventing-detail-pages
branch
from
October 17, 2026 06:55
a47be28 to
6b65202
Compare
Co-authored-by: kahirokunn <okinakahiro@gmail.com> Signed-off-by: RajPrakash681 <rjnt452@gmail.com>
RajPrakash681
force-pushed
the
feat/knative-eventing-detail-pages
branch
from
October 17, 2026 20:18
6b65202 to
05df156
Compare
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
Adds detail pages for Knative Eventing Brokers and Triggers. Selecting a Broker or Trigger in the plugin's lists now opens a page that shows what it does in plain words, instead of Headlamp's generic Custom Resource view.
Related Issue
Part of #922
Changes
eventing.knative.dev/broker.classannotation), its address, and a link to the object with its settings (spec.config, usually a ConfigMap). A reference withoutapiVersionorkind, which only a cluster without Knative's webhook accepts, is shown as text.spec.brokerorspec.brokerRef, linked to the Broker page), its filter, its subscriber, and the URI the subscriber resolved to.filtersexpressions when there is at least one, otherwise the olderfilter.attributes. A Trigger that filters nothing reads "All events".-, so objects on a cluster that has only the CRDs still render.KnativeBrokerandKnativeTriggername their owndetailsRouteandlistRoute, so names in the lists, the Broker links on Trigger rows and pages, Headlamp's Back button and the navigation after a delete all lead to the plugin's pages. The other kinds built onKnativeCustomResource(the Serving internals, Domain Mappings and Cluster Domain Claims) still open Headlamp's Custom Resource views.OwnerLinklinks each Knative kind whose class names its owndetailsRouteto the plugin's page, so references to a Broker or a Trigger (for example a Subscription's owner) open the new pages. It also links ConfigMaps, and its Service, Secret and ConfigMap links use the kind as the route name, so Headlamp's details drawer opens them without logging "No details component for kind".formatTriggerFilterturns the active filter into YAML, using the existing Trigger filter type, which is now exported instead of duplicated. The Triggers list and the Trigger page share oneBrokerLink.order-createdTrigger withexactandprefixfilters, whichsetup-eventing.shwaits for.Steps to Test
cd knative && npm run tsc && npm run lint && npm test../test-files/setup-eventing.sh, open Knative > Eventing > Brokers and selectdefault. The page showsMTChannelBasedBroker, the Broker's address and a link to theconfig-br-default-channelConfigMap.order-created: the filter shows itsexactandprefixexpressions as YAML.catch-allreadsAll events, anddangling-subscribershowsSubscriberResolvedasFalsewith the Subscriber URI as-. Selecting the Broker name on a Trigger page opens the Broker page, whose Back button opens the Brokers list.Screenshots