@let data = data$ | async; @let hwEnabled = enabled$ | async; @let hwData = hardwareData$ | async; @let telemetryEnabled = telemetryEnabled$ | async; @let pgAlertCount = pgAlertCount$ | async; @let colorClass = 'overview-health-card-status--' + vm?.clusterHealth?.icon; @if (vm?.fsid) {

{{ vm?.fsid }}

Support & diagnostics
Telemetry @if (telemetryEnabled) {   on } @else {   off }
} @else { } @if (vm?.clusterHealth) {

{{ vm?.clusterHealth?.title }}

{{ vm?.clusterHealth?.message }}

} @else { } @if (data?.summary?.version) {

Ceph version:  {{ data?.summary?.version | cephVersion }}  @if (data?.upgrade?.versions?.length) { Upgrade available }

} @else { }
@if (vm?.incidents > 0) {
{{ vm?.incidents }} Health incidents  |
} @if (vm?.overallSystemSev) {
Systems
} @else { } @if (hwEnabled && hwData?.sections) {
Hardware
} @if (vm?.overallSystemSev) {
Data resiliency
} @else { }

Some cluster components are degraded and may require attention.

@for (item of healthItems; track item.key; let isLast = $last) {
{{ item.label }}

{{ vm?.[item.key]?.value }}

}
@if (hwData?.overallSeverity && hwData.overallSeverity !== 'success') {

Some hardware components are degraded and may require attention.

} @else {

All hardware components are operating normally.

} @if (hwEnabled && hwData?.sections) {
@for (section of hwData.sections; track $index; let isLast = $last) {
@for (row of section; track row.key) {
{{ row.label }} @for (status of row.statusCounts; track status.icon) { {{ status.count }} }
}
}
} @else { }
{{ vm?.resiliencyHealth?.title }}

{{ vm?.resiliencyHealth?.description }}

@if (pgAlertCount > 0) { View alerts ({{ pgAlertCount }}) }
@if (vm?.pgs?.activeCleanChartData && vm?.pgs?.activeCleanChartOptions) {

Data resiliency reflects data availability and replication (% of placement groups that are active and clean).

@if (vm?.pgs?.activeCleanChartReason?.length) {

{{ vm?.resiliencyHealth?.severity === 'progress' ? 'Data cleanup in progress' : 'What is affecting resiliency?' }}

@for ( item of vm?.pgs?.activeCleanChartReason; track item.state; let isLast = $last ) { @if (item.count) {

{{ item?.state }}: {{ item.count }} % @if (!item?.state?.includes('Scrub') && item?.state !== 'Remapped') { }

} } }
} @else { }