-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[dashboard] Restructure Organization Settings (#19788)
* restrcuture Organization settings sub-menu items * [Organization settings] Bisect General settings (#19790) * Divide General settings & Policies pages * Add Enterprise callout * style improvements * Apply style suggestions from @corygrunk * button style changes * feat: Organization Networking settings page (#19794) * feat: Organization Authentication settings page (#19795) * fix typos * Rephrase copy texts * styles improvements * removed unused CSS * more styles fixes * fix border changes * fix submenu in dark mode
- Loading branch information
1 parent
828daec
commit ed090b0
Showing
12 changed files
with
595 additions
and
221 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
/** | ||
* Copyright (c) 2021 Gitpod GmbH. All rights reserved. | ||
* Licensed under the GNU Affero General Public License (AGPL). | ||
* See License.AGPL.txt in the project root for license information. | ||
*/ | ||
|
||
import { isGitpodIo } from "../utils"; | ||
import React from "react"; | ||
import { Heading2, Heading3, Subheading } from "../components/typography/headings"; | ||
import { OrgSettingsPage } from "./OrgSettingsPage"; | ||
import { ConfigurationSettingsField } from "../repositories/detail/ConfigurationSettingsField"; | ||
import { useDocumentTitle } from "../hooks/use-document-title"; | ||
import { LinkButton } from "@podkit/buttons/LinkButton"; | ||
import { CheckCircle2Icon } from "lucide-react"; | ||
import { Redirect } from "react-router"; | ||
import PillLabel from "../components/PillLabel"; | ||
|
||
export default function TeamPoliciesPage() { | ||
useDocumentTitle("Organization Settings - Authentication"); | ||
|
||
if (!isGitpodIo) { | ||
return <Redirect to="/settings" />; | ||
} | ||
|
||
return ( | ||
<> | ||
<OrgSettingsPage> | ||
<div className="space-y-8"> | ||
<div> | ||
<Heading2 className="flex items-center gap-4"> | ||
Authentication | ||
<PillLabel type="warn">Enterprise</PillLabel> | ||
</Heading2> | ||
<Subheading className="mt-1"> | ||
Manage users through single sign-on and privately authenticate with source control and image | ||
registries. | ||
</Subheading> | ||
</div> | ||
|
||
<SSOCard /> | ||
<PrivateImageRegistryCard /> | ||
<PrivateSourceControlAccess /> | ||
</div> | ||
</OrgSettingsPage> | ||
</> | ||
); | ||
} | ||
|
||
const SSOCard = () => { | ||
return ( | ||
<ConfigurationSettingsField className="bg-pk-surface-secondary"> | ||
<Heading3>Single sign-on (SSO)</Heading3> | ||
<Subheading className="mt-1">More control over workspace access for your organization</Subheading> | ||
|
||
<div className="mt-8 flex flex-col space-y-2"> | ||
<div className="flex flex-row gap-2 items-center text-pk-content-secondary"> | ||
<CheckCircle2Icon size={20} className="text-pk-content-primary" /> | ||
Includes support for Google, Okta, AWS Cognito and others | ||
</div> | ||
<div className="flex flex-row gap-2 items-center text-pk-content-secondary"> | ||
<CheckCircle2Icon size={20} className="text-pk-content-primary" /> | ||
Instantly revoke access and off-board users from Gitpod | ||
</div> | ||
</div> | ||
|
||
<LinkButton | ||
href="https://www.gitpod.io/contact/enterprise-self-serve" | ||
isExternalUrl={true} | ||
className="mt-8" | ||
> | ||
Request Free Trial | ||
</LinkButton> | ||
</ConfigurationSettingsField> | ||
); | ||
}; | ||
|
||
const PrivateImageRegistryCard = () => { | ||
return ( | ||
<ConfigurationSettingsField className="bg-pk-surface-secondary"> | ||
<Heading3>Private container image registry</Heading3> | ||
<Subheading className="mt-1">Provide secure access to private image registries such as ECR</Subheading> | ||
|
||
<LinkButton | ||
variant="secondary" | ||
className="mt-8 border border-pk-content-tertiary text-pk-content-primary bg-pk-surface-primary" | ||
href="https://www.gitpod.io/docs/enterprise/setup-gitpod/use-private-ecr-repos-for-workspace-images" | ||
isExternalUrl={true} | ||
> | ||
Documentation | ||
</LinkButton> | ||
</ConfigurationSettingsField> | ||
); | ||
}; | ||
|
||
const PrivateSourceControlAccess = () => { | ||
return ( | ||
<ConfigurationSettingsField className="bg-pk-surface-secondary"> | ||
<Heading3>Private source control access</Heading3> | ||
<Subheading className="mt-1"> | ||
Connect to your private source control like GitHub, BitBucket and GitLab | ||
</Subheading> | ||
|
||
<LinkButton | ||
variant="secondary" | ||
className="mt-8 border border-pk-content-tertiary text-pk-content-primary bg-pk-surface-primary" | ||
href="https://www.gitpod.io/docs/enterprise/setup-gitpod/scm-integration" | ||
isExternalUrl={true} | ||
> | ||
Documentation | ||
</LinkButton> | ||
</ConfigurationSettingsField> | ||
); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
/** | ||
* Copyright (c) 2021 Gitpod GmbH. All rights reserved. | ||
* Licensed under the GNU Affero General Public License (AGPL). | ||
* See License.AGPL.txt in the project root for license information. | ||
*/ | ||
|
||
import { isGitpodIo } from "../utils"; | ||
import React from "react"; | ||
import { Heading2, Heading3, Subheading } from "../components/typography/headings"; | ||
import { OrgSettingsPage } from "./OrgSettingsPage"; | ||
import { ConfigurationSettingsField } from "../repositories/detail/ConfigurationSettingsField"; | ||
import { useDocumentTitle } from "../hooks/use-document-title"; | ||
import { LinkButton } from "@podkit/buttons/LinkButton"; | ||
import { CheckCircle2Icon } from "lucide-react"; | ||
import { Redirect } from "react-router"; | ||
import PillLabel from "../components/PillLabel"; | ||
|
||
export default function TeamPoliciesPage() { | ||
useDocumentTitle("Organization Settings - Networking"); | ||
|
||
if (!isGitpodIo) { | ||
return <Redirect to="/settings" />; | ||
} | ||
|
||
return ( | ||
<> | ||
<OrgSettingsPage> | ||
<div className="space-y-8"> | ||
<div> | ||
<Heading2 className="flex items-center gap-4"> | ||
Networking | ||
<PillLabel type="warn">Enterprise</PillLabel> | ||
</Heading2> | ||
<Subheading className="mt-1"> | ||
Self-host a single-tenant installation in your own cloud account. | ||
</Subheading> | ||
</div> | ||
|
||
<SelfHostedCalloutCard /> | ||
<DeployedRegionCard /> | ||
<VPNCard /> | ||
</div> | ||
</OrgSettingsPage> | ||
</> | ||
); | ||
} | ||
|
||
const SelfHostedCalloutCard = () => { | ||
return ( | ||
<ConfigurationSettingsField className="bg-pk-surface-secondary"> | ||
<Heading3>Self-host in your cloud account</Heading3> | ||
<Subheading className="mt-1"> | ||
Deploy the Gitpod infrastructure into your own cloud account and connect to your private network | ||
</Subheading> | ||
|
||
<div className="mt-8 flex flex-col space-y-2"> | ||
<div className="flex flex-row gap-2 items-center text-pk-content-secondary"> | ||
<CheckCircle2Icon size={20} className="text-pk-content-primary" /> | ||
Managed application feature release and backup process | ||
</div> | ||
<div className="flex flex-row gap-2 items-center text-pk-content-secondary"> | ||
<CheckCircle2Icon size={20} className="text-pk-content-primary" /> | ||
Managed security updates and patches | ||
</div> | ||
</div> | ||
|
||
<LinkButton | ||
href="https://www.gitpod.io/contact/enterprise-self-serve" | ||
isExternalUrl={true} | ||
className="mt-8" | ||
> | ||
Request Free Trial | ||
</LinkButton> | ||
</ConfigurationSettingsField> | ||
); | ||
}; | ||
|
||
const DeployedRegionCard = () => { | ||
return ( | ||
<ConfigurationSettingsField className="bg-pk-surface-secondary"> | ||
<Heading3>Choose your deployed region</Heading3> | ||
<Subheading className="mt-1"> | ||
Deploy Gitpod to any location, such as: United States, South America, Europe and Asia Pacific | ||
</Subheading> | ||
|
||
<div className="mt-8 flex flex-col space-y-2"> | ||
<div className="flex flex-row gap-2 items-center text-pk-content-secondary"> | ||
<CheckCircle2Icon size={20} className="text-pk-content-primary" /> | ||
Meet data residency compliance requirements | ||
</div> | ||
<div className="flex flex-row gap-2 items-center text-pk-content-secondary"> | ||
<CheckCircle2Icon size={20} className="text-pk-content-primary" /> | ||
Reduce latency and bring your code closer to your data | ||
</div> | ||
</div> | ||
|
||
<LinkButton | ||
variant="secondary" | ||
className="mt-8 border border-pk-content-tertiary text-pk-content-primary bg-pk-surface-primary" | ||
href="https://www.gitpod.io/docs/enterprise/overview#aws-support-and-regions" | ||
isExternalUrl={true} | ||
> | ||
Documentation | ||
</LinkButton> | ||
</ConfigurationSettingsField> | ||
); | ||
}; | ||
|
||
const VPNCard = () => { | ||
return ( | ||
<ConfigurationSettingsField className="bg-pk-surface-secondary"> | ||
<Heading3>Virtual Private Network (VPN)</Heading3> | ||
<Subheading className="mt-1"> | ||
Restrict access to your instance using your own private VPN network | ||
</Subheading> | ||
|
||
<LinkButton | ||
variant="secondary" | ||
className="mt-8 border border-pk-content-tertiary text-pk-content-primary bg-pk-surface-primary" | ||
href="https://www.gitpod.io/docs/enterprise/getting-started/networking#private-networking-configuration-highly-restrictive" | ||
isExternalUrl={true} | ||
> | ||
Documentation | ||
</LinkButton> | ||
</ConfigurationSettingsField> | ||
); | ||
}; |
Oops, something went wrong.