Repository navigation
knative: eventing: Add Channel and Subscription detail pages - #1358
Draft
RajPrakash681 wants to merge 1 commit into
Draft
RajPrakash681 wants to merge 1 commit into
RajPrakash681 wants to merge 1 commit into
Conversation
RajPrakash681
marked this pull request as ready for review
October 16, 2026 06:14
RajPrakash681
requested review from
ashu8912,
illume,
joaquimrocha,
skoeva,
sniok,
vyncent-t and
yolossn
as code owners
October 16, 2026 06:14
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No blocking issues were identified in the reviewed changes; automated checks were not run.
0 open findings
What changed in this PR
Adds dedicated Channel and Subscription detail pages to the Knative plugin, building on the list views from #1354 and advancing Eventing support in #922.
Changes:
- Shows resource relationships, resolved endpoints, conditions, events, and subscriber status.
- Connects navigation to plugin pages while preserving read-only behavior for Knative-owned resources.
- Adds tests, fixtures, and documentation for Channel and Subscription workflows.
| File | Description |
|---|---|
| knative/test-files/setup-eventing.sh | Applies and waits for new fixtures. |
| knative/test-files/README.md | Documents fixture verification. |
| knative/test-files/eventing/02-channel-and-subscriptions.yaml | Adds Channel and Subscription fixtures. |
| knative/src/resources/knative/trigger.ts | Reuses shared authentication types. |
| knative/src/resources/knative/subscription.ts | Defines Subscription fields and routes. |
| knative/src/resources/knative/index.ts | Exports new resource classes. |
| knative/src/resources/knative/eventingData.ts | Broadens destination helper documentation. |
| knative/src/resources/knative/customResource.ts | Supports plugin-specific resource routes. |
| knative/src/resources/knative/common.ts | Shares Eventing resource types. |
| knative/src/resources/knative/channel.ts | Defines Channel fields, routes, and accessors. |
| knative/src/resources/knative/broker.ts | Reuses shared Eventing types. |
| knative/src/readOnlyResources.ts | Protects Knative-owned Channels and Subscriptions. |
| knative/src/readOnlyResources.test.ts | Extends read-only action tests. |
| knative/src/navigation.ts | Adds Eventing sidebar entries. |
| knative/src/navigation.test.ts | Updates expected sidebar entries. |
| knative/src/listRoutes.ts | Registers new list components. |
| knative/src/listRoutes.test.ts | Adds list-component mocks. |
| knative/src/index.tsx | Registers detail routes and resource icons. |
| knative/src/components/triggers/List.tsx | Reuses destination links. |
| knative/src/components/subscriptions/List.tsx | Displays Subscription relationships and readiness. |
| knative/src/components/subscriptions/Detail.tsx | Displays destinations and resolved endpoints. |
| knative/src/components/common/OwnerLink.tsx | Supports Channel and Trigger references. |
| knative/src/components/common/EventingResourceDetail.tsx | Shares detail layout and Eventing availability checks. |
| knative/src/components/common/DestinationLink.tsx | Renders destination references or fallback text. |
| knative/src/components/common/DestinationLink.test.tsx | Tests destination rendering and namespace handling. |
| knative/src/components/channels/List.tsx | Displays Channel configuration and readiness. |
| knative/src/components/channels/Detail.tsx | Displays Channel details and subscriber links. |
| knative/src/components/channels/Detail.test.tsx | Tests UID matching and fallback states. |
| knative/README.md | Documents new Eventing 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
marked this pull request as draft
October 16, 2026 07:15
RajPrakash681
force-pushed
the
feat/knative-eventing-channel-subscription-details
branch
from
October 17, 2026 06:55
9c206ec to
8a86fa1
Compare
Co-authored-by: kahirokunn <okinakahiro@gmail.com> Signed-off-by: RajPrakash681 <rjnt452@gmail.com>
RajPrakash681
force-pushed
the
feat/knative-eventing-channel-subscription-details
branch
from
October 17, 2026 20:18
8a86fa1 to
1f4fd95
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 Channels and Subscriptions, following the list views in #1354. Selecting a Channel or Subscription now opens a page that shows how events flow through it, instead of Headlamp's generic Custom Resource view.
Related Issue
Part of #922
Changes
InMemoryChannel/orders), its address, and a Subscriptions section with the state the Channel reports for each subscriber. Knative identifies subscribers by UID, so each one is matched to the Subscription with that UID in the Channel's namespace and linked to its page; a subscriber without a match shows its UID. The Subscriptions are listed only when the Channel reports subscribers.-, so objects on a cluster that has only the CRDs still render. Channels and Subscriptions that Knative created and owns stay read-only, as in knative: eventing: Add Channel and Subscription list views #1354.KnativeChannelandKnativeSubscriptionname their owndetailsRouteandlistRoute, so names in the lists, the Channel links on Subscription rows and pages, Headlamp's Back button and the navigation after a delete lead to the plugin's pages.OwnerLinklinks every Knative kind whose class names its owndetailsRouteto the plugin's page, and the other Knative kinds to Headlamp's Custom Resource view, so a kind that gets a page needs no change there.EventingResourceDetailpage works for any Knative resource with conditions. knative: eventing: Add Broker and Trigger detail pages #1353, which adds the Broker and Trigger pages, uses the same page and the same route check inKnativeCustomResource; whichever of the two merges second will be rebased onto the other.destinationColumnfor their Channel, Subscriber and Reply columns, and a Channel subscriber'sreadyuses the sharedConditionStatustype.OwnerLinklinks each kind to.Steps to Test
cd knative && npm run tsc && npm run lint && npm test../test-files/setup-eventing.sh, open Knative > Eventing > Channels and selectorders. The page showsInMemoryChannel/orders, the Channel's address, andorders-to-displayunder Subscriptions as Ready.orders-to-display. It linksChannel/orders,Service/event-displayandBroker/default, and shows the resolved subscriber and reply URIs. SelectingChannel/ordersopens the Channel page.default-…Subscriptions: "Controlled by" shows its Trigger, and Edit and Delete are not offered.Screenshots
Channel page: the backing Channel and the address.
A Channel's Subscriptions: each subscriber with its Subscription's name and state.
Subscription page: the Channel, subscriber, reply, and the endpoints Knative resolved.
A Subscription a Broker created: controlled by its Trigger, and read-only.