docs: restructure docs (#14421)

Closes #13434 
Supersedes #14182

---------

Co-authored-by: Ethan <39577870+ethanndickson@users.noreply.github.com>
Co-authored-by: Ethan Dickson <ethan@coder.com>
Co-authored-by: Ben Potter <ben@coder.com>
Co-authored-by: Stephen Kirby <58410745+stirby@users.noreply.github.com>
Co-authored-by: Stephen Kirby <me@skirby.dev>
Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Edward Angert <EdwardAngert@users.noreply.github.com>
This commit is contained in:
Muhammad Atif Ali
2024-10-05 10:52:04 -05:00
committed by GitHub
co-authored by Ethan Ethan Dickson Ben Potter Stephen Kirby Stephen Kirby EdwardAngert Edward Angert
parent 288df75686
commit 419eba5fb6
298 changed files with 5009 additions and 3889 deletions
@@ -84,7 +84,9 @@ export const DashboardLayout: FC = () => {
<p>
Coder {updateCheck.data?.version} is now available. View the{" "}
<Link href={updateCheck.data?.url}>release notes</Link> and{" "}
<Link href={docs("/admin/upgrade")}>upgrade instructions</Link>{" "}
<Link href={docs("/install/upgrade")}>
upgrade instructions
</Link>{" "}
for more information.
</p>
</div>
@@ -235,7 +235,7 @@ export const PortForwardPopoverView: FC<PortForwardPopoverViewProps> = ({
>
<HelpTooltipTitle>Listening Ports</HelpTooltipTitle>
<HelpTooltipLink
href={docs("/networking/port-forwarding#dashboard")}
href={docs("admin/networking/port-forwarding#dashboard")}
>
Learn more
</HelpTooltipLink>
@@ -75,13 +75,15 @@ export const SSHButton: FC<SSHButtonProps> = ({
<HelpTooltipLink href={docs("/install")}>
Install Coder CLI
</HelpTooltipLink>
<HelpTooltipLink href={docs("/ides#vs-code-remote")}>
<HelpTooltipLink href={docs("/user-guides/workspace-access/vscode")}>
Connect via VS Code Remote SSH
</HelpTooltipLink>
<HelpTooltipLink href={docs("/ides#jetbrains-gateway")}>
<HelpTooltipLink
href={docs("/user-guides/workspace-access/jetbrains")}
>
Connect via JetBrains Gateway
</HelpTooltipLink>
<HelpTooltipLink href={docs("/ides#ssh-configuration")}>
<HelpTooltipLink href={docs("/user-guides/workspace-access#ssh")}>
SSH configuration
</HelpTooltipLink>
</HelpTooltipLinksGroup>
+1 -1
View File
@@ -51,7 +51,7 @@ export const AuditFilter: FC<AuditFilterProps> = ({ filter, error, menus }) => {
return (
<Filter
learnMoreLink={docs("/admin/audit-logs#filtering-logs")}
learnMoreLink={docs("/admin/security/audit-logs#filtering-logs")}
presets={PRESET_FILTERS}
isLoading={menus.user.isInitializing}
filter={filter}
@@ -25,7 +25,7 @@ export const AuditHelpTooltip: FC = () => {
<HelpTooltipTitle>{Language.title}</HelpTooltipTitle>
<HelpTooltipText>{Language.body}</HelpTooltipText>
<HelpTooltipLinksGroup>
<HelpTooltipLink href={docs("/admin/audit-logs")}>
<HelpTooltipLink href={docs("/admin/security/audit-logs")}>
{Language.docs}
</HelpTooltipLink>
</HelpTooltipLinksGroup>
+1 -1
View File
@@ -139,7 +139,7 @@ export const AuditPageView: FC<AuditPageViewProps> = ({
<Paywall
message="Audit logs"
description="Audit logs allow you to monitor user operations on your deployment. You need an Premium license to use this feature."
documentationLink={docs("/admin/audit-logs")}
documentationLink={docs("/admin/security/audit-logs")}
/>
</Cond>
</ChooseOne>
@@ -41,7 +41,7 @@ export const GeneralSettingsPageView: FC<GeneralSettingsPageViewProps> = ({
<SettingsHeader
title="General"
description="Information about your Coder deployment."
docsHref={docs("/admin/configure")}
docsHref={docs("/admin/setup")}
/>
<Stack spacing={4}>
{Boolean(deploymentDAUsError) && (
@@ -22,7 +22,7 @@ export const NetworkSettingsPageView: FC<NetworkSettingsPageViewProps> = ({
<SettingsHeader
title="Network"
description="Configure your deployment connectivity."
docsHref={docs("/networking")}
docsHref={docs("/admin/networking")}
/>
<OptionsTable
options={options.filter((o) =>
@@ -36,7 +36,7 @@ export const NetworkSettingsPageView: FC<NetworkSettingsPageViewProps> = ({
title="Port Forwarding"
secondary
description="Port forwarding lets developers securely access processes on their Coder workspace from a local machine."
docsHref={docs("/networking/port-forwarding")}
docsHref={docs("/admin/networking/port-forwarding")}
/>
<Badges>
@@ -72,7 +72,7 @@ export const NotificationEvents: FC<NotificationEventsProps> = ({
component="a"
target="_blank"
rel="noreferrer"
href={docs("/admin/notifications#webhook")}
href={docs("/admin/monitoring/notifications#webhook")}
>
Read the docs
</Button>
@@ -92,7 +92,7 @@ export const NotificationEvents: FC<NotificationEventsProps> = ({
component="a"
target="_blank"
rel="noreferrer"
href={docs("/admin/notifications#smtp-email")}
href={docs("/admin/monitoring/notifications#smtp-email")}
>
Read the docs
</Button>
@@ -35,7 +35,7 @@ export const ObservabilitySettingsPageView: FC<
title="Audit Logging"
secondary
description="Allow auditors to monitor user operations in your deployment."
docsHref={docs("/admin/audit-logs")}
docsHref={docs("/admin/security/audit-logs")}
/>
<Badges>
@@ -51,7 +51,9 @@ export const SecuritySettingsPageView: FC<SecuritySettingsPageViewProps> = ({
title="Browser Only Connections"
secondary
description="Block all workspace access via SSH, port forward, and other non-browser connections."
docsHref={docs("/networking#browser-only-connections-enterprise")}
docsHref={docs(
"/admin/networking#browser-only-connections-enterprise-premium",
)}
/>
<Badges>
@@ -33,7 +33,7 @@ export const UserAuthSettingsPageView = ({
title="Login with OpenID Connect"
secondary
description="Set up authentication to login with OpenID Connect."
docsHref={docs("/admin/auth#openid-connect-with-google")}
docsHref={docs("/admin/users/oidc-auth#openid-connect")}
/>
<Badges>{oidcEnabled ? <EnabledBadge /> : <DisabledBadge />}</Badges>
@@ -52,7 +52,7 @@ export const UserAuthSettingsPageView = ({
title="Login with GitHub"
secondary
description="Set up authentication to login with GitHub."
docsHref={docs("/admin/auth#github")}
docsHref={docs("/admin/users/github-auth")}
/>
<Badges>
+1 -1
View File
@@ -48,7 +48,7 @@ export const GroupsPageView: FC<GroupsPageViewProps> = ({
<Paywall
message="Groups"
description="Organize users into groups with restricted access to templates. You need an Premium license to use this feature."
documentationLink={docs("/admin/groups")}
documentationLink={docs("/admin/users/groups-roles")}
/>
</Cond>
<Cond>
+1 -1
View File
@@ -255,7 +255,7 @@ export const HealthMessageDocsLink: FC<HealthMessageDocsLinkProps> = ({
}) => {
return (
<Link
href={docs(`/admin/healthcheck#${code.toLocaleLowerCase()}`)}
href={docs(`/admin/monitoring/health-check#${code.toLocaleLowerCase()}`)}
target="_blank"
rel="noreferrer"
>
@@ -92,7 +92,7 @@ export const CreateOrganizationPageView: FC<
<PopoverPaywall
message="Organizations"
description="Create multiple organizations within a single Coder deployment, allowing several platform teams to operate with isolated users, templates, and distinct underlying infrastructure."
documentationLink={docs("/admin/organizations")}
documentationLink={docs("/admin/users/organizations")}
/>
</PopoverContent>
</Popover>
@@ -104,7 +104,7 @@ export const CreateOrganizationPageView: FC<
<Paywall
message="Organizations"
description="Create multiple organizations within a single Coder deployment, allowing several platform teams to operate with isolated users, templates, and distinct underlying infrastructure."
documentationLink={docs("/admin/organizations")}
documentationLink={docs("/admin/users/organizations")}
/>
</Cond>
<Cond>
@@ -52,7 +52,7 @@ export const CustomRolesPageView: FC<CustomRolesPageViewProps> = ({
<Paywall
message="Custom Roles"
description="Create custom roles to grant users a tailored set of granular permissions."
documentationLink={docs("/admin/groups")}
documentationLink={docs("/admin/users/groups-roles")}
/>
)}
<Stack
@@ -48,7 +48,7 @@ export const GroupsPageView: FC<GroupsPageViewProps> = ({
<Paywall
message="Groups"
description="Organize users into groups with restricted access to templates. You need a Premium license to use this feature."
documentationLink={docs("/admin/groups")}
documentationLink={docs("/admin/users/groups-roles")}
/>
</Cond>
<Cond>
@@ -21,9 +21,7 @@ export const IdpSyncHelpTooltip: FC = () => {
Coder. Use the Coder CLI to configure these mappings.
</HelpTooltipText>
<HelpTooltipLinksGroup>
<HelpTooltipLink
href={docs("/admin/auth#group-sync-enterprise-premium")}
>
<HelpTooltipLink href={docs("/admin/users/idp-sync")}>
Configure IdP Sync
</HelpTooltipLink>
</HelpTooltipLinksGroup>
@@ -74,7 +74,7 @@ export const IdpSyncPage: FC = () => {
<Button
startIcon={<LaunchOutlined />}
component="a"
href={docs("/admin/auth#group-sync-enterprise-premium")}
href={docs("/admin/users/idp-sync")}
target="_blank"
>
Setup IdP Sync
@@ -85,9 +85,7 @@ export const IdpSyncPage: FC = () => {
<Paywall
message="IdP Sync"
description="Configure group and role mappings to manage permissions outside of Coder. You need an Premium license to use this feature."
documentationLink={docs(
"/admin/auth#group-sync-enterprise-premium",
)}
documentationLink={docs("/admin/users/idp-sync")}
/>
</Cond>
<Cond>
@@ -312,9 +312,7 @@ const IdpMappingTable: FC<IdpMappingTableProps> = ({
<Button
startIcon={<LaunchOutlined />}
component="a"
href={docs(
`/admin/auth#${type.toLowerCase()}-sync-enterprise-premium`,
)}
href={docs("/admin/users/idp-sync")}
target="_blank"
>
How to setup IdP {type} sync
@@ -403,7 +401,7 @@ const LegacyGroupSyncHeader: FC = () => {
configure IdP sync via the CLI, which enables sync to be
configured for any organization, and for those settings to be
persisted without manually setting environment variables.{" "}
<Link href={docs("/admin/auth#group-sync-enterprise-premium")}>
<Link href={docs("/admin/users/idp-sync")}>
Learn more&hellip;
</Link>
</HelpTooltipText>
@@ -24,7 +24,7 @@ export const Language = {
text:
"Coder role-based access control (RBAC) provides fine-grained access management. " +
"View our docs on how to use the available roles.",
links: [{ text: "User Roles", href: docs("/admin/users#roles") }],
links: [{ text: "User Roles", href: docs("/admin/users/groups-roles") }],
},
groups: {
@@ -32,7 +32,7 @@ export const Language = {
text:
"Groups can be used with template RBAC to give groups of users access " +
"to specific templates. View our docs on how to use groups.",
links: [{ text: "User Groups", href: docs("/admin/groups") }],
links: [{ text: "User Groups", href: docs("/admin/users/groups-roles") }],
},
} as const satisfies Record<ColumnHeader, TooltipData>;
@@ -33,7 +33,7 @@ export const TemplatePermissionsPage: FC = () => {
<Paywall
message="Template permissions"
description="Control access of templates for users and groups to templates. You need an Premium license to use this feature."
documentationLink={docs("/admin/rbac")}
documentationLink={docs("/admin/templates/template-permissions")}
/>
) : (
<TemplatePermissionsPageView
@@ -133,7 +133,7 @@ export const PublishTemplateVersionDialog: FC<
<HelpTooltipLinksGroup>
<HelpTooltipLink
href={docs(
"/templates/general-settings#require-automatic-updates-enterprise",
"/admin/templates/managing-templates#template-update-policies-enterprise-premium",
)}
>
{Language.activeVersionHelpBody}
@@ -55,7 +55,7 @@ export const EmptyTemplates: FC<EmptyTemplatesProps> = ({
Templates are written in Terraform and describe the infrastructure
for workspaces. You can start using a starter template below or{" "}
<Link
href={docs("/templates/tutorial")}
href={docs("/admin/templates/creating-templates")}
target="_blank"
rel="noreferrer"
>
@@ -75,7 +75,7 @@ const TemplateHelpTooltip: FC = () => {
<HelpTooltipTitle>{Language.templateTooltipTitle}</HelpTooltipTitle>
<HelpTooltipText>{Language.templateTooltipText}</HelpTooltipText>
<HelpTooltipLinksGroup>
<HelpTooltipLink href={docs("/templates")}>
<HelpTooltipLink href={docs("/admin/templates")}>
{Language.templateTooltipLink}
</HelpTooltipLink>
</HelpTooltipLinksGroup>
+10 -4
View File
@@ -81,7 +81,7 @@ export const ErrorScriptAlert: FC = () => {
, we recommend reloading this session and{" "}
<Link
title=" debugging the startup script"
href={docs("/templates#debugging-the-startup-script")}
href={docs("/admin/templates/troubleshooting#startup-script-issues")}
target="_blank"
rel="noreferrer"
>
@@ -90,7 +90,9 @@ export const ErrorScriptAlert: FC = () => {
because{" "}
<Link
title="your workspace may be incomplete."
href={docs("/templates#your-workspace-may-be-incomplete")}
href={docs(
"/admin/templates/troubleshooting#your-workspace-may-be-incomplete",
)}
target="_blank"
rel="noreferrer"
>
@@ -111,7 +113,9 @@ export const LoadingScriptsAlert: FC = () => {
but{" "}
<Link
title="your workspace may be incomplete."
href={docs("/templates#your-workspace-may-be-incomplete")}
href={docs(
"/admin/templates/troubleshooting#your-workspace-may-be-incomplete",
)}
target="_blank"
rel="noreferrer"
>
@@ -133,7 +137,9 @@ export const LoadedScriptsAlert: FC = () => {
this{" "}
<Link
title="session was started before the startup scripts finished"
href={docs("/templates#your-workspace-may-be-incomplete")}
href={docs(
"/admin/templates/troubleshooting#your-workspace-may-be-incomplete",
)}
target="_blank"
rel="noreferrer"
>
@@ -111,7 +111,11 @@ const SSOEmptyState: FC = () => {
message="No SSO Providers"
description="No SSO providers are configured with this Coder deployment."
cta={
<Link href={docs("/admin/auth")} target="_blank" rel="noreferrer">
<Link
href={docs("/admin/users/oidc-auth")}
target="_blank"
rel="noreferrer"
>
Learn how to add a provider
</Link>
}
@@ -143,7 +143,9 @@ const BuildParametersPopoverContent: FC<BuildParametersPopoverContentProps> = ({
</HelpTooltipText>
<HelpTooltipLinksGroup>
<HelpTooltipLink
href={docs("/templates/parameters#ephemeral-parameters")}
href={docs(
"/admin/templates/extending-templates/parameters#ephemeral-parameters",
)}
>
Read the docs
</HelpTooltipLink>
@@ -128,7 +128,9 @@ export const WorkspaceDeleteDialog: FC<WorkspaceDeleteDialogProps> = ({
delete a failed workspace. Resources such as volumes and
virtual machines will not be destroyed.&nbsp;
<Link
href={docs("/workspaces#workspace-resources")}
href={docs(
"/user-guides/workspace-management#workspace-resources",
)}
target="_blank"
rel="noreferrer"
>
@@ -142,7 +142,7 @@ export const WorkspaceParametersPageView: FC<
cta={
<Button
component="a"
href={docs("/templates/parameters")}
href={docs("/admin/templates/extending-templates/parameters")}
startIcon={<OpenInNewOutlined />}
variant="contained"
target="_blank"
@@ -27,10 +27,10 @@ export const WorkspaceHelpTooltip: FC = () => {
<HelpTooltipTitle>{Language.workspaceTooltipTitle}</HelpTooltipTitle>
<HelpTooltipText>{Language.workspaceTooltipText}</HelpTooltipText>
<HelpTooltipLinksGroup>
<HelpTooltipLink href={docs("/workspaces")}>
<HelpTooltipLink href={docs("/user-guides")}>
{Language.workspaceTooltipLink1}
</HelpTooltipLink>
<HelpTooltipLink href={docs("/ides")}>
<HelpTooltipLink href={docs("/user-guides/workspace-access")}>
{Language.workspaceTooltipLink2}
</HelpTooltipLink>
</HelpTooltipLinksGroup>
@@ -90,7 +90,9 @@ export const WorkspacesFilter: FC<WorkspaceFilterProps> = ({
isLoading={menus.status.isInitializing}
filter={filter}
error={error}
learnMoreLink={docs("/workspaces#workspace-filtering")}
learnMoreLink={docs(
"/user-guides/workspace-management#workspace-filtering",
)}
options={
<>
{menus.user && <UserMenu width={width} menu={menus.user} />}