17
17
import React , { Fragment , useEffect , useState } from "react" ;
18
18
import PageHeader from "../../Common/PageHeader/PageHeader" ;
19
19
import PageLayout from "../../Common/Layout/PageLayout" ;
20
- import { Box , DialogContentText } from "@mui/material" ;
20
+ import { Box , DialogContentText , Grid } from "@mui/material" ;
21
21
import useApi from "../../Common/Hooks/useApi" ;
22
22
import ReplicationSites from "./ReplicationSites" ;
23
23
import TrashIcon from "../../../../icons/TrashIcon" ;
@@ -39,6 +39,7 @@ import {
39
39
setErrorSnackMessage ,
40
40
setSnackBarMessage ,
41
41
} from "../../../../systemSlice" ;
42
+ import AButton from "../../Common/AButton/AButton" ;
42
43
43
44
export type ReplicationSite = {
44
45
deploymentID : string ;
@@ -174,19 +175,46 @@ const SiteReplication = () => {
174
175
</ Box >
175
176
) : null }
176
177
{ ! hasSites && ! isSiteInfoLoading ? (
177
- < Box
178
- sx = { {
179
- padding : "30px" ,
180
- border : "1px solid #eaeaea" ,
181
- marginTop : "15px" ,
182
- marginBottom : "15px" ,
183
- height : "calc( 100vh - 450px )" ,
184
- } }
185
- >
186
- Site Replication is not configured.
187
- </ Box >
188
- ) : null }
178
+ < Grid
179
+ container
180
+ justifyContent = { "center" }
181
+ alignContent = { "center" }
182
+ alignItems = { "center" }
183
+ >
184
+ < Grid item xs = { 8 } >
185
+ < HelpBox
186
+ title = { "Site Replication" }
187
+ iconComponent = { < ClustersIcon /> }
188
+ help = {
189
+ < Fragment >
190
+ This feature allows multiple independent MinIO sites (or clusters) that are using the same external
191
+ IDentity Provider (IDP) to be configured as replicas.
192
+ < br />
193
+ < br />
194
+ To get started,{ " " }
195
+ < AButton
196
+ onClick = { ( ) => { history . push ( IAM_PAGES . SITE_REPLICATION_ADD ) ; } } >
197
+ Add a Replication Site
198
+ </ AButton > .
189
199
200
+ < br />
201
+ You can learn more at our{ " " }
202
+ < a
203
+ href = "https://github.com/minio/minio/tree/master/docs/site-replication?ref=con"
204
+ target = "_blank"
205
+ rel = "noreferrer"
206
+ >
207
+ documentation
208
+ </ a >
209
+ .
210
+ </ Fragment >
211
+ }
212
+ />
213
+ </ Grid >
214
+ </ Grid >
215
+
216
+ ) : null }
217
+ { hasSites && ! isSiteInfoLoading ? (
190
218
< HelpBox
191
219
title = { "Site Replication" }
192
220
iconComponent = { < ClustersIcon /> }
@@ -196,30 +224,21 @@ const SiteReplication = () => {
196
224
that are using the same external IDentity Provider (IDP) to be
197
225
configured as replicas. In this situation the set of replica sites
198
226
are referred to as peer sites or just sites.
199
- < br />
200
- < Box >
201
- < ul >
202
- < li >
203
- Initially, only one of the sites added for replication may
204
- have data. After site-replication is successfully
205
- configured, this data is replicated to the other (initially
206
- empty) sites. Subsequently, objects may be written to any of
207
- the sites, and they will be replicated to all other sites.
208
- </ li >
209
- < li >
210
- All sites must have the same deployment credentials (i.e.
211
- MINIO_ROOT_USER, MINIO_ROOT_PASSWORD).
212
- </ li >
213
- < li >
214
- All sites must be using the same external IDP(s) if any.
215
- </ li >
216
- < li >
217
- For SSE-S3 or SSE-KMS encryption via KMS, all sites must
218
- have access to a central KMS deployment. server.
219
- </ li >
220
- </ ul >
221
- </ Box >
222
- < br />
227
+ < br /> < br />
228
+ Initially, only one of the sites added for replication may
229
+ have data. After site-replication is successfully
230
+ configured, this data is replicated to the other (initially
231
+ empty) sites. Subsequently, objects may be written to any of
232
+ the sites, and they will be replicated to all other sites.
233
+ < br /> < br />
234
+ All sites must have the same deployment credentials (i.e.
235
+ MINIO_ROOT_USER, MINIO_ROOT_PASSWORD).
236
+ < br /> < br />
237
+ All sites must be using the same external IDP(s) if any.
238
+ < br /> < br />
239
+ For SSE-S3 or SSE-KMS encryption via KMS, all sites must
240
+ have access to a central KMS deployment server.
241
+ < br /> < br />
223
242
You can learn more at our{ " " }
224
243
< a
225
244
href = "https://github.com/minio/minio/tree/master/docs/site-replication?ref=con"
@@ -232,6 +251,7 @@ const SiteReplication = () => {
232
251
</ Fragment >
233
252
}
234
253
/>
254
+ ) : null }
235
255
236
256
{ deleteAll ? (
237
257
< ConfirmDialog
0 commit comments