diff --git a/portal-ui/src/icons/ArrowRightLink.tsx b/portal-ui/src/icons/ArrowRightLink.tsx
new file mode 100644
index 000000000..d66c1a7cf
--- /dev/null
+++ b/portal-ui/src/icons/ArrowRightLink.tsx
@@ -0,0 +1,37 @@
+// This file is part of MinIO Console Server
+// Copyright (c) 2022 MinIO, Inc.
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+import React, { SVGProps } from "react";
+
+const ArrowRightLink = (props: SVGProps) => {
+ return (
+
+ );
+};
+
+export default ArrowRightLink;
diff --git a/portal-ui/src/icons/HelpIconFilled.tsx b/portal-ui/src/icons/HelpIconFilled.tsx
index e497c26a9..c44bb2b30 100644
--- a/portal-ui/src/icons/HelpIconFilled.tsx
+++ b/portal-ui/src/icons/HelpIconFilled.tsx
@@ -33,7 +33,7 @@ const HelpIconFilled = (props: SVGProps) => (
width="21"
height="21"
transform="translate(0 -0.159)"
- fill="#07193e"
+ fill={"currentcolor"}
/>
@@ -47,7 +47,7 @@ const HelpIconFilled = (props: SVGProps) => (
id="Trazado_7048"
data-name="Trazado 7048"
d="M10.42,0A10.42,10.42,0,1,0,20.84,10.42,10.42,10.42,0,0,0,10.42,0M9.534,18.477a2,2,0,0,1-1.953-1.953h0a1.943,1.943,0,1,1,1.953,1.953m1.309-6.32-.082,1.176H8.3V9.856h.982c1.974,0,3.037-.624,3.037-1.82,0-1.1-1.053-1.7-3.007-1.7-.552,0-1.125.041-1.554.081L7.561,3.73A15.939,15.939,0,0,1,9.626,3.6c3.569,0,5.635,1.647,5.635,4.234,0,2.362-1.575,3.876-4.418,4.326"
- fill="#07193e"
+ fill={"currentcolor"}
/>
diff --git a/portal-ui/src/icons/LicenseDocIcon.tsx b/portal-ui/src/icons/LicenseDocIcon.tsx
new file mode 100644
index 000000000..3a5a25b1a
--- /dev/null
+++ b/portal-ui/src/icons/LicenseDocIcon.tsx
@@ -0,0 +1,54 @@
+// This file is part of MinIO Console Server
+// Copyright (c) 2022 MinIO, Inc.
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+import * as React from "react";
+import { SVGProps } from "react";
+
+const LicenseDocIcon = (props: SVGProps) => (
+
+);
+
+export default LicenseDocIcon;
diff --git a/portal-ui/src/icons/OpenSourceIcon.tsx b/portal-ui/src/icons/OpenSourceIcon.tsx
new file mode 100644
index 000000000..5d2cc3ea6
--- /dev/null
+++ b/portal-ui/src/icons/OpenSourceIcon.tsx
@@ -0,0 +1,36 @@
+// This file is part of MinIO Console Server
+// Copyright (c) 2022 MinIO, Inc.
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+import * as React from "react";
+import { SVGProps } from "react";
+
+const OpenSourceIcon = (props: SVGProps) => (
+
+);
+
+export default OpenSourceIcon;
diff --git a/portal-ui/src/icons/VerifiedIcon.tsx b/portal-ui/src/icons/VerifiedIcon.tsx
index f970e18c4..fed240ecb 100644
--- a/portal-ui/src/icons/VerifiedIcon.tsx
+++ b/portal-ui/src/icons/VerifiedIcon.tsx
@@ -35,7 +35,7 @@ const VerifiedIcon = (props: SVGProps) => (
diff --git a/portal-ui/src/icons/index.ts b/portal-ui/src/icons/index.ts
index 9004ef4ba..d432c7eff 100644
--- a/portal-ui/src/icons/index.ts
+++ b/portal-ui/src/icons/index.ts
@@ -175,3 +175,6 @@ export { default as LegalHoldIcon } from "./LegalHoldIcon";
export { default as RetentionIcon } from "./RetentionIcon";
export { default as TagsIcon } from "./TagsIcon";
export { default as AlertCloseIcon } from "./AlertCloseIcon";
+export { default as OpenSourceIcon } from "./OpenSourceIcon";
+export { default as ArrowRightLink } from "./ArrowRightLink";
+export { default as LicenseDocIcon } from "./LicenseDocIcon";
diff --git a/portal-ui/src/screens/Console/Common/IconsScreen.tsx b/portal-ui/src/screens/Console/Common/IconsScreen.tsx
index 2ce96817f..e7372ad4c 100644
--- a/portal-ui/src/screens/Console/Common/IconsScreen.tsx
+++ b/portal-ui/src/screens/Console/Common/IconsScreen.tsx
@@ -1046,6 +1046,16 @@ const IconsScreen = ({ classes }: IIconsScreenSimple) => {
AlertCloseIcon
+
+
+
+ OpenSourceIcon
+
+
+
+
+ LicenseDocIcon
+
-
- Choosing between GNU AGPL v3 and Commercial License
-
-
-
- If you are building proprietary applications, you may want to
- choose the commercial license included as part of the Standard
- and Enterprise subscription plans. Applications must otherwise
- comply with all the GNU AGPLv3 License & Trademark
- obligations. Follow the links below to learn more about the
- compliance policy.
-
-
-
-
- MinIO License and Support plans
+ Register this cluster{" "}
+
+
+
+
+
+
+
+
+ Choosing between GNU AGPL v3 and Commercial License
+
-
- )}
+
+
+ If you are building proprietary applications, you may want to
+ choose the commercial license included as part of the Standard
+ and Enterprise subscription plans. Applications must otherwise
+ comply with all the GNU AGPLv3 License & Trademark obligations.
+ Follow the links below to learn more about the compliance
+ policy.
+
+
+
-
+
+ MinIO License and Support plans
+
+
+ )}
-
-
-
-
- setLicenseModal(false)}
- />
-
+
+
+
+
+
+ setLicenseModal(false)}
+ />
+
+
+
+
+
-
- GNU Affero General Public License
-
-
-
- {" "}
-
-
- Version 3. 19 November 2007{" "}
-
-
-
-
-
- The GNU Affero General Public License is a free, copyleft
- license for software and other kinds of works,
- specifically designed to ensure cooperation with the
- Community in the case of network server software.
-
-
-
- The licenses for most software and other practical works
- are designed to take away your freedom to share and change
- the works. By contrast, our General Public Licenses are
- intended to guarantee your freedom to share and change all
- versions of a program--to make sure it remains free
- software for all its users.
-
-
-
+
GNU Affero General Public License
+
+ Version 3. 19 November 2007
-
-
-
+
+
+
+
+
+
+
+
+ The GNU Affero General Public License is a free, copyleft
+ license for software and other kinds of works, specifically
+ designed to ensure cooperation with the Community in the
+ case of network server software.
+
+
+
+ The licenses for most software and other practical works are
+ designed to take away your freedom to share and change the
+ works. By contrast, our General Public Licenses are intended
+ to guarantee your freedom to share and change all versions
+ of a program--to make sure it remains free software for all
+ its users.
+
+
+
+
+
+ );
};
-const PAID_PLANS = [LICENSE_PLANS.STANDARD, LICENSE_PLANS.ENTERPRISE];
const LicensePlans = ({
licenseInfo,
setLicenseModal,
@@ -311,13 +246,105 @@ const LicensePlans = ({
const isStandardPlan = currentPlan === LICENSE_PLANS.STANDARD;
const isEnterprisePlan = currentPlan === LICENSE_PLANS.ENTERPRISE;
+ const isPaidPlan = PAID_PLANS.includes(currentPlan);
+
/*In smaller screen use tabbed view to show features*/
const [xsPlanView, setXsPlanView] = useState("");
let isXsViewCommunity = xsPlanView === LICENSE_PLANS.COMMUNITY;
let isXsViewStandard = xsPlanView === LICENSE_PLANS.STANDARD;
let isXsViewEnterprise = xsPlanView === LICENSE_PLANS.ENTERPRISE;
- const [communityHeader, standardHeader, enterpriseHeader] = planDetails;
+ const getCommunityPlanHeader = () => {
+ const tooltipText =
+ "Designed for developers who are building open source applications in compliance with the AGPL v3 license and are able to support themselves. The community version of MinIO has all the functionality of the Standard and Enterprise editions.";
+
+ return (
+
+
+
+
Community
+
+
+
+
+
+
+
+ {isCommunityPlan ? "Current Plan" : ""}
+
+
+
+
+ Open Source
+
+
+ );
+ };
+
+ const getStandardPlanHeader = () => {
+ const tooltipText =
+ "Designed for customers who require a commercial license and can mostly self-support but want the peace of mind that comes with the MinIO Subscription Network’s suite of operational capabilities and direct-to-engineer interaction. The Standard version is fully featured but with SLA limitations. ";
+
+ return (
+
+
+
+
Standard
+
+
+
+
+
+
+
+ {isStandardPlan ? "Current Plan" : ""}
+
+
+
$10 per TiB per month
+
(Minimum of 100TiB)
+
+ );
+ };
+
+ const getEnterpriseHeader = () => {
+ const tooltipText =
+ "Designed for mission critical environments where both a license and strict SLAs are required. The Enterprise version is fully featured but comes with additional capabilities. ";
+
+ return (
+
+
+
+