Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06af416642 | ||
|
|
01920841d2 | ||
|
|
78aceb2b53 | ||
|
|
dce9bbd046 | ||
|
|
9f4573ade8 | ||
|
|
24af63da42 |
15
CHANGELOG.md
15
CHANGELOG.md
@@ -1,7 +1,18 @@
|
||||
<!-- @format -->
|
||||
|
||||
# Changelog
|
||||
|
||||
## Release v1.7.2
|
||||
|
||||
Bug Fix:
|
||||
|
||||
- Fixed issue in Server Health Info
|
||||
- Fixed Security vulnerability in dependencies
|
||||
- Fixed client string in trace message
|
||||
|
||||
Additional Changes:
|
||||
|
||||
- Remove live logs in Call Home Page
|
||||
- Update License page
|
||||
|
||||
## Release v1.7.1
|
||||
|
||||
Bug Fix:
|
||||
|
||||
@@ -146,8 +146,7 @@ func shortTrace(info *madmin.ServiceTraceInfo) shortTraceMsg {
|
||||
if host, ok := t.HTTP.ReqInfo.Headers["Host"]; ok {
|
||||
s.Host = strings.Join(host, "")
|
||||
}
|
||||
cSlice := strings.Split(t.HTTP.ReqInfo.Client, ":")
|
||||
s.Client = cSlice[0]
|
||||
s.Client = t.HTTP.ReqInfo.Client
|
||||
}
|
||||
|
||||
return s
|
||||
|
||||
@@ -383,22 +383,17 @@ func (ac AdminClient) serverHealthInfo(ctx context.Context, deadline time.Durati
|
||||
info := madmin.HealthInfo{}
|
||||
var healthInfo interface{}
|
||||
var version string
|
||||
var tryCount int
|
||||
for info.Version == "" && tryCount < 10 {
|
||||
var resp *http.Response
|
||||
var err error
|
||||
resp, version, err = ac.Client.ServerHealthInfo(ctx, madmin.HealthDataTypesList, deadline, "")
|
||||
if err != nil {
|
||||
return nil, version, err
|
||||
var resp *http.Response
|
||||
var err error
|
||||
resp, version, err = ac.Client.ServerHealthInfo(ctx, madmin.HealthDataTypesList, deadline, "")
|
||||
if err != nil {
|
||||
return nil, version, err
|
||||
}
|
||||
decoder := json.NewDecoder(resp.Body)
|
||||
for {
|
||||
if err = decoder.Decode(&info); err != nil {
|
||||
break
|
||||
}
|
||||
decoder := json.NewDecoder(resp.Body)
|
||||
for {
|
||||
if err = decoder.Decode(&info); err != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
tryCount++
|
||||
time.Sleep(2 * time.Second)
|
||||
}
|
||||
if info.Version == "" {
|
||||
return nil, "", ErrHealthReportFail
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"files": {
|
||||
"main.css": "./static/css/main.e60e4760.css",
|
||||
"main.js": "./static/js/main.13652d0f.js",
|
||||
"main.js": "./static/js/main.7830da11.js",
|
||||
"static/js/5301.79001158.chunk.js": "./static/js/5301.79001158.chunk.js",
|
||||
"static/js/9361.ce3b326c.chunk.js": "./static/js/9361.ce3b326c.chunk.js",
|
||||
"static/js/843.791dd143.chunk.js": "./static/js/843.791dd143.chunk.js",
|
||||
@@ -16,7 +16,7 @@
|
||||
"static/js/6164.8759ced6.chunk.js": "./static/js/6164.8759ced6.chunk.js",
|
||||
"static/js/2372.d67d02b5.chunk.js": "./static/js/2372.d67d02b5.chunk.js",
|
||||
"static/js/1324.71a25603.chunk.js": "./static/js/1324.71a25603.chunk.js",
|
||||
"static/js/5693.741d3c68.chunk.js": "./static/js/5693.741d3c68.chunk.js",
|
||||
"static/js/5693.42442779.chunk.js": "./static/js/5693.42442779.chunk.js",
|
||||
"static/js/5872.62eb672b.chunk.js": "./static/js/5872.62eb672b.chunk.js",
|
||||
"static/js/6758.c83201ee.chunk.js": "./static/js/6758.c83201ee.chunk.js",
|
||||
"static/js/755.ac098541.chunk.js": "./static/js/755.ac098541.chunk.js",
|
||||
@@ -33,7 +33,7 @@
|
||||
"static/js/7041.cfb08b62.chunk.js": "./static/js/7041.cfb08b62.chunk.js",
|
||||
"static/js/2138.7ef0755e.chunk.js": "./static/js/2138.7ef0755e.chunk.js",
|
||||
"static/js/5699.6a74f983.chunk.js": "./static/js/5699.6a74f983.chunk.js",
|
||||
"static/js/5153.24546201.chunk.js": "./static/js/5153.24546201.chunk.js",
|
||||
"static/js/5153.c7e382fa.chunk.js": "./static/js/5153.c7e382fa.chunk.js",
|
||||
"static/js/7052.37bcb35a.chunk.js": "./static/js/7052.37bcb35a.chunk.js",
|
||||
"static/js/144.45106af8.chunk.js": "./static/js/144.45106af8.chunk.js",
|
||||
"static/js/5978.e6638d0b.chunk.js": "./static/js/5978.e6638d0b.chunk.js",
|
||||
@@ -91,7 +91,7 @@
|
||||
"static/js/5079.118cae1f.chunk.js": "./static/js/5079.118cae1f.chunk.js",
|
||||
"static/js/4581.41480fcf.chunk.js": "./static/js/4581.41480fcf.chunk.js",
|
||||
"static/js/6016.2a05d7e1.chunk.js": "./static/js/6016.2a05d7e1.chunk.js",
|
||||
"static/js/2346.b8159dba.chunk.js": "./static/js/2346.b8159dba.chunk.js",
|
||||
"static/js/2346.9d72333b.chunk.js": "./static/js/2346.9d72333b.chunk.js",
|
||||
"static/js/1195.955963a0.chunk.js": "./static/js/1195.955963a0.chunk.js",
|
||||
"static/js/1011.925632a1.chunk.js": "./static/js/1011.925632a1.chunk.js",
|
||||
"static/media/videoBG.mp4": "./static/media/videoBG.17363418b3c2246a0e27.mp4",
|
||||
@@ -117,7 +117,7 @@
|
||||
"static/media/placeholderimage.png": "./static/media/placeholderimage.077ea48bd1ef1f4a883f.png",
|
||||
"index.html": "./index.html",
|
||||
"main.e60e4760.css.map": "./static/css/main.e60e4760.css.map",
|
||||
"main.13652d0f.js.map": "./static/js/main.13652d0f.js.map",
|
||||
"main.7830da11.js.map": "./static/js/main.7830da11.js.map",
|
||||
"5301.79001158.chunk.js.map": "./static/js/5301.79001158.chunk.js.map",
|
||||
"9361.ce3b326c.chunk.js.map": "./static/js/9361.ce3b326c.chunk.js.map",
|
||||
"843.791dd143.chunk.js.map": "./static/js/843.791dd143.chunk.js.map",
|
||||
@@ -132,7 +132,7 @@
|
||||
"6164.8759ced6.chunk.js.map": "./static/js/6164.8759ced6.chunk.js.map",
|
||||
"2372.d67d02b5.chunk.js.map": "./static/js/2372.d67d02b5.chunk.js.map",
|
||||
"1324.71a25603.chunk.js.map": "./static/js/1324.71a25603.chunk.js.map",
|
||||
"5693.741d3c68.chunk.js.map": "./static/js/5693.741d3c68.chunk.js.map",
|
||||
"5693.42442779.chunk.js.map": "./static/js/5693.42442779.chunk.js.map",
|
||||
"5872.62eb672b.chunk.js.map": "./static/js/5872.62eb672b.chunk.js.map",
|
||||
"6758.c83201ee.chunk.js.map": "./static/js/6758.c83201ee.chunk.js.map",
|
||||
"755.ac098541.chunk.js.map": "./static/js/755.ac098541.chunk.js.map",
|
||||
@@ -149,7 +149,7 @@
|
||||
"7041.cfb08b62.chunk.js.map": "./static/js/7041.cfb08b62.chunk.js.map",
|
||||
"2138.7ef0755e.chunk.js.map": "./static/js/2138.7ef0755e.chunk.js.map",
|
||||
"5699.6a74f983.chunk.js.map": "./static/js/5699.6a74f983.chunk.js.map",
|
||||
"5153.24546201.chunk.js.map": "./static/js/5153.24546201.chunk.js.map",
|
||||
"5153.c7e382fa.chunk.js.map": "./static/js/5153.c7e382fa.chunk.js.map",
|
||||
"7052.37bcb35a.chunk.js.map": "./static/js/7052.37bcb35a.chunk.js.map",
|
||||
"144.45106af8.chunk.js.map": "./static/js/144.45106af8.chunk.js.map",
|
||||
"5978.e6638d0b.chunk.js.map": "./static/js/5978.e6638d0b.chunk.js.map",
|
||||
@@ -207,12 +207,12 @@
|
||||
"5079.118cae1f.chunk.js.map": "./static/js/5079.118cae1f.chunk.js.map",
|
||||
"4581.41480fcf.chunk.js.map": "./static/js/4581.41480fcf.chunk.js.map",
|
||||
"6016.2a05d7e1.chunk.js.map": "./static/js/6016.2a05d7e1.chunk.js.map",
|
||||
"2346.b8159dba.chunk.js.map": "./static/js/2346.b8159dba.chunk.js.map",
|
||||
"2346.9d72333b.chunk.js.map": "./static/js/2346.9d72333b.chunk.js.map",
|
||||
"1195.955963a0.chunk.js.map": "./static/js/1195.955963a0.chunk.js.map",
|
||||
"1011.925632a1.chunk.js.map": "./static/js/1011.925632a1.chunk.js.map"
|
||||
},
|
||||
"entrypoints": [
|
||||
"static/css/main.e60e4760.css",
|
||||
"static/js/main.13652d0f.js"
|
||||
"static/js/main.7830da11.js"
|
||||
]
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="/"/><meta content="width=device-width,initial-scale=1" name="viewport"/><meta content="#081C42" media="(prefers-color-scheme: light)" name="theme-color"/><meta content="#081C42" media="(prefers-color-scheme: dark)" name="theme-color"/><meta content="MinIO Console" name="description"/><meta name="minio-license" content="agpl"/><link href="./styles/root-styles.css" rel="stylesheet"/><link href="./apple-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"/><link href="./favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="./favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="./favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="./manifest.json" rel="manifest"/><link color="#3a4e54" href="./safari-pinned-tab.svg" rel="mask-icon"/><title>MinIO Console</title><script defer="defer" src="./static/js/main.13652d0f.js"></script><link href="./static/css/main.e60e4760.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"><div id="preload"><img src="./images/background.svg"/> <img src="./images/background-wave-orig2.svg"/></div><div id="loader-block"><img src="./Loader.svg"/></div></div></body></html>
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="/"/><meta content="width=device-width,initial-scale=1" name="viewport"/><meta content="#081C42" media="(prefers-color-scheme: light)" name="theme-color"/><meta content="#081C42" media="(prefers-color-scheme: dark)" name="theme-color"/><meta content="MinIO Console" name="description"/><meta name="minio-license" content="agpl"/><link href="./styles/root-styles.css" rel="stylesheet"/><link href="./apple-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"/><link href="./favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="./favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="./favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="./manifest.json" rel="manifest"/><link color="#3a4e54" href="./safari-pinned-tab.svg" rel="mask-icon"/><title>MinIO Console</title><script defer="defer" src="./static/js/main.7830da11.js"></script><link href="./static/css/main.e60e4760.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"><div id="preload"><img src="./images/background.svg"/> <img src="./images/background-wave-orig2.svg"/></div><div id="loader-block"><img src="./Loader.svg"/></div></div></body></html>
|
||||
3
web-app/build/static/js/2346.9d72333b.chunk.js
Normal file
3
web-app/build/static/js/2346.9d72333b.chunk.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
web-app/build/static/js/5153.c7e382fa.chunk.js
Normal file
2
web-app/build/static/js/5153.c7e382fa.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
web-app/build/static/js/5153.c7e382fa.chunk.js.map
Normal file
1
web-app/build/static/js/5153.c7e382fa.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
2
web-app/build/static/js/5693.42442779.chunk.js
Normal file
2
web-app/build/static/js/5693.42442779.chunk.js
Normal file
File diff suppressed because one or more lines are too long
1
web-app/build/static/js/5693.42442779.chunk.js.map
Normal file
1
web-app/build/static/js/5693.42442779.chunk.js.map
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
3
web-app/build/static/js/main.7830da11.js
Normal file
3
web-app/build/static/js/main.7830da11.js
Normal file
File diff suppressed because one or more lines are too long
1
web-app/build/static/js/main.7830da11.js.map
Normal file
1
web-app/build/static/js/main.7830da11.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -93,8 +93,11 @@
|
||||
"nth-check": "^2.0.1",
|
||||
"yaml": "^2.4.2",
|
||||
"postcss": "^8.4.38",
|
||||
"fast-xml-parser": "^4.3.6",
|
||||
"semver": "^7.5.2"
|
||||
"fast-xml-parser": "^4.5.0",
|
||||
"semver": "^7.5.2",
|
||||
"ws": "^8.17.1",
|
||||
"rollup": "^4.24.0",
|
||||
"cookie": "^0.7.2"
|
||||
},
|
||||
"main": "index.js",
|
||||
"packageManager": "yarn@4.4.0"
|
||||
|
||||
@@ -127,7 +127,7 @@ const License = () => {
|
||||
return (
|
||||
<Fragment>
|
||||
<PageHeaderWrapper
|
||||
label="MinIO License and Support plans"
|
||||
label="MinIO License and Support Plan"
|
||||
actions={
|
||||
<Fragment>
|
||||
{!isRegistered && (
|
||||
|
||||
@@ -32,13 +32,14 @@ interface IRegisterStatus {
|
||||
|
||||
const LicensesInformation = styled.div(({ theme }) => ({
|
||||
display: "grid",
|
||||
gridTemplateColumns: "repeat(4, minmax(350px, 400px));",
|
||||
justifyContent: "flex-start",
|
||||
gridTemplateColumns: "repeat(1, minmax(350px, 400px));",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
marginTop: 30,
|
||||
marginLeft: 30,
|
||||
"& > div": {
|
||||
borderBottom: `${get(theme, "borderColor", "#EAEAEA")} 1px solid`,
|
||||
padding: "25px 40px",
|
||||
padding: "13px 20px",
|
||||
justifyContent: "center",
|
||||
"&.openSource": {
|
||||
borderRight: `#002562 2px solid`,
|
||||
@@ -152,76 +153,94 @@ const LicensePlans = ({ licenseInfo }: IRegisterStatus) => {
|
||||
};
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<LicensesInformation>
|
||||
{[null, ...LICENSE_PLANS_INFORMATION].map((element, index) => {
|
||||
return (
|
||||
<Box className={`${index === 1 ? "openSource first" : ""}`}>
|
||||
{element !== null && (
|
||||
<Box>
|
||||
<Box className={"planName"}>{element.planName}</Box>
|
||||
<Box
|
||||
className={`planIcon ${
|
||||
element.planType === "commercial" ? "commercial" : ""
|
||||
}`}
|
||||
>
|
||||
{element?.planIcon}
|
||||
</Box>
|
||||
<Box className={"planDescription"}>
|
||||
{element?.planDescription}
|
||||
</Box>
|
||||
<LicensesInformation>
|
||||
{[null, ...LICENSE_PLANS_INFORMATION].map((element, index) => {
|
||||
return (
|
||||
<Box
|
||||
key={`${element?.planType}-${index}`}
|
||||
className={`${index === 1 ? "openSource first" : ""}`}
|
||||
>
|
||||
{element !== null && (
|
||||
<Box>
|
||||
<Box className={"planName"}>{element.planName}</Box>
|
||||
<Box
|
||||
className={`planIcon ${
|
||||
element.planType === "commercial" ? "commercial" : ""
|
||||
}`}
|
||||
>
|
||||
{element?.planIcon}
|
||||
</Box>
|
||||
<Box className={"planDescription"}>
|
||||
{element?.planDescription}
|
||||
</Box>
|
||||
)}
|
||||
</Box>
|
||||
);
|
||||
})}
|
||||
{FEATURE_ITEMS.map((feature, index) => {
|
||||
const lastItem =
|
||||
index === FEATURE_ITEMS.length - 1 ? "noBorderBottom" : "";
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<Box className={`feature-label ${lastItem}`}>
|
||||
{feature.featureLabel}
|
||||
</Box>
|
||||
<Box className={`feature-information openSource ${lastItem}`}>
|
||||
{renderFeatureInformation(
|
||||
feature.featurePlans.openSource || null,
|
||||
)}
|
||||
</Box>
|
||||
<Box className={`feature-information ${lastItem}`}>
|
||||
{renderFeatureInformation(feature.featurePlans.eosLite || null)}
|
||||
</Box>
|
||||
<Box className={`feature-information ${lastItem}`}>
|
||||
{renderFeatureInformation(feature.featurePlans.eosPlus || null)}
|
||||
</Box>
|
||||
</Fragment>
|
||||
);
|
||||
})}
|
||||
{[null, ...LICENSE_PLANS_INFORMATION].map((element, index) => {
|
||||
return (
|
||||
<Box
|
||||
className={`${
|
||||
index === 1 ? "openSource last" : ""
|
||||
} noBorderBottom`}
|
||||
sx={{
|
||||
display: "flex",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
{element &&
|
||||
getButton(
|
||||
`https://min.io/signup`,
|
||||
element.planType === "commercial"
|
||||
? "Subscribe"
|
||||
: "Join Slack",
|
||||
element.planType === "commercial" ? "callAction" : "regular",
|
||||
)}
|
||||
</Box>
|
||||
);
|
||||
})}
|
||||
</LicensesInformation>
|
||||
</Fragment>
|
||||
)}
|
||||
</Box>
|
||||
);
|
||||
})}
|
||||
{FEATURE_ITEMS.map((feature, index) => {
|
||||
return (
|
||||
<Box
|
||||
key={`${feature.featureLabel}-${index}`}
|
||||
className={`feature-information`}
|
||||
sx={{
|
||||
display: "flex",
|
||||
borderLeft: `#002562 2px solid`,
|
||||
borderRight: `#002562 2px solid`,
|
||||
flexDirection: "column",
|
||||
gap: "10px",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<Box className={`feature-label `}>{feature.featureLabel}</Box>
|
||||
{renderFeatureInformation(feature.featurePlans.eosPlus || null)}
|
||||
</Box>
|
||||
);
|
||||
})}
|
||||
{[...LICENSE_PLANS_INFORMATION].map((element) => {
|
||||
return element && currentPlan === "community" ? (
|
||||
<div
|
||||
key="plan-subscribe-btn"
|
||||
style={{
|
||||
borderLeft: `#002562 2px solid`,
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
borderRight: `#002562 2px solid`,
|
||||
borderBottom: `#002562 2px solid`,
|
||||
borderBottomLeftRadius: "10px",
|
||||
borderBottomRightRadius: "10px",
|
||||
}}
|
||||
>
|
||||
{getButton(
|
||||
`https://min.io/signup`,
|
||||
element.planType === "commercial" ? "Subscribe" : "Join Slack",
|
||||
element.planType === "commercial" ? "callAction" : "regular",
|
||||
)}
|
||||
</div>
|
||||
) : (
|
||||
<div
|
||||
key="plan-subscribe-btn-1"
|
||||
style={{
|
||||
borderLeft: `#002562 2px solid`,
|
||||
display: "flex",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
borderRight: `#002562 2px solid`,
|
||||
borderBottom: `#002562 2px solid`,
|
||||
borderBottomLeftRadius: "10px",
|
||||
borderBottomRightRadius: "10px",
|
||||
}}
|
||||
>
|
||||
{getButton(
|
||||
`https://subnet.min.io/`,
|
||||
"Log in to SUBNET",
|
||||
"callAction",
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</LicensesInformation>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -41,28 +41,16 @@ interface PlansFeatures {
|
||||
|
||||
export const FEATURE_ITEMS: PlansFeatures[] = [
|
||||
{
|
||||
featureLabel: "License",
|
||||
featureLabel: "",
|
||||
featurePlans: {
|
||||
openSource: {
|
||||
content: "Requires AGPLv3 License Compliance",
|
||||
},
|
||||
eosLite: {
|
||||
content: "Commercial License",
|
||||
},
|
||||
eosPlus: {
|
||||
content: "Commercial License",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
featureLabel: "Release",
|
||||
featureLabel: "",
|
||||
featurePlans: {
|
||||
openSource: {
|
||||
content: "Upstream Community Release",
|
||||
},
|
||||
eosLite: {
|
||||
content: "Enterprise Stable Release",
|
||||
},
|
||||
eosPlus: {
|
||||
content: "Enterprise Stable Release",
|
||||
},
|
||||
@@ -71,13 +59,6 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
|
||||
{
|
||||
featureLabel: "Additional Features",
|
||||
featurePlans: {
|
||||
openSource: {
|
||||
content: "None",
|
||||
},
|
||||
eosLite: {
|
||||
content:
|
||||
"Global Console, Observability, Cache, Data Firewall, Key Management Server Catalog",
|
||||
},
|
||||
eosPlus: {
|
||||
content:
|
||||
"Global Console, Observability, Cache, Data Firewall, Key Management Server Catalog",
|
||||
@@ -87,12 +68,6 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
|
||||
{
|
||||
featureLabel: "Long Term Release Support",
|
||||
featurePlans: {
|
||||
openSource: {
|
||||
content: "None",
|
||||
},
|
||||
eosLite: {
|
||||
content: "1 year LTS",
|
||||
},
|
||||
eosPlus: {
|
||||
content: "5 years LTS",
|
||||
},
|
||||
@@ -101,26 +76,14 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
|
||||
{
|
||||
featureLabel: "Support SLA",
|
||||
featurePlans: {
|
||||
openSource: {
|
||||
content: "No SLA",
|
||||
},
|
||||
eosLite: {
|
||||
content: "Next Business Day SLA",
|
||||
},
|
||||
eosPlus: {
|
||||
content: "Less than 4 Hour SLA",
|
||||
content: "Less than 4 Hours",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
featureLabel: "Panic button",
|
||||
featurePlans: {
|
||||
openSource: {
|
||||
content: "None",
|
||||
},
|
||||
eosLite: {
|
||||
content: "1 Panic Button Per Year",
|
||||
},
|
||||
eosPlus: {
|
||||
content: "Unlimited Panic Buttons Per Year",
|
||||
},
|
||||
@@ -130,13 +93,6 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
|
||||
featureLabel:
|
||||
"Call Home Diagnostics, Health Check, Performance Benchmark, Security and Critical Vulnerabilities Notifications",
|
||||
featurePlans: {
|
||||
openSource: {
|
||||
content: "",
|
||||
},
|
||||
eosLite: {
|
||||
content: "",
|
||||
isCheck: true,
|
||||
},
|
||||
eosPlus: {
|
||||
content: "",
|
||||
isCheck: true,
|
||||
@@ -146,12 +102,6 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
|
||||
{
|
||||
featureLabel: "Indemnification",
|
||||
featurePlans: {
|
||||
openSource: {
|
||||
content: "",
|
||||
},
|
||||
eosLite: {
|
||||
content: "",
|
||||
},
|
||||
eosPlus: {
|
||||
content: "",
|
||||
isCheck: true,
|
||||
@@ -161,12 +111,6 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
|
||||
{
|
||||
featureLabel: "Annual Review of Architecture, Performance and Security",
|
||||
featurePlans: {
|
||||
openSource: {
|
||||
content: "",
|
||||
},
|
||||
eosLite: {
|
||||
content: "",
|
||||
},
|
||||
eosPlus: {
|
||||
content: "",
|
||||
isCheck: true,
|
||||
@@ -176,40 +120,9 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
|
||||
];
|
||||
|
||||
export const LICENSE_PLANS_INFORMATION: LicensePlanOption[] = [
|
||||
{
|
||||
planId: "openSource",
|
||||
planName: "Open Source",
|
||||
planType: "open-source",
|
||||
planIcon: (
|
||||
<ApplicationLogo applicationName={"console"} subVariant={"AGPL"} />
|
||||
),
|
||||
planDescription: (
|
||||
<span>
|
||||
Designed for developers who are building open source applications in
|
||||
compliance with the GNU AGPL v3 license which requires developers to
|
||||
distribute their code under the same AGPL v3 license when they
|
||||
distribute, host or modify MinIO.
|
||||
</span>
|
||||
),
|
||||
},
|
||||
{
|
||||
planId: "eosLite",
|
||||
planName: "Enterprise Lite",
|
||||
planType: "commercial",
|
||||
planIcon: (
|
||||
<ApplicationLogo applicationName={"minio"} subVariant={"enterpriseos"} />
|
||||
),
|
||||
planDescription: (
|
||||
<span>
|
||||
Designed for customers who require a commercial license and can mostly
|
||||
self-support but want the peace of mind that comes with an
|
||||
engineer-backend SLA, additional features and operational capabilities.
|
||||
</span>
|
||||
),
|
||||
},
|
||||
{
|
||||
planId: "eosPlus",
|
||||
planName: "Enterprise Plus",
|
||||
planName: "Enterprise",
|
||||
planType: "commercial",
|
||||
planIcon: (
|
||||
<ApplicationLogo applicationName={"minio"} subVariant={"enterpriseos"} />
|
||||
@@ -217,9 +130,9 @@ export const LICENSE_PLANS_INFORMATION: LicensePlanOption[] = [
|
||||
planDescription: (
|
||||
<span>
|
||||
Designed for customers where a commercial license and the
|
||||
strictest,engineer-backed SLA are required. The Plus tiers offers
|
||||
additional features and operational capabilities, more interaction
|
||||
options and more enterprise deliverables.
|
||||
strictest,engineer-backed SLA are required. It offers additional
|
||||
features and operational capabilities, more interaction options and more
|
||||
enterprise deliverables.
|
||||
</span>
|
||||
),
|
||||
},
|
||||
|
||||
@@ -45,8 +45,6 @@ const CallHome = () => {
|
||||
const [showConfirmation, setShowConfirmation] = useState<boolean>(false);
|
||||
const [diagEnabled, setDiagEnabled] = useState<boolean>(false);
|
||||
const [oDiagEnabled, setODiagEnabled] = useState<boolean>(false);
|
||||
const [oLogsEnabled, setOLogsEnabled] = useState<boolean>(false);
|
||||
const [logsEnabled, setLogsEnabled] = useState<boolean>(false);
|
||||
const [disableMode, setDisableMode] = useState<boolean>(false);
|
||||
|
||||
const clusterRegistered = registeredCluster();
|
||||
@@ -59,10 +57,8 @@ const CallHome = () => {
|
||||
setLoading(false);
|
||||
|
||||
setDiagEnabled(!!res.diagnosticsStatus);
|
||||
setLogsEnabled(!!res.logsStatus);
|
||||
|
||||
setODiagEnabled(!!res.diagnosticsStatus);
|
||||
setOLogsEnabled(!!res.logsStatus);
|
||||
})
|
||||
.catch((err: ErrorResponseHandler) => {
|
||||
setLoading(false);
|
||||
@@ -94,10 +90,7 @@ const CallHome = () => {
|
||||
|
||||
let mainVariant: "regular" | "callAction" = "regular";
|
||||
|
||||
if (
|
||||
clusterRegistered &&
|
||||
(diagEnabled !== oDiagEnabled || logsEnabled !== oLogsEnabled)
|
||||
) {
|
||||
if (clusterRegistered && diagEnabled !== oDiagEnabled) {
|
||||
mainVariant = "callAction";
|
||||
}
|
||||
|
||||
@@ -112,7 +105,6 @@ const CallHome = () => {
|
||||
<CallHomeConfirmation
|
||||
onClose={callHomeClose}
|
||||
open={showConfirmation}
|
||||
logsStatus={logsEnabled}
|
||||
diagStatus={diagEnabled}
|
||||
disable={disableMode}
|
||||
/>
|
||||
@@ -178,20 +170,6 @@ const CallHome = () => {
|
||||
"Daily Health Report enables you to proactively identify potential issues in your deployment before they escalate."
|
||||
}
|
||||
/>
|
||||
<Switch
|
||||
value="enableLogs"
|
||||
id="enableLogs"
|
||||
name="enableLogs"
|
||||
checked={logsEnabled}
|
||||
onChange={(event: React.ChangeEvent<HTMLInputElement>) => {
|
||||
setLogsEnabled(event.target.checked);
|
||||
}}
|
||||
label={"Live Error Logs"}
|
||||
disabled={!clusterRegistered}
|
||||
description={
|
||||
"Live Error Logs will enable MinIO's support team and automatic diagnostics system to catch failures early."
|
||||
}
|
||||
/>
|
||||
<Box
|
||||
sx={{
|
||||
display: "flex",
|
||||
@@ -201,7 +179,7 @@ const CallHome = () => {
|
||||
gap: "0px 10px",
|
||||
}}
|
||||
>
|
||||
{(oDiagEnabled || oLogsEnabled) && (
|
||||
{oDiagEnabled && (
|
||||
<Button
|
||||
id={"callhome-action"}
|
||||
variant={"secondary"}
|
||||
|
||||
@@ -28,14 +28,12 @@ interface ICallHomeConfirmation {
|
||||
onClose: (refresh: boolean) => any;
|
||||
open: boolean;
|
||||
diagStatus: boolean;
|
||||
logsStatus: boolean;
|
||||
disable?: boolean;
|
||||
}
|
||||
|
||||
const CallHomeConfirmation = ({
|
||||
onClose,
|
||||
diagStatus,
|
||||
logsStatus,
|
||||
open,
|
||||
disable = false,
|
||||
}: ICallHomeConfirmation) => {
|
||||
@@ -48,7 +46,7 @@ const CallHomeConfirmation = ({
|
||||
api
|
||||
.invoke("PUT", `/api/v1/support/callhome`, {
|
||||
diagState: disable ? false : diagStatus,
|
||||
logsState: disable ? false : logsStatus,
|
||||
logsState: false,
|
||||
})
|
||||
.then((res: ICallHomeResponse) => {
|
||||
dispatch(setSnackBarMessage("Configuration saved successfully"));
|
||||
@@ -140,15 +138,6 @@ const CallHomeConfirmation = ({
|
||||
Diagnostics Information to SUBNET
|
||||
</span>
|
||||
</Grid>
|
||||
<Grid item sx={{ display: "flex", alignItems: "center", gap: 10 }}>
|
||||
<CircleIcon
|
||||
style={{ fill: logsStatus ? "#4CCB92" : "#C83B51", width: 20 }}
|
||||
/>
|
||||
<span>
|
||||
<strong>{logsStatus ? "Enable" : "Disable"}</strong> - Send Logs
|
||||
Information to SUBNET
|
||||
</span>
|
||||
</Grid>
|
||||
</Grid>
|
||||
<Grid item xs={12} sx={{ margin: "15px 0" }}>
|
||||
Please Acknowledge that the information provided will only be
|
||||
|
||||
@@ -2718,6 +2718,118 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-android-arm-eabi@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-android-arm-eabi@npm:4.24.0"
|
||||
conditions: os=android & cpu=arm
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-android-arm64@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-android-arm64@npm:4.24.0"
|
||||
conditions: os=android & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-darwin-arm64@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-darwin-arm64@npm:4.24.0"
|
||||
conditions: os=darwin & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-darwin-x64@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-darwin-x64@npm:4.24.0"
|
||||
conditions: os=darwin & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-linux-arm-gnueabihf@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.24.0"
|
||||
conditions: os=linux & cpu=arm & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-linux-arm-musleabihf@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.24.0"
|
||||
conditions: os=linux & cpu=arm & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-linux-arm64-gnu@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.24.0"
|
||||
conditions: os=linux & cpu=arm64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-linux-arm64-musl@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.24.0"
|
||||
conditions: os=linux & cpu=arm64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.0"
|
||||
conditions: os=linux & cpu=ppc64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-linux-riscv64-gnu@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.24.0"
|
||||
conditions: os=linux & cpu=riscv64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-linux-s390x-gnu@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.24.0"
|
||||
conditions: os=linux & cpu=s390x & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-linux-x64-gnu@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.24.0"
|
||||
conditions: os=linux & cpu=x64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-linux-x64-musl@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-linux-x64-musl@npm:4.24.0"
|
||||
conditions: os=linux & cpu=x64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-win32-arm64-msvc@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.24.0"
|
||||
conditions: os=win32 & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-win32-ia32-msvc@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.24.0"
|
||||
conditions: os=win32 & cpu=ia32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rollup/rollup-win32-x64-msvc@npm:4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.24.0"
|
||||
conditions: os=win32 & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rushstack/eslint-patch@npm:^1.1.0":
|
||||
version: 1.10.3
|
||||
resolution: "@rushstack/eslint-patch@npm:1.10.3"
|
||||
@@ -3250,6 +3362,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/estree@npm:1.0.6":
|
||||
version: 1.0.6
|
||||
resolution: "@types/estree@npm:1.0.6"
|
||||
checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33":
|
||||
version: 4.19.2
|
||||
resolution: "@types/express-serve-static-core@npm:4.19.2"
|
||||
@@ -5908,17 +6027,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"cookie@npm:0.6.0":
|
||||
version: 0.6.0
|
||||
resolution: "cookie@npm:0.6.0"
|
||||
checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"cookie@npm:^0.3.1":
|
||||
version: 0.3.1
|
||||
resolution: "cookie@npm:0.3.1"
|
||||
checksum: 10c0/0d73c4d605b234c4d04de335aefa4988157f03265845f4a89ea311e3ba1ce73ab42b52d33652ed1c9671342eb77742a58f61753f3e90f31711284fb6031b2962
|
||||
"cookie@npm:^0.7.2":
|
||||
version: 0.7.2
|
||||
resolution: "cookie@npm:0.7.2"
|
||||
checksum: 10c0/9596e8ccdbf1a3a88ae02cf5ee80c1c50959423e1022e4e60b91dd87c622af1da309253d8abdb258fb5e3eacb4f08e579dc58b4897b8087574eee0fd35dfa5d2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -8060,14 +8172,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-xml-parser@npm:^4.3.6":
|
||||
version: 4.4.0
|
||||
resolution: "fast-xml-parser@npm:4.4.0"
|
||||
"fast-xml-parser@npm:^4.5.0":
|
||||
version: 4.5.0
|
||||
resolution: "fast-xml-parser@npm:4.5.0"
|
||||
dependencies:
|
||||
strnum: "npm:^1.0.5"
|
||||
bin:
|
||||
fxparser: src/cli/cli.js
|
||||
checksum: 10c0/ce32fad713471a40bea67959894168f297a5dd0aba64b89a2abc71a4fec0b1ae1d49c2dd8d8719ca8beeedf477824358c8a486b360b9f3ef12abc2e355d11318
|
||||
checksum: 10c0/71d206c9e137f5c26af88d27dde0108068a5d074401901d643c500c36e95dfd828333a98bda020846c41f5b9b364e2b0e9be5b19b0bdcab5cf31559c07b80a95
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -15481,17 +15593,66 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"rollup@npm:^2.43.1":
|
||||
version: 2.79.1
|
||||
resolution: "rollup@npm:2.79.1"
|
||||
"rollup@npm:^4.24.0":
|
||||
version: 4.24.0
|
||||
resolution: "rollup@npm:4.24.0"
|
||||
dependencies:
|
||||
"@rollup/rollup-android-arm-eabi": "npm:4.24.0"
|
||||
"@rollup/rollup-android-arm64": "npm:4.24.0"
|
||||
"@rollup/rollup-darwin-arm64": "npm:4.24.0"
|
||||
"@rollup/rollup-darwin-x64": "npm:4.24.0"
|
||||
"@rollup/rollup-linux-arm-gnueabihf": "npm:4.24.0"
|
||||
"@rollup/rollup-linux-arm-musleabihf": "npm:4.24.0"
|
||||
"@rollup/rollup-linux-arm64-gnu": "npm:4.24.0"
|
||||
"@rollup/rollup-linux-arm64-musl": "npm:4.24.0"
|
||||
"@rollup/rollup-linux-powerpc64le-gnu": "npm:4.24.0"
|
||||
"@rollup/rollup-linux-riscv64-gnu": "npm:4.24.0"
|
||||
"@rollup/rollup-linux-s390x-gnu": "npm:4.24.0"
|
||||
"@rollup/rollup-linux-x64-gnu": "npm:4.24.0"
|
||||
"@rollup/rollup-linux-x64-musl": "npm:4.24.0"
|
||||
"@rollup/rollup-win32-arm64-msvc": "npm:4.24.0"
|
||||
"@rollup/rollup-win32-ia32-msvc": "npm:4.24.0"
|
||||
"@rollup/rollup-win32-x64-msvc": "npm:4.24.0"
|
||||
"@types/estree": "npm:1.0.6"
|
||||
fsevents: "npm:~2.3.2"
|
||||
dependenciesMeta:
|
||||
"@rollup/rollup-android-arm-eabi":
|
||||
optional: true
|
||||
"@rollup/rollup-android-arm64":
|
||||
optional: true
|
||||
"@rollup/rollup-darwin-arm64":
|
||||
optional: true
|
||||
"@rollup/rollup-darwin-x64":
|
||||
optional: true
|
||||
"@rollup/rollup-linux-arm-gnueabihf":
|
||||
optional: true
|
||||
"@rollup/rollup-linux-arm-musleabihf":
|
||||
optional: true
|
||||
"@rollup/rollup-linux-arm64-gnu":
|
||||
optional: true
|
||||
"@rollup/rollup-linux-arm64-musl":
|
||||
optional: true
|
||||
"@rollup/rollup-linux-powerpc64le-gnu":
|
||||
optional: true
|
||||
"@rollup/rollup-linux-riscv64-gnu":
|
||||
optional: true
|
||||
"@rollup/rollup-linux-s390x-gnu":
|
||||
optional: true
|
||||
"@rollup/rollup-linux-x64-gnu":
|
||||
optional: true
|
||||
"@rollup/rollup-linux-x64-musl":
|
||||
optional: true
|
||||
"@rollup/rollup-win32-arm64-msvc":
|
||||
optional: true
|
||||
"@rollup/rollup-win32-ia32-msvc":
|
||||
optional: true
|
||||
"@rollup/rollup-win32-x64-msvc":
|
||||
optional: true
|
||||
fsevents:
|
||||
optional: true
|
||||
bin:
|
||||
rollup: dist/bin/rollup
|
||||
checksum: 10c0/421418687f5dcd7324f4387f203c6bfc7118b7ace789e30f5da022471c43e037a76f5fd93837052754eeeae798a4fb266ac05ccee1e594406d912a59af98dde9
|
||||
checksum: 10c0/77fb549c1de8afd1142d2da765adbb0cdab9f13c47df5217f00b5cf40b74219caa48c6ba2157f6249313ee81b6fa4c4fa8b3d2a0347ad6220739e00e580a808d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -18702,24 +18863,9 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ws@npm:^7.2.0, ws@npm:^7.4.6":
|
||||
version: 7.5.10
|
||||
resolution: "ws@npm:7.5.10"
|
||||
peerDependencies:
|
||||
bufferutil: ^4.0.1
|
||||
utf-8-validate: ^5.0.2
|
||||
peerDependenciesMeta:
|
||||
bufferutil:
|
||||
optional: true
|
||||
utf-8-validate:
|
||||
optional: true
|
||||
checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ws@npm:^8.13.0":
|
||||
version: 8.17.0
|
||||
resolution: "ws@npm:8.17.0"
|
||||
"ws@npm:^8.17.1":
|
||||
version: 8.18.0
|
||||
resolution: "ws@npm:8.18.0"
|
||||
peerDependencies:
|
||||
bufferutil: ^4.0.1
|
||||
utf-8-validate: ">=5.0.2"
|
||||
@@ -18728,7 +18874,7 @@ __metadata:
|
||||
optional: true
|
||||
utf-8-validate:
|
||||
optional: true
|
||||
checksum: 10c0/55241ec93a66fdfc4bf4f8bc66c8eb038fda2c7a4ee8f6f157f2ca7dc7aa76aea0c0da0bf3adb2af390074a70a0e45456a2eaf80e581e630b75df10a64b0a990
|
||||
checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
Reference in New Issue
Block a user