Skip to content

feat(greenhouse): new Clusters dashboard#1634

Open
guoda-puidokaite wants to merge 10 commits intomainfrom
guoda-clusters
Open

feat(greenhouse): new Clusters dashboard#1634
guoda-puidokaite wants to merge 10 commits intomainfrom
guoda-clusters

Conversation

@guoda-puidokaite
Copy link
Copy Markdown
Contributor

@guoda-puidokaite guoda-puidokaite commented Apr 27, 2026

Summary

Screenshot 2026-05-04 at 22 32 23 Screenshot 2026-05-04 at 22 32 14 Screenshot 2026-05-04 at 22 32 38

Changes Made

  • Added Clusters overview according to ACs that allows navigation to Cluster Detail page and from there, Plugin Instance page

Other agreed on ACs:

  • Added Cluster Type and Region fields and allowed to filter by them
  • No ‘Reconcile’ button needed

Design guidelines:
https://www.figma.com/design/xsRjypqDB8lGT8LsrxIFKs/%F0%9F%AB%9F--Greenhouse-UX-work?node-id=984-5344&p=f&t=R89RR3K513x3o3rM-0

Related Issues

Testing Instructions

  1. pnpm i
  2. pnpm TASK

Checklist

  • I have performed a self-review of my code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • I have made corresponding changes to the documentation (if applicable).
  • My changes generate no new warnings or errors.
  • I have created a changeset for my changes.

PR Manifesto

Review the PR Manifesto for best practises.

@guoda-puidokaite guoda-puidokaite self-assigned this Apr 27, 2026
@guoda-puidokaite guoda-puidokaite added greenhouse Greenhouse core related task app Any app that is not specific label that lives under apps/ greenhouse-pr-preview Builds a PR preview for greenhouse shell app and plugins. labels Apr 27, 2026
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 27, 2026

⚠️ No Changeset found

Latest commit: c00a8fa

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@guoda-puidokaite guoda-puidokaite changed the title DRAFT clusters dashboard feat(greenhouse): new Clusters dashboard Apr 27, 2026
Comment thread apps/greenhouse/src/components/admin/ClusterDetail/index.tsx Fixed
Comment thread apps/greenhouse/src/components/admin/ClusterDetail/index.tsx Fixed
Comment thread apps/greenhouse/src/components/admin/ClusterDetail/index.test.tsx Fixed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Greenhouse “Clusters” dashboard flow under /admin/clusters, including an overview grid with filtering and a new cluster detail page that links into plugin-instance details.

Changes:

  • Replaced the legacy /admin/clusters route with nested routes for clusters list and cluster detail (/admin/clusters/$clusterName).
  • Added new UI components for clusters overview (filters + grid) and cluster detail (overview/YAML + plugin instances).
  • Added new API helpers and types for fetching clusters and plugins-by-cluster, plus shared utility updates.

Reviewed changes

Copilot reviewed 29 out of 30 changed files in this pull request and generated 28 comments.

Show a summary per file
File Description
apps/greenhouse/src/routeTree.gen.ts Updates generated route tree to reflect new nested clusters routes.
apps/greenhouse/src/routes/admin/clusters/route.tsx Adds parent “Clusters” route with breadcrumb + Outlet.
apps/greenhouse/src/routes/admin/clusters/index.tsx Adds clusters index route with search validation and default filter redirect.
apps/greenhouse/src/routes/admin/clusters/$clusterName/route.tsx Adds cluster-name route with crumb label based on param.
apps/greenhouse/src/routes/admin/clusters/$clusterName/index.tsx Adds cluster detail index route to render ClusterDetail.
apps/greenhouse/src/routes/admin/clusters.tsx Removes legacy clusters route implementation.
apps/greenhouse/src/components/admin/utils.ts Expands readiness helpers to clusters and adds formatAge.
apps/greenhouse/src/components/admin/types/schema.d.ts Updates Cluster schema typing (note: file is auto-generated).
apps/greenhouse/src/components/admin/types/k8sTypes.ts Adds Cluster type alias alongside existing types.
apps/greenhouse/src/components/admin/Layout/Breadcrumb.test.tsx Updates breadcrumb test for nested routes (currently mismatched path).
apps/greenhouse/src/components/admin/constants.ts Adds cluster-related label keys and filter IDs.
apps/greenhouse/src/components/admin/Clusters/index.tsx Implements clusters overview page (counts, refresh, filters, grid).
apps/greenhouse/src/components/admin/Clusters/ClustersGrid/index.tsx Adds clusters overview data grid header + suspense/error handling.
apps/greenhouse/src/components/admin/Clusters/ClustersGrid/index.test.tsx Adds tests for clusters grid rendering and error state.
apps/greenhouse/src/components/admin/Clusters/ClustersGrid/DataRows/index.tsx Adds suspense data rows fetching clusters and navigating to detail.
apps/greenhouse/src/components/admin/Clusters/ClustersFilters.tsx Adds filter UI (select + chips + search) for clusters.
apps/greenhouse/src/components/admin/ClusterDetail/Overview/PluginInstances.tsx Adds cluster-scoped plugin instances table with navigation to plugin instance detail.
apps/greenhouse/src/components/admin/ClusterDetail/Overview/PluginInstances.test.tsx Adds tests for plugin instances view (currently mismatched route/expectations).
apps/greenhouse/src/components/admin/ClusterDetail/Overview/index.tsx Adds cluster detail “Overview” composition (conditions/details/plugins).
apps/greenhouse/src/components/admin/ClusterDetail/Overview/Details.tsx Adds cluster detail “Details” panel, including age + node status.
apps/greenhouse/src/components/admin/ClusterDetail/Overview/Details.test.tsx Adds tests for Details (currently mismatched props/types/expectations).
apps/greenhouse/src/components/admin/ClusterDetail/Overview/Conditions.tsx Adds cluster readiness conditions section.
apps/greenhouse/src/components/admin/ClusterDetail/Overview/Conditions.test.tsx Adds tests for Conditions (currently mismatched props/types).
apps/greenhouse/src/components/admin/ClusterDetail/index.tsx Adds cluster detail page with tabs and data fetching.
apps/greenhouse/src/components/admin/ClusterDetail/index.test.tsx Adds tests for cluster detail page (currently imports/route mismatches).
apps/greenhouse/src/components/admin/api/plugins/fetchPluginsByCluster.ts Adds API helper to fetch plugins filtered by cluster label.
apps/greenhouse/src/components/admin/api/clusters/fetchClustersFilters.ts Adds API helper to derive filter values from clusters list.
apps/greenhouse/src/components/admin/api/clusters/fetchClusters.ts Adds API helper to fetch clusters and apply client-side filtering/sorting.
apps/greenhouse/src/components/admin/api/clusters/fetchCluster.ts Adds API helper to fetch a single cluster by name.
apps/greenhouse/src/components/admin/mocks/pluginPresets.ts Refactors mocks to provide cluster mock data (file name now misleading).

Comment thread apps/greenhouse/src/components/admin/Layout/Breadcrumb.test.tsx Outdated
Comment thread apps/greenhouse/src/components/admin/ClusterDetail/Overview/Details.test.tsx Outdated
Comment thread apps/greenhouse/src/components/admin/ClusterDetail/Overview/Details.test.tsx Outdated
Comment thread apps/greenhouse/src/components/admin/ClusterDetail/Overview/Conditions.test.tsx Outdated
Comment thread apps/greenhouse/src/components/admin/ClusterDetail/Overview/Details.tsx Outdated
Comment thread apps/greenhouse/src/components/admin/Clusters/ClustersGrid/index.test.tsx Outdated
Comment thread apps/greenhouse/src/components/admin/ClusterDetail/index.tsx Outdated
Comment thread apps/greenhouse/src/components/admin/ClusterDetail/Overview/index.tsx Outdated
Comment thread apps/greenhouse/src/components/admin/__mocks__/pluginPresets.ts Outdated
@guoda-puidokaite guoda-puidokaite marked this pull request as ready for review May 5, 2026 07:41
@guoda-puidokaite guoda-puidokaite requested a review from a team as a code owner May 5, 2026 07:41
Signed-off-by: I531348 <[email protected]>
Signed-off-by: I531348 <[email protected]>
Signed-off-by: I531348 <[email protected]>
Signed-off-by: I531348 <[email protected]>
Signed-off-by: I531348 <[email protected]>
Signed-off-by: I531348 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app Any app that is not specific label that lives under apps/ greenhouse Greenhouse core related task greenhouse-pr-preview Builds a PR preview for greenhouse shell app and plugins.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Task](greenhouse): Cluster Detail View [Task](greenhouse): Cluster List View [EPIC](greenhouse): Admin Area - Clusters list and details

3 participants