]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/blob
029bcc3f294047ecffd025b4482160bd386fba10
[ceph.git] /
1 <cd-tearsheet
2   [steps]="steps"
3   [title]="title"
4   [description]="description"
5   (submitRequested)="onSubmit()"
6   (closeRequested)="onCancel()">
7   <cd-tearsheet-step>
8     <form [formGroup]="form">
9       <div>
10         <div class="cds--type-heading-03"
11              i18n>Choose mirror peer role</div>
12         <p i18n>Select how the cluster will participate in the CephFS Mirroring relationship.</p>
13       </div>
14
15       <div cdsStack="horizontal">
16         <div class="cds-mr-5">
17           <cds-tile>
18             <cds-radio-group formControlName="localRole">
19               <cds-radio
20                 [value]="LOCAL_ROLE"
21                 [checked]="form.get('localRole')?.value === LOCAL_ROLE"
22                 (click)="onLocalRoleChange()">
23                 <div>
24                   <div class="cds--type-heading-compact-02"
25                        i18n>Configure local peer</div>
26                   <div class="cds--type-label-01 cds-mt-3"
27                        i18n>
28                     This cluster will act as the initiating peer and send snapshots to a remote
29                     peer.
30                   </div>
31                   <ul class="cds--type-body-compact-01 cds-mt-6">
32                     @for (item of sourceList; track $index) {
33                     <li class="cds-mb-6 cds-mt-3">&rarr; {{ item }}</li>
34                     }
35                   </ul>
36                 </div>
37               </cds-radio>
38             </cds-radio-group>
39           </cds-tile>
40         </div>
41         <cds-tile>
42           <cds-radio-group formControlName="remoteRole">
43             <cds-radio
44               [value]="REMOTE_ROLE"
45               [checked]="form.get('remoteRole')?.value === REMOTE_ROLE"
46               (click)="onRemoteRoleChange()">
47               <div>
48                 <div class="cds--type-heading-compact-02"
49                      i18n>Configure remote peer</div>
50                 <div class="cds--type-label-01 cds-mt-3"
51                      i18n>
52                   A remote cluster will act as the receiving peer and store replicated snapshots.
53                 </div>
54                 <ul class="cds--type-body-compact-01 cds-mt-6">
55                   @for (item of targetList; track $index) {
56                   <li class="cds-mb-6 cds-mt-3">&rarr; {{ item }}</li>
57                   }
58                 </ul>
59               </div>
60             </cds-radio>
61           </cds-radio-group>
62         </cds-tile>
63       </div>
64
65       @if (form.get('localRole')?.value !== LOCAL_ROLE && showMessage) {
66       <cd-alert-panel
67         type="info"
68         spacingClass="mb-3 mt-3"
69         dismissible="true"
70         (dismissed)="showMessage = false">
71         <div>
72           <div class="cds--type-heading-compact-01 cds-mb-2"
73                i18n>About Remote Peer Setup</div>
74           <div class="cds--type-body-compact-01 cds-mb-3"
75                i18n>
76             As a remote peer, this cluster prepares to receive mirrored data from an initiating
77             cluster. The setup includes environment validation, enabling filesystem mirroring,
78             creating required Ceph users, and generating a bootstrap token.
79           </div>
80           <div class="cds--type-heading-compact-01 cds-mb-1 cds-mt-6"
81                i18n>What happens next:</div>
82           <ul class="list-disc cds-ml-5 cds--type-body-compact-01">
83             <li i18n>Environment validation</li>
84             <li i18n>Ceph user creation</li>
85             <li i18n>Filesystem mirroring activation</li>
86             <li i18n>Bootstrap token generation</li>
87           </ul>
88         </div>
89       </cd-alert-panel>
90       }
91     </form>
92   </cd-tearsheet-step>
93
94   <!-- Step 1 -->
95   <cd-tearsheet-step>
96     <cd-cephfs-filesystem-selector>
97     </cd-cephfs-filesystem-selector>
98   </cd-tearsheet-step>
99
100   <!-- Step 2 -->
101   <cd-tearsheet-step>
102     <div>Test 2</div>
103   </cd-tearsheet-step>
104
105   <!-- Step 3 -->
106   <cd-tearsheet-step>
107     <div>
108       <p>Test3</p>
109     </div>
110   </cd-tearsheet-step>
111 </cd-tearsheet>