]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/blob
ac27f336ddafe19236dd5f56de93ad9984309528
[ceph.git] /
1 @let data=(data$ | async);
2 @let colorClass="overview-health-card-status--" + data?.currentHealth?.icon;
3 <cd-productive-card>
4   <!-- HEALTH CARD Title -->
5   @if(fsid) {
6   <ng-template #header>
7     <div class="overview-health-card-header">
8       <div class="cds-mb-4 cds-mr-3"><cd-icon type="dataCenter"></cd-icon></div>
9       <h2
10         class="cds--type-heading-compact-02"
11         id="fsid">
12         <span>{{fsid}}</span>
13       </h2>
14       <cd-copy-2-clipboard-button
15         size="sm"
16         source="fsid"></cd-copy-2-clipboard-button>
17     </div>
18     <cds-icon-button
19       type="button"
20       kind="ghost"
21       size="sm"
22       description="Check logs"
23       i18n-description
24       [routerLink]="['/logs']">
25       <cd-icon type="dataViewAlt"></cd-icon>
26     </cds-icon-button>
27   </ng-template>
28   } @else {
29   <cds-skeleton-text
30     [lines]="1"
31     [maxLineWidth]="400"
32     [minLineWidth]="400"></cds-skeleton-text>
33   }
34   <!-- HEALTH CARD BODY -->
35   @if(data?.currentHealth){
36   <p class="cds--type-heading-05 cds-mb-0"
37      [ngClass]="colorClass">
38     {{data?.currentHealth?.title}}
39     <cd-icon [type]="data?.currentHealth?.icon"></cd-icon>
40   </p>
41   <p class="cds--type-label-01">{{data?.currentHealth?.message}}</p>
42   } @else {
43   <cds-skeleton-placeholder></cds-skeleton-placeholder>
44   }
45
46   @if(data?.summary?.version) {
47   <!-- CEPH VERSION -->
48   <p class="cds--type-label-02">
49     <span i18n>Ceph version:&nbsp;</span>
50     <span class="cds--type-heading-compact-01">{{ data?.summary?.version | cephVersion  }}</span>&nbsp;
51     @if (data?.upgrade?.versions?.length) {
52     <a [routerLink]="['/upgrade']"
53        cdsLink
54        [inline]="true"
55        i18n>
56       Upgrade available
57       <cd-icon type="upgrade"></cd-icon>
58     </a>
59     }
60   </p>
61   } @else {
62   <cds-skeleton-text
63     [lines]="1"
64     [maxLineWidth]="250"></cds-skeleton-text>
65   }
66   <!-- ------------------------------------------- -->
67   <!-- HEALTH CHECKS -->
68    @if(incidents > 0) {
69   <cd-icon
70     type="incidentReporter"
71     [ngClass]="colorClass"></cd-icon>
72   <cds-tooltip-definition
73     [highContrast]="true"
74     [openOnHover]="true"
75     [dropShadow]="true"
76     [caret]="true"
77     (click)="onViewIncidentsClick()"
78     description="Click to view health incidents"
79     i18n-description>
80     <span
81       class="cds--type-heading-compact-01"
82       [ngClass]="colorClass"
83       i18n>
84       {{incidents}} Health incidents
85     </span>
86   </cds-tooltip-definition>
87   <cds-tooltip
88     class="cds-ml-3"
89     [caret]="true"
90     description="Health incidents represent Ceph health check warnings that indicate abnormal conditions requiring intervention and persist until the condition is resolved."
91     i8n-description
92   >
93   <cd-icon type="help"></cd-icon>
94 </cds-tooltip>
95 }
96 </cd-productive-card>