Skip to content

Add platform health dashboard - #3098

Draft
andreasohlund wants to merge 52 commits into
masterfrom
platform-health
Draft

Add platform health dashboard#3098
andreasohlund wants to merge 52 commits into
masterfrom
platform-health

Conversation

@andreasohlund

@andreasohlund andreasohlund commented Aug 28, 2026

Copy link
Copy Markdown
Member

Summary

  • add the Platform health page, support export, and runtime mock controls
  • share one frontend platform model across Platform health and Platform Capabilities
  • hide internal platform custom checks by default and let Platform health use them as secondary health signals
  • map matching failing internal checks to degraded platform instances
  • refresh the Platform health and Custom Checks docs to match the new behavior

Design Decisions

  • Use a shared frontend platform model/store as the source of truth for Platform health and Platform Capabilities. PlatformModelStore owns normalization for primary ServiceControl, remote instances, and Monitoring, while transport stays in the purpose-specific clients.
  • Keep ServicePulse as a frontend-owned model with only the fields needed for Platform health and update visibility.
  • Derive topology behavior from shared instance roles instead of introducing another topology layer. Remote instances remain model-derived rows, and the direct-access rule stays limited to primary ServiceControl and Monitoring.
  • Read the primary version from the real X-Particular-Version response header and the Monitoring version from its root version field. A successful primary root fetch still maps to a healthy baseline.
  • Use the ServiceControl internal flag as the source of truth for platform custom checks. Older responses without the flag are treated as non-internal.
  • Keep internal platform custom check inference page-specific in PlatformHealthStore. Matching is by originating_endpoint.name, and a failing internal check degrades the matching healthy instance.
  • Keep PlatformHealthStore responsible for page-specific severity, rows, upgrade cues, details, and support export content, while CustomChecksStore only controls filtering and pagination for the list view.

Behavior

  • Show platform custom checks reveals internal checks in the Custom Checks UI
  • Platform health matches internal checks by originating_endpoint.name
  • matching failing internal checks degrade the associated platform instance

Verification

  • npm run test:component -- src/stores/CustomChecksStore.spec.ts src/stores/PlatformHealthStore.spec.ts test/mocks/platform-health-state.spec.ts
  • npm run lint
  • npm run type-check

}

// 5. Audit instance is available and there are successful audit messages
// 4. All configured audit instances are available.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Not sure about this one, needs disussion

@@ -53,34 +37,6 @@ const { configuration } = storeToRefs(configurationStore);
<a :href="newVersions.newSPVersion.newspversionlink" target="_blank">v{{ newVersions.newSPVersion.newspversionnumber }} available</a>)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Needs discussion: should we move this to the health page as well?

@andreasohlund

andreasohlund commented Aug 30, 2026

Copy link
Copy Markdown
Member Author

@rbev @jpalac this should be ready for a first review pass to catch bigger mistakes, I've tried to capture all important stuff in the PR description

return "";
}

return JSON.stringify(

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Needs discussion, more stuff could go in here in the future

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.

2 participants