Skip to content

feat: Show the health of the resources Sveltos monitors - #201

Merged
gianlucam76 merged 1 commit into
projectsveltos:mainfrom
gianlucam76:health-monitoring-clean
Oct 17, 2026
Merged

gianlucam76 merged 1 commit into
projectsveltos:mainfrom
gianlucam76:health-monitoring-clean

Conversation

@gianlucam76

Copy link
Copy Markdown
Member

Cluster and profile badges and an Unhealthy resources tab

Adds the dashboard side of health monitoring, on top of /clusterHealth and the healthStatus fields in ui-backend.

What it shows

  • Cluster badge. A health badge on each cluster card in the clusters list, with the worst status of everything reported for the cluster. Clicking it opens the cluster page on the new tab. No badge means nothing is monitored, never "healthy".
  • Profile health column. A Health column in the Profiles tab. A profile with unhealthy resources links to the new tab, already filtered by that profile.
  • Unhealthy resources tab. A new tab on the cluster page: a paginated table with group, version, kind, namespace, name, status, message and the owning profile. It lists resources from profiles with monitoring enabled first, then resources reported by any other HealthCheck, labelled HealthCheck: . Filters are profile kind and name, and resource kind, namespace and name.
  • Empty states. The table says why it is empty (nothing monitored, no report yet, all healthy, or no match for the filters), so an empty table is never read as "all healthy".

Supporting changes

  • The active tab of the cluster page and the Unhealthy resources filters now live in the URL, so the tab and the filtered list can be linked to. Leaving a tab clears its filters, so a profile filter does not follow the user back to the Profiles tab.
  • New helpers in src/utils, each with unit tests: addonTabs, clusterHealthPath, pickSearchParams and healthStatus. Strings added in en, fr and ar.

Cluster and profile badges and an Unhealthy resources tab

Adds the dashboard side of health monitoring, on top of /clusterHealth and the healthStatus fields in ui-backend.

What it shows
- Cluster badge. A health badge on each cluster card in the clusters list, with the worst status of everything reported
for the cluster. Clicking it opens the cluster page on the new tab. No badge means nothing is monitored, never "healthy".
- Profile health column. A Health column in the Profiles tab. A profile with unhealthy resources links to the new tab,
already filtered by that profile.
- Unhealthy resources tab. A new tab on the cluster page: a paginated table with group, version, kind, namespace, name,
status, message and the owning profile. It lists resources from profiles with monitoring enabled first, then resources
reported by any other HealthCheck, labelled HealthCheck: <name>. Filters are profile kind and name, and resource kind,
namespace and name.
- Empty states. The table says why it is empty (nothing monitored, no report yet, all healthy, or no match for the filters),
so an empty table is never read as "all healthy".

Supporting changes
- The active tab of the cluster page and the Unhealthy resources filters now live in the URL, so the tab and the filtered list
can be linked to. Leaving a tab clears its filters, so a profile filter does not follow the user back to the Profiles tab.
- New helpers in src/utils, each with unit tests: addonTabs, clusterHealthPath, pickSearchParams and healthStatus.
Strings added in en, fr and ar.
@gianlucam76

Copy link
Copy Markdown
Member Author
Screenshot 2026-10-17 at 12 06 45 Screenshot 2026-10-17 at 12 07 21

@gianlucam76

Copy link
Copy Markdown
Member Author
Screenshot 2026-10-17 at 12 09 48 Screenshot 2026-10-17 at 12 10 13

@gianlucam76
gianlucam76 merged commit 518e9d4 into projectsveltos:main Oct 17, 2026
1 check passed
@gianlucam76
gianlucam76 deleted the health-monitoring-clean branch October 17, 2026 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant