From ba56dad9b43de8b5f608262100e3bf829e49b63d Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 18:54:42 +0000 Subject: [PATCH 01/14] update md snippet for gfm alerts --- .vscode/markdown.code-snippets | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.vscode/markdown.code-snippets b/.vscode/markdown.code-snippets index bdd3463b48836..dfb0c6c2a511c 100644 --- a/.vscode/markdown.code-snippets +++ b/.vscode/markdown.code-snippets @@ -1,14 +1,14 @@ { // For info about snippets, visit https://code.visualstudio.com/docs/editor/userdefinedsnippets + // https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts - "admonition": { - "prefix": "#callout", + "alert": { + "prefix": "#alert", "body": [ - "
\n", - "${TM_SELECTED_TEXT:${2:add info here}}\n", - "
\n" + "> [!${1|caution,important,note,tip,warning|}]\n", + "> ${TM_SELECTED_TEXT:${2:add info here}}\n\n" ], - "description": "callout admonition caution info note tip warning" + "description": "callout admonition caution important note tip warning" }, "fenced code block": { "prefix": "#codeblock", From 40159cf8a869bc0e65712da55e4d618ef900cc41 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 19:00:44 +0000 Subject: [PATCH 02/14] remove extra linebreak --- .vscode/markdown.code-snippets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/markdown.code-snippets b/.vscode/markdown.code-snippets index dfb0c6c2a511c..3e7386802847c 100644 --- a/.vscode/markdown.code-snippets +++ b/.vscode/markdown.code-snippets @@ -5,7 +5,7 @@ "alert": { "prefix": "#alert", "body": [ - "> [!${1|caution,important,note,tip,warning|}]\n", + "> [!${1|caution,important,note,tip,warning|}]", "> ${TM_SELECTED_TEXT:${2:add info here}}\n\n" ], "description": "callout admonition caution important note tip warning" From 50d4d50eacf841198b770120f6587074adbdb405 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 19:01:54 +0000 Subject: [PATCH 03/14] caps --- .vscode/markdown.code-snippets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/markdown.code-snippets b/.vscode/markdown.code-snippets index 3e7386802847c..f08b6679015bb 100644 --- a/.vscode/markdown.code-snippets +++ b/.vscode/markdown.code-snippets @@ -5,7 +5,7 @@ "alert": { "prefix": "#alert", "body": [ - "> [!${1|caution,important,note,tip,warning|}]", + "> [!${1|CAUTION,IMPORTANT,NOTE,TIP,WARNING|}]", "> ${TM_SELECTED_TEXT:${2:add info here}}\n\n" ], "description": "callout admonition caution important note tip warning" From dc9f67b2124ce452f96bd47857c4a7f5dd6527c3 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 19:30:03 +0000 Subject: [PATCH 04/14] gfm alerts all around --- .vscode/markdown.code-snippets | 7 ++- docs/admin/external-auth.md | 31 ++++-------- docs/admin/infrastructure/scale-utility.md | 23 ++++----- docs/admin/integrations/jfrog-artifactory.md | 7 +-- docs/admin/integrations/jfrog-xray.md | 13 ++--- docs/admin/monitoring/health-check.md | 45 ++++++----------- docs/admin/monitoring/notifications/index.md | 9 ++-- docs/admin/networking/index.md | 18 +++---- docs/admin/networking/port-forwarding.md | 9 ++-- docs/admin/setup/appearance.md | 9 ++-- docs/admin/setup/telemetry.md | 5 +- .../extending-templates/external-auth.md | 7 +-- .../provider-authentication.md | 8 +-- .../extending-templates/resource-metadata.md | 5 +- .../templates/managing-templates/index.md | 9 ++-- .../templates/managing-templates/schedule.md | 45 ++++++----------- docs/admin/templates/template-permissions.md | 11 ++-- docs/admin/users/groups-roles.md | 9 ++-- docs/admin/users/idp-sync.md | 50 ++++++------------- docs/admin/users/oidc-auth.md | 9 ++-- docs/contributing/frontend.md | 7 +-- docs/install/cli.md | 7 +-- docs/install/docker.md | 7 +-- docs/install/upgrade.md | 9 ++-- docs/user-guides/workspace-access/zed.md | 11 ++-- docs/user-guides/workspace-management.md | 9 ++-- docs/user-guides/workspace-scheduling.md | 27 ++++------ 27 files changed, 137 insertions(+), 269 deletions(-) diff --git a/.vscode/markdown.code-snippets b/.vscode/markdown.code-snippets index f08b6679015bb..404f7b4682095 100644 --- a/.vscode/markdown.code-snippets +++ b/.vscode/markdown.code-snippets @@ -6,7 +6,7 @@ "prefix": "#alert", "body": [ "> [!${1|CAUTION,IMPORTANT,NOTE,TIP,WARNING|}]", - "> ${TM_SELECTED_TEXT:${2:add info here}}\n\n" + "> ${TM_SELECTED_TEXT:${2:add info here}}\n" ], "description": "callout admonition caution important note tip warning" }, @@ -23,9 +23,8 @@ "premium-feature": { "prefix": "#premium-feature", "body": [ - "
\n", - "${1:feature} ${2|is,are|} an Enterprise and Premium feature. [Learn more](https://coder.com/pricing#compare-plans).\n", - "
" + "> [!NOTE]\n", + "> ${1:feature} ${2|is,are|} an Enterprise and Premium feature. [Learn more](https://coder.com/pricing#compare-plans).\n" ] }, "tabs": { diff --git a/docs/admin/external-auth.md b/docs/admin/external-auth.md index ee6510d751a44..1da8db9fdfef1 100644 --- a/docs/admin/external-auth.md +++ b/docs/admin/external-auth.md @@ -120,11 +120,8 @@ The Redirect URI for Gitea should be ### GitHub -
- -If you don't require fine-grained access control, it's easier to [configure a GitHub OAuth app](#configure-a-github-oauth-app). - -
+> [!TIP] +> If you don't require fine-grained access control, it's easier to [configure a GitHub OAuth app](#configure-a-github-oauth-app). ```env CODER_EXTERNAL_AUTH_0_ID="USER_DEFINED_ID" @@ -224,24 +221,18 @@ CODER_EXTERNAL_AUTH_0_SCOPES="repo:read repo:write write:gpg_key" ## Multiple External Providers -
- -Multiple providers is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Multiple providers is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Below is an example configuration with multiple providers: -
- -**Note:** To support regex matching for paths like `github\.com/org`, add the following `git config` line to the [Coder agent startup script](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent#startup_script): - -```shell -git config --global credential.useHttpPath true -``` - -
+> [!IMPORTANT] +> To support regex matching for paths like `github\.com/org`, add the following `git config` line to the [Coder agent startup script](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/agent#startup_script): +> +> ```shell +> git config --global credential.useHttpPath true +> ``` ```env # Provider 1) github.com diff --git a/docs/admin/infrastructure/scale-utility.md b/docs/admin/infrastructure/scale-utility.md index a3162c9fd58f3..3e5fb703bbf7d 100644 --- a/docs/admin/infrastructure/scale-utility.md +++ b/docs/admin/infrastructure/scale-utility.md @@ -36,19 +36,16 @@ Since Coder's performance is highly dependent on the templates and workflows you support, you may wish to use our internal scale testing utility against your own environments. -
- -This utility is experimental. - -It is not subject to any compatibility guarantees and may cause interruptions -for your users. -To avoid potential outages and orphaned resources, we recommend that you run -scale tests on a secondary "staging" environment or a dedicated -[Kubernetes playground cluster](https://github.com/coder/coder/tree/main/scaletest/terraform). - -Run it against a production environment at your own risk. - -
+> [!IMPORTANT] +> This utility is experimental. +> +> It is not subject to any compatibility guarantees and may cause interruptions +> for your users. +> To avoid potential outages and orphaned resources, we recommend that you run +> scale tests on a secondary "staging" environment or a dedicated +> [Kubernetes playground cluster](https://github.com/coder/coder/tree/main/scaletest/terraform). +> +> Run it against a production environment at your own risk. ### Create workspaces diff --git a/docs/admin/integrations/jfrog-artifactory.md b/docs/admin/integrations/jfrog-artifactory.md index afc94d6158b94..8f27d687d7e00 100644 --- a/docs/admin/integrations/jfrog-artifactory.md +++ b/docs/admin/integrations/jfrog-artifactory.md @@ -131,11 +131,8 @@ To set this up, follow these steps: } ``` -
- - The admin-level access token is used to provision user tokens and is never exposed to developers or stored in workspaces. - -
+ > [!NOTE] + > The admin-level access token is used to provision user tokens and is never exposed to developers or stored in workspaces. If you don't want to use the official modules, you can read through the [example template](https://github.com/coder/coder/tree/main/examples/jfrog/docker), which uses Docker as the underlying compute. The same concepts apply to all compute types. diff --git a/docs/admin/integrations/jfrog-xray.md b/docs/admin/integrations/jfrog-xray.md index f37a813366f76..762d86eb5b4f2 100644 --- a/docs/admin/integrations/jfrog-xray.md +++ b/docs/admin/integrations/jfrog-xray.md @@ -56,14 +56,11 @@ workspaces using Coder's [JFrog Xray Integration](https://github.com/coder/coder --set artifactory.secretName="jfrog-token" ``` -
- - To authenticate with the Artifactory registry, you may need to - create a [Docker config](https://jfrog.com/help/r/jfrog-artifactory-documentation/docker-advanced-topics) and use it in the - `imagePullSecrets` field of the Kubernetes Pod. See the [Defining ImagePullSecrets for Coder workspaces](../../tutorials/image-pull-secret.md) guide for more - information. - -
+ > [!IMPORTANT] + > To authenticate with the Artifactory registry, you may need to + > create a [Docker config](https://jfrog.com/help/r/jfrog-artifactory-documentation/docker-advanced-topics) and use it in the + > `imagePullSecrets` field of the Kubernetes Pod. + > See the [Defining ImagePullSecrets for Coder workspaces](../../tutorials/image-pull-secret.md) guide for more information. ## Validate your installation diff --git a/docs/admin/monitoring/health-check.md b/docs/admin/monitoring/health-check.md index 0a5c135c6d50f..2d349495a2429 100644 --- a/docs/admin/monitoring/health-check.md +++ b/docs/admin/monitoring/health-check.md @@ -117,15 +117,12 @@ Coder's current activity and usage. It may be necessary to increase the resources allocated to Coder's database. Alternatively, you can raise the configured threshold to a higher value (this will not address the root cause). -
- -You can enable -[detailed database metrics](../../reference/cli/server.md#--prometheus-collect-db-metrics) -in Coder's Prometheus endpoint. If you have -[tracing enabled](../../reference/cli/server.md#--trace), these traces may also -contain useful information regarding Coder's database activity. - -
+> [!TIP] +> You can enable +> [detailed database metrics](../../reference/cli/server.md#--prometheus-collect-db-metrics) +> in Coder's Prometheus endpoint. If you have +> [tracing enabled](../../reference/cli/server.md#--trace), these traces may also +> contain useful information regarding Coder's database activity. ## DERP @@ -150,12 +147,9 @@ This is not necessarily a fatal error, but a possible indication of a misconfigured reverse HTTP proxy. Additionally, while workspace users should still be able to reach their workspaces, connection performance may be degraded. -
- -**Note:** This may also be shown if you have -[forced websocket connections for DERP](../../reference/cli/server.md#--derp-force-websockets). - -
+> [!NOTE] +> This may also be shown if you have +> [forced websocket connections for DERP](../../reference/cli/server.md#--derp-force-websockets). **Solution:** ensure that any proxies you use allow connection upgrade with the `Upgrade: derp` header. @@ -305,13 +299,10 @@ that they are able to successfully connect to Coder. Otherwise, ensure [`--provisioner-daemons`](../../reference/cli/server.md#--provisioner-daemons) is set to a value greater than 0. -
- -**Note:** This may be a transient issue if you are currently in the process of +> [!NOTE] +> This may be a transient issue if you are currently in the process of updating your deployment. -
- ### EPD02 #### Provisioner Daemon Version Mismatch @@ -324,13 +315,10 @@ of API incompatibility. **Solution:** Update the provisioner daemon to match the currently running version of Coder. -
- -**Note:** This may be a transient issue if you are currently in the process of +> [!NOTE] +> This may be a transient issue if you are currently in the process of updating your deployment. -
- ### EPD03 #### Provisioner Daemon API Version Mismatch @@ -343,13 +331,10 @@ connect to Coder. **Solution:** Update the provisioner daemon to match the currently running version of Coder. -
- -**Note:** This may be a transient issue if you are currently in the process of +> [!NOTE] +> This may be a transient issue if you are currently in the process of updating your deployment. -
- ### EUNKNOWN #### Unknown Error diff --git a/docs/admin/monitoring/notifications/index.md b/docs/admin/monitoring/notifications/index.md index 0ea5fdf136689..ae5d9fc89a274 100644 --- a/docs/admin/monitoring/notifications/index.md +++ b/docs/admin/monitoring/notifications/index.md @@ -242,12 +242,9 @@ notification is indicated on the right hand side of this table. ## Delivery Preferences -
- -Delivery preferences is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Delivery preferences is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Administrators can configure which delivery methods are used for each different [event type](#event-types). diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index 132b4775eeec6..e6dcb2a7d2bcb 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -172,12 +172,9 @@ more. ## Browser-only connections -
- -Browser-only connections is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Browser-only connections is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Some Coder deployments require that all access is through the browser to comply with security policies. In these cases, pass the `--browser-only` flag to @@ -189,12 +186,9 @@ via the web terminal and ### Workspace Proxies -
- -Workspace proxies are an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Workspace proxies are an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Workspace proxies are a Coder Enterprise feature that allows you to provide low-latency browser experiences for geo-distributed teams. diff --git a/docs/admin/networking/port-forwarding.md b/docs/admin/networking/port-forwarding.md index 7cab58ff02eb8..cd4c7392ee4ab 100644 --- a/docs/admin/networking/port-forwarding.md +++ b/docs/admin/networking/port-forwarding.md @@ -131,12 +131,9 @@ to the app. ### Configure maximum port sharing level -
- -Configuring port sharing level is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Configuring port sharing level is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Premium-licensed template admins can control the maximum port sharing level for workspaces under a given template in the template settings. By default, the diff --git a/docs/admin/setup/appearance.md b/docs/admin/setup/appearance.md index a1ff8ad1450ae..99eb682ba4693 100644 --- a/docs/admin/setup/appearance.md +++ b/docs/admin/setup/appearance.md @@ -1,11 +1,8 @@ # Appearance -
- -Customizing Coder's appearance is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Customizing Coder's appearance is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Customize the look of your Coder deployment to meet your enterprise requirements. diff --git a/docs/admin/setup/telemetry.md b/docs/admin/setup/telemetry.md index 0402b85859d54..e03b353a044b8 100644 --- a/docs/admin/setup/telemetry.md +++ b/docs/admin/setup/telemetry.md @@ -1,8 +1,7 @@ # Telemetry -
-TL;DR: disable telemetry by setting CODER_TELEMETRY_ENABLE=false. -
+> [!NOTE] +> TL;DR: disable telemetry by setting CODER_TELEMETRY_ENABLE=false. Coder collects telemetry from all installations by default. We believe our users should have the right to know what we collect, why we collect it, and how we use diff --git a/docs/admin/templates/extending-templates/external-auth.md b/docs/admin/templates/extending-templates/external-auth.md index ab27780b8b72d..5dc115ed7b2e0 100644 --- a/docs/admin/templates/extending-templates/external-auth.md +++ b/docs/admin/templates/extending-templates/external-auth.md @@ -31,11 +31,8 @@ you can require users authenticate via git prior to creating a workspace: ### Native git authentication will auto-refresh tokens -
-

- This is the preferred authentication method. -

-
+> [!TIP] +> This is the preferred authentication method. By default, the coder agent will configure native `git` authentication via the `GIT_ASKPASS` environment variable. Meaning, with no additional configuration, diff --git a/docs/admin/templates/extending-templates/provider-authentication.md b/docs/admin/templates/extending-templates/provider-authentication.md index c2fe8246610bb..fe2572814358d 100644 --- a/docs/admin/templates/extending-templates/provider-authentication.md +++ b/docs/admin/templates/extending-templates/provider-authentication.md @@ -1,11 +1,7 @@ # Provider Authentication -
-

- Do not store secrets in templates. Assume every user has cleartext access - to every template. -

-
+> [!CAUTION] +> Do not store secrets in templates. Assume every user has cleartext access to every template. The Coder server's [provisioner](https://registry.terraform.io/providers/coder/coder/latest/docs/data-sources/provisioner) diff --git a/docs/admin/templates/extending-templates/resource-metadata.md b/docs/admin/templates/extending-templates/resource-metadata.md index aae30e98b5dd0..21f29c10594d4 100644 --- a/docs/admin/templates/extending-templates/resource-metadata.md +++ b/docs/admin/templates/extending-templates/resource-metadata.md @@ -13,9 +13,8 @@ You can use `coder_metadata` to show Terraform resource attributes like these: ![ui](../../../images/admin/templates/coder-metadata-ui.png) -
-Coder automatically generates the type metadata. -
+> [!NOTE] +> Coder automatically generates the type metadata. You can also present automatically updating, dynamic values with [agent metadata](./agent-metadata.md). diff --git a/docs/admin/templates/managing-templates/index.md b/docs/admin/templates/managing-templates/index.md index 7cec832f39c2b..d5163e6ac0477 100644 --- a/docs/admin/templates/managing-templates/index.md +++ b/docs/admin/templates/managing-templates/index.md @@ -60,12 +60,9 @@ infrastructure, software, or security patches. Learn more about ### Template update policies -
- -Template update policies are an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Template update policies are an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Licensed template admins may want workspaces to always remain on the latest version of their parent template. To do so, enable **Template Update Policies** diff --git a/docs/admin/templates/managing-templates/schedule.md b/docs/admin/templates/managing-templates/schedule.md index 584bd025d5aa2..62c8d26b68b63 100644 --- a/docs/admin/templates/managing-templates/schedule.md +++ b/docs/admin/templates/managing-templates/schedule.md @@ -28,12 +28,9 @@ manage infrastructure costs. ## Failure cleanup -
- -Failure cleanup is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Failure cleanup is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Failure cleanup defines how long a workspace is permitted to remain in the failed state prior to being automatically stopped. Failure cleanup is only @@ -41,12 +38,9 @@ available for licensed customers. ## Dormancy threshold -
- -Dormancy threshold is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Dormancy threshold is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Dormancy Threshold defines how long Coder allows a workspace to remain inactive before being moved into a dormant state. A workspace's inactivity is determined @@ -58,12 +52,9 @@ only available for licensed customers. ## Dormancy auto-deletion -
- -Dormancy auto-deletion is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Dormancy auto-deletion is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Dormancy Auto-Deletion allows a template admin to dictate how long a workspace is permitted to remain dormant before it is automatically deleted. Dormancy @@ -71,12 +62,9 @@ Auto-Deletion is only available for licensed customers. ## Autostop requirement -
- -Autostop requirement is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Autostop requirement is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Autostop requirement is a template setting that determines how often workspaces using the template must automatically stop. Autostop requirement ignores any @@ -108,12 +96,9 @@ requirement during the deprecation period, but only one can be used at a time. ## User quiet hours -
- -User quiet hours are an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> User quiet hours are an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). User quiet hours can be configured in the user's schedule settings page. Workspaces on templates with an autostop requirement will only be forcibly diff --git a/docs/admin/templates/template-permissions.md b/docs/admin/templates/template-permissions.md index 22452c23dc5b8..9f099aa18848a 100644 --- a/docs/admin/templates/template-permissions.md +++ b/docs/admin/templates/template-permissions.md @@ -1,11 +1,8 @@ # Permissions -
- -Template permissions are an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Template permissions are a Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Licensed Coder administrators can control who can use and modify the template. @@ -24,5 +21,3 @@ user can use the template to create a workspace. To prevent this, disable the `Allow everyone to use the template` setting when creating a template. ![Create Template Permissions](../../images/templates/create-template-permissions.png) - -Permissions is a premium-only feature. diff --git a/docs/admin/users/groups-roles.md b/docs/admin/users/groups-roles.md index d0b9ee0231bf6..ffcf610235c72 100644 --- a/docs/admin/users/groups-roles.md +++ b/docs/admin/users/groups-roles.md @@ -33,12 +33,9 @@ may use personal workspaces. ## Custom Roles -
- -Custom roles are a Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Custom roles are a Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Starting in v2.16.0, Premium Coder deployments can configure custom roles on the [Organization](./organizations.md) level. You can create and assign custom roles diff --git a/docs/admin/users/idp-sync.md b/docs/admin/users/idp-sync.md index ee2dc83be387c..c2661e56deb26 100644 --- a/docs/admin/users/idp-sync.md +++ b/docs/admin/users/idp-sync.md @@ -1,12 +1,9 @@ # IdP Sync -
- -IdP sync is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> IdP sync is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). IdP (Identity provider) sync allows you to use OpenID Connect (OIDC) to synchronize Coder groups, roles, and organizations based on claims from your IdP. @@ -110,13 +107,10 @@ Below is an example that uses the `groups` claim and maps all groups prefixed by } ``` -
- -You must specify Coder group IDs instead of group names. The fastest way to find -the ID for a corresponding group is by visiting -`https://coder.example.com/api/v2/groups`. - -
+> [!NOTE] +> You must specify Coder group IDs instead of group names. The fastest way to find +> the ID for a corresponding group is by visiting +> `https://coder.example.com/api/v2/groups`. Here is another example which maps `coder-admins` from the identity provider to two groups in Coder and `coder-users` from the identity provider to another @@ -151,13 +145,9 @@ Visit the Coder UI to confirm these changes: ### Server Flags -
- -Use server flags only with Coder deployments with a single organization. - -You can use the dashboard to configure group sync instead. - -
+> [!NOTE] +> Use server flags only with Coder deployments with a single organization. +> You can use the dashboard to configure group sync instead. 1. Configure the Coder server to read groups from the claim name with the [OIDC group field](../../reference/cli/server.md#--oidc-group-field) server @@ -284,13 +274,9 @@ role: } ``` -
- -Be sure to use the `name` field for each role, not the display name. Use -`coder organization roles show --org=` to see roles for your -organization. - -
+> [!NOTE] +> Be sure to use the `name` field for each role, not the display name. +> Use `coder organization roles show --org=` to see roles for your organization. To set these role sync settings, use the following command: @@ -306,13 +292,9 @@ Visit the Coder UI to confirm these changes: ### Server Flags -
- -Use server flags only with Coder deployments with a single organization. - -You can use the dashboard to configure role sync instead. - -
+> [!NOTE] +> Use server flags only with Coder deployments with a single organization. +> You can use the dashboard to configure role sync instead. 1. Configure the Coder server to read groups from the claim name with the [OIDC role field](../../reference/cli/server.md#--oidc-user-role-field) diff --git a/docs/admin/users/oidc-auth.md b/docs/admin/users/oidc-auth.md index 5c46c5781670c..823e49c0bd351 100644 --- a/docs/admin/users/oidc-auth.md +++ b/docs/admin/users/oidc-auth.md @@ -99,12 +99,9 @@ CODER_DISABLE_PASSWORD_AUTH=true ## SCIM -
- -SCIM is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> SCIM is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Coder supports user provisioning and deprovisioning via SCIM 2.0 with header authentication. Upon deactivation, users are diff --git a/docs/contributing/frontend.md b/docs/contributing/frontend.md index fd9d7ff0a64fe..299b1a45ae4f9 100644 --- a/docs/contributing/frontend.md +++ b/docs/contributing/frontend.md @@ -23,11 +23,8 @@ You can run the UI and access the Coder dashboard in two ways: In both cases, you can access the dashboard on `http://localhost:8080`. If using `./scripts/develop.sh` you can log in with the default credentials. -
- -**Default Credentials:** `admin@coder.com` and `SomeSecurePassword!`. - -
+> [!NOTE] +> **Default Credentials:** `admin@coder.com` and `SomeSecurePassword!`. ## Tech Stack Overview diff --git a/docs/install/cli.md b/docs/install/cli.md index ed20d216a88fb..e22c07d55a025 100644 --- a/docs/install/cli.md +++ b/docs/install/cli.md @@ -58,11 +58,8 @@ coder login https://coder.example.com ## Download the CLI from your deployment -
- -Available in Coder 2.19 and newer. - -
+> [!NOTE] +> Available in Coder 2.19 and newer. Every Coder server hosts CLI binaries for all supported platforms. You can run a script to download the appropriate CLI for your machine from your Coder diff --git a/docs/install/docker.md b/docs/install/docker.md index d1b2c2c109905..042d28e25e5a5 100644 --- a/docs/install/docker.md +++ b/docs/install/docker.md @@ -79,11 +79,8 @@ Coder's [configuration options](../admin/setup/index.md). ## Install the preview release -
- -We do not recommend using preview releases in production environments. - -
+> [!TIP] +> We do not recommend using preview releases in production environments. You can install and test a [preview release of Coder](https://github.com/coder/coder/pkgs/container/coder-preview) diff --git a/docs/install/upgrade.md b/docs/install/upgrade.md index d9b72f9295dc2..de10681adb4d9 100644 --- a/docs/install/upgrade.md +++ b/docs/install/upgrade.md @@ -2,12 +2,9 @@ This article walks you through how to upgrade your Coder server. -
-

- Prior to upgrading a production Coder deployment, take a database snapshot since - Coder does not support rollbacks. -

-
+> [!CAUTION] +> Prior to upgrading a production Coder deployment, take a database snapshot since +> Coder does not support rollbacks. To upgrade your Coder server, simply reinstall Coder using your original method of [install](../install). diff --git a/docs/user-guides/workspace-access/zed.md b/docs/user-guides/workspace-access/zed.md index 2bcb4f12a2209..d2d507363c7c1 100644 --- a/docs/user-guides/workspace-access/zed.md +++ b/docs/user-guides/workspace-access/zed.md @@ -66,10 +66,7 @@ Use the Coder CLI to log in and configure SSH, then connect to your workspace wi ![Zed open remote project](../../images/zed/zed-ssh-open-remote.png) -
- -If you have any suggestions or experience any issues, please -[create a GitHub issue](https://github.com/coder/coder/issues) or share in -[our Discord channel](https://discord.gg/coder). - -
+> [!NOTE] +> If you have any suggestions or experience any issues, please +> [create a GitHub issue](https://github.com/coder/coder/issues) or share in +> [our Discord channel](https://discord.gg/coder). diff --git a/docs/user-guides/workspace-management.md b/docs/user-guides/workspace-management.md index c613661747187..c0a116207af9c 100644 --- a/docs/user-guides/workspace-management.md +++ b/docs/user-guides/workspace-management.md @@ -90,12 +90,9 @@ manually updated the workspace. ## Bulk operations -
- -Bulk operations are an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Bulk operations are an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Licensed admins may apply bulk operations (update, delete, start, stop) in the **Workspaces** tab. Select the workspaces you'd like to modify with the diff --git a/docs/user-guides/workspace-scheduling.md b/docs/user-guides/workspace-scheduling.md index 44f79519af236..bf20a10a1e8c6 100644 --- a/docs/user-guides/workspace-scheduling.md +++ b/docs/user-guides/workspace-scheduling.md @@ -51,12 +51,9 @@ for your workspace. ## Autostop requirement -
- -Autostop requirement is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Autostop requirement is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Licensed template admins may enforce a required stop for workspaces to apply updates or undergo maintenance. These stops ignore any active connections or @@ -70,12 +67,9 @@ and specified quiet hours (see below). ### User quiet hours -
- -User quiet hours are an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> User quiet hours are an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). User quiet hours can be configured in the user's schedule settings page. Workspaces on templates with an autostop requirement will only be forcibly @@ -115,12 +109,9 @@ hours of inactivity. ## Dormancy -
- -Dormancy is an Enterprise and Premium feature. -[Learn more](https://coder.com/pricing#compare-plans). - -
+> [!NOTE] +> Dormancy is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Dormancy automatically deletes workspaces which remain unused for long durations. Template admins configure an inactivity period after which your From ced07b414c22ecb4aa4499e638be5595a4c9424e Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 19:47:12 +0000 Subject: [PATCH 05/14] blockquote indentation --- docs/admin/integrations/jfrog-xray.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/admin/integrations/jfrog-xray.md b/docs/admin/integrations/jfrog-xray.md index 762d86eb5b4f2..9d84057f0c859 100644 --- a/docs/admin/integrations/jfrog-xray.md +++ b/docs/admin/integrations/jfrog-xray.md @@ -56,11 +56,11 @@ workspaces using Coder's [JFrog Xray Integration](https://github.com/coder/coder --set artifactory.secretName="jfrog-token" ``` - > [!IMPORTANT] - > To authenticate with the Artifactory registry, you may need to - > create a [Docker config](https://jfrog.com/help/r/jfrog-artifactory-documentation/docker-advanced-topics) and use it in the - > `imagePullSecrets` field of the Kubernetes Pod. - > See the [Defining ImagePullSecrets for Coder workspaces](../../tutorials/image-pull-secret.md) guide for more information. + > [!IMPORTANT] + > To authenticate with the Artifactory registry, you may need to + > create a [Docker config](https://jfrog.com/help/r/jfrog-artifactory-documentation/docker-advanced-topics) and use it in the + > `imagePullSecrets` field of the Kubernetes Pod. + > See the [Defining ImagePullSecrets for Coder workspaces](../../tutorials/image-pull-secret.md) guide for more information. ## Validate your installation From 1eaeab89ad02009d64396a5a8dc11add46d9da46 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 19:49:14 +0000 Subject: [PATCH 06/14] test premium badge in external-auth --- docs/admin/external-auth.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/docs/admin/external-auth.md b/docs/admin/external-auth.md index 1da8db9fdfef1..c50d74fd7e3ee 100644 --- a/docs/admin/external-auth.md +++ b/docs/admin/external-auth.md @@ -219,11 +219,7 @@ CODER_EXTERNAL_AUTH_0_SCOPES="repo:read repo:write write:gpg_key" ![Install GitHub App](../images/admin/github-app-install.png) -## Multiple External Providers - -> [!NOTE] -> Multiple providers is an Enterprise and Premium feature. -> [Learn more](https://coder.com/pricing#compare-plans). +## Multiple External Providers (Enterprise)(Premium) Below is an example configuration with multiple providers: From 48cf62b8bbb17bc7ad8f066a6d040d7df9a7c145 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 19:49:57 +0000 Subject: [PATCH 07/14] alert spacing --- docs/admin/integrations/jfrog-xray.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/admin/integrations/jfrog-xray.md b/docs/admin/integrations/jfrog-xray.md index 9d84057f0c859..8ed263c1c32cd 100644 --- a/docs/admin/integrations/jfrog-xray.md +++ b/docs/admin/integrations/jfrog-xray.md @@ -56,11 +56,11 @@ workspaces using Coder's [JFrog Xray Integration](https://github.com/coder/coder --set artifactory.secretName="jfrog-token" ``` - > [!IMPORTANT] - > To authenticate with the Artifactory registry, you may need to - > create a [Docker config](https://jfrog.com/help/r/jfrog-artifactory-documentation/docker-advanced-topics) and use it in the - > `imagePullSecrets` field of the Kubernetes Pod. - > See the [Defining ImagePullSecrets for Coder workspaces](../../tutorials/image-pull-secret.md) guide for more information. + > [!IMPORTANT] + > To authenticate with the Artifactory registry, you may need to + > create a [Docker config](https://jfrog.com/help/r/jfrog-artifactory-documentation/docker-advanced-topics) and use it in the + > `imagePullSecrets` field of the Kubernetes Pod. + > See the [Defining ImagePullSecrets for Coder workspaces](../../tutorials/image-pull-secret.md) guide for more information. ## Validate your installation From ca70325da6f1cdeb86c0d3cb1b0e3e1e116bd7f8 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 19:54:33 +0000 Subject: [PATCH 08/14] un-nest alert from OL --- docs/admin/integrations/jfrog-xray.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/admin/integrations/jfrog-xray.md b/docs/admin/integrations/jfrog-xray.md index 8ed263c1c32cd..e5e163559a381 100644 --- a/docs/admin/integrations/jfrog-xray.md +++ b/docs/admin/integrations/jfrog-xray.md @@ -56,11 +56,11 @@ workspaces using Coder's [JFrog Xray Integration](https://github.com/coder/coder --set artifactory.secretName="jfrog-token" ``` - > [!IMPORTANT] - > To authenticate with the Artifactory registry, you may need to - > create a [Docker config](https://jfrog.com/help/r/jfrog-artifactory-documentation/docker-advanced-topics) and use it in the - > `imagePullSecrets` field of the Kubernetes Pod. - > See the [Defining ImagePullSecrets for Coder workspaces](../../tutorials/image-pull-secret.md) guide for more information. +> [!IMPORTANT] +> To authenticate with the Artifactory registry, you may need to +> create a [Docker config](https://jfrog.com/help/r/jfrog-artifactory-documentation/docker-advanced-topics) and use it in the +> `imagePullSecrets` field of the Kubernetes Pod. +> See the [Defining ImagePullSecrets for Coder workspaces](../../tutorials/image-pull-secret.md) guide for more information. ## Validate your installation From 0dab25c5013ad0ca45e39617945ae55421e32538 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 20:24:26 +0000 Subject: [PATCH 09/14] more > Note --- docs/CONTRIBUTING.md | 3 ++- docs/admin/external-auth.md | 6 +++-- docs/admin/infrastructure/scale-utility.md | 3 ++- docs/admin/monitoring/logs.md | 3 ++- docs/admin/networking/index.md | 6 +++-- docs/admin/networking/stun.md | 21 ++++++++-------- docs/admin/provisioners.md | 3 ++- docs/admin/security/database-encryption.md | 12 ++++++--- docs/admin/security/secrets.md | 3 ++- docs/admin/setup/index.md | 3 ++- .../templates/extending-templates/index.md | 4 +-- .../extending-templates/process-logging.md | 9 ++++--- .../extending-templates/workspace-tags.md | 3 ++- .../managing-templates/dependencies.md | 3 ++- .../managing-templates/image-management.md | 6 ++--- docs/admin/templates/open-in-coder.md | 3 ++- docs/admin/templates/troubleshooting.md | 6 +++-- docs/admin/users/github-auth.md | 25 ++++++++++--------- docs/admin/users/idp-sync.md | 3 ++- docs/admin/users/oidc-auth.md | 12 ++++++--- docs/admin/users/organizations.md | 3 ++- docs/admin/users/password-auth.md | 3 ++- docs/install/offline.md | 3 ++- docs/install/openshift.md | 12 ++++++--- docs/tutorials/gcp-to-aws.md | 3 ++- docs/tutorials/support-bundle.md | 9 ++++--- docs/user-guides/desktop/index.md | 3 ++- .../user-guides/workspace-access/jetbrains.md | 6 ++--- .../workspace-access/remote-desktops.md | 4 +-- docs/user-guides/workspace-access/vscode.md | 3 ++- docs/user-guides/workspace-management.md | 3 ++- docs/user-guides/workspace-scheduling.md | 9 ++++--- 32 files changed, 120 insertions(+), 78 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 4ec303b388d49..2b9b029e1ebc3 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -142,7 +142,8 @@ this: name and PR number, etc. - `-y` or `--yes`, will skip the CLI confirmation prompt. -> Note: PR deployment will be re-deployed automatically when the PR is updated. +> [!NOTE] +> PR deployment will be re-deployed automatically when the PR is updated. > It will use the last values automatically for redeployment. Once the deployment is finished, a unique link and credentials will be posted in diff --git a/docs/admin/external-auth.md b/docs/admin/external-auth.md index c50d74fd7e3ee..1fbc2b600a430 100644 --- a/docs/admin/external-auth.md +++ b/docs/admin/external-auth.md @@ -90,7 +90,8 @@ CODER_EXTERNAL_AUTH_0_CLIENT_SECRET=xxxxxxx CODER_EXTERNAL_AUTH_0_AUTH_URL="https://login.microsoftonline.com//oauth2/authorize" ``` -> Note: Your app registration in Entra ID requires the `vso.code_write` scope +> [!NOTE] +> Your app registration in Entra ID requires the `vso.code_write` scope ### Bitbucket Server @@ -176,7 +177,8 @@ CODER_EXTERNAL_AUTH_0_VALIDATE_URL="https://your-domain.com/oauth/token/info" CODER_EXTERNAL_AUTH_0_REGEX=github\.company\.org ``` -> Note: The `REGEX` variable must be set if using a custom git domain. +> [!NOTE] +> The `REGEX` variable must be set if using a custom git domain. ## Custom scopes diff --git a/docs/admin/infrastructure/scale-utility.md b/docs/admin/infrastructure/scale-utility.md index 3e5fb703bbf7d..b66e7fca41394 100644 --- a/docs/admin/infrastructure/scale-utility.md +++ b/docs/admin/infrastructure/scale-utility.md @@ -28,7 +28,8 @@ hardware sizing recommendations. | Kubernetes (GKE) | 4 cores | 16 GB | 2 | db-custom-8-30720 | 2000 | 50 | 2000 simulated | `v2.8.4` | Feb 28, 2024 | | Kubernetes (GKE) | 2 cores | 4 GB | 2 | db-custom-2-7680 | 1000 | 50 | 1000 simulated | `v2.10.2` | Apr 26, 2024 | -> Note: A simulated connection reads and writes random data at 40KB/s per connection. +> [!NOTE] +> A simulated connection reads and writes random data at 40KB/s per connection. ## Scale testing utility diff --git a/docs/admin/monitoring/logs.md b/docs/admin/monitoring/logs.md index 8077a46fe1c73..49861090800ac 100644 --- a/docs/admin/monitoring/logs.md +++ b/docs/admin/monitoring/logs.md @@ -43,7 +43,8 @@ Agent logs are also stored in the workspace filesystem by default: [azure-windows](https://github.com/coder/coder/blob/2cfadad023cb7f4f85710cff0b21ac46bdb5a845/examples/templates/azure-windows/Initialize.ps1.tftpl#L64)) to see where logs are stored. -> Note: Logs are truncated once they reach 5MB in size. +> [!NOTE] +> Logs are truncated once they reach 5MB in size. Startup script logs are also stored in the temporary directory of macOS and Linux workspaces. diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index e6dcb2a7d2bcb..e85c196daa619 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -18,7 +18,8 @@ networking logic. In order for clients and workspaces to be able to connect: -> **Note:** We strongly recommend that clients connect to Coder and their +> [!NOTE] +> We strongly recommend that clients connect to Coder and their > workspaces over a good quality, broadband network connection. The following > are minimum requirements: > @@ -33,7 +34,8 @@ In order for clients and workspaces to be able to connect: In order for clients to be able to establish direct connections: -> **Note:** Direct connections via the web browser are not supported. To improve +> [!NOTE] +> Direct connections via the web browser are not supported. To improve > latency for browser-based applications running inside Coder workspaces in > regions far from the Coder control plane, consider deploying one or more > [workspace proxies](./workspace-proxies.md). diff --git a/docs/admin/networking/stun.md b/docs/admin/networking/stun.md index 391dc7d560060..13241e2f3e384 100644 --- a/docs/admin/networking/stun.md +++ b/docs/admin/networking/stun.md @@ -1,13 +1,13 @@ # STUN and NAT -> [Session Traversal Utilities for NAT (STUN)](https://www.rfc-editor.org/rfc/rfc8489.html) -> is a protocol used to assist applications in establishing peer-to-peer -> communications across Network Address Translations (NATs) or firewalls. -> -> [Network Address Translation (NAT)](https://en.wikipedia.org/wiki/Network_address_translation) -> is commonly used in private networks to allow multiple devices to share a -> single public IP address. The vast majority of home and corporate internet -> connections use at least one level of NAT. +[Session Traversal Utilities for NAT (STUN)](https://www.rfc-editor.org/rfc/rfc8489.html) +is a protocol used to assist applications in establishing peer-to-peer +communications across Network Address Translations (NATs) or firewalls. + +[Network Address Translation (NAT)](https://en.wikipedia.org/wiki/Network_address_translation) +is commonly used in private networks to allow multiple devices to share a +single public IP address. The vast majority of home and corporate internet +connections use at least one level of NAT. ## Overview @@ -33,8 +33,9 @@ counterpart can be reached. Once communication succeeds in one direction, we can inspect the source address of the received packet to determine the return address. -> The below glosses over a lot of the complexity of traversing NATs. For a more -> in-depth technical explanation, see +> [!TIP] +> The below glosses over a lot of the complexity of traversing NATs. +> For a more in-depth technical explanation, see > [How NAT traversal works (tailscale.com)](https://tailscale.com/blog/how-nat-traversal-works). At a high level, STUN works like this: diff --git a/docs/admin/provisioners.md b/docs/admin/provisioners.md index 837784328d1b5..b30934294dc1e 100644 --- a/docs/admin/provisioners.md +++ b/docs/admin/provisioners.md @@ -226,7 +226,8 @@ This is illustrated in the below table: | scope=user owner=aaa environment=on-prem datacenter=chicago | scope=user owner=aaa environment=on-prem datacenter=new_york | ✅ | ❌ | | scope=organization owner= environment=on-prem | scope=organization owner= environment=on-prem | ❌ | ❌ | -> **Note to maintainers:** to generate this table, run the following command and +> [!TIP] +> To generate this table, run the following command and > copy the output: > > ```go diff --git a/docs/admin/security/database-encryption.md b/docs/admin/security/database-encryption.md index cf5e6d6a5c247..8f90f63aac2e2 100644 --- a/docs/admin/security/database-encryption.md +++ b/docs/admin/security/database-encryption.md @@ -43,7 +43,8 @@ Additional database fields may be encrypted in the future. ## Enabling encryption -> NOTE: Enabling encryption does not encrypt all existing data. To encrypt +> [!NOTE] +> Enabling encryption does not encrypt all existing data. To encrypt > existing data, see [rotating keys](#rotating-keys) below. - Ensure you have a valid backup of your database. **Do not skip this step.** If @@ -115,7 +116,8 @@ data: This command will re-encrypt all tokens with the specified new encryption key. We recommend performing this action during a maintenance window. - > Note: this command requires direct access to the database. If you are using + > [!NOTE] + > this command requires direct access to the database. If you are using > the built-in PostgreSQL database, you can run > [`coder server postgres-builtin-url`](../../reference/cli/server_postgres-builtin-url.md) > to get the connection URL. @@ -138,7 +140,8 @@ To disable encryption, perform the following actions: This command will decrypt all encrypted user tokens and revoke all active encryption keys. - > Note: for `decrypt` command, the equivalent environment variable for + > [!NOTE] + > for `decrypt` command, the equivalent environment variable for > `--keys` is `CODER_EXTERNAL_TOKEN_ENCRYPTION_DECRYPT_KEYS` and not > `CODER_EXTERNAL_TOKEN_ENCRYPTION_KEYS`. This is explicitly named differently > to help prevent accidentally decrypting data. @@ -152,7 +155,8 @@ To disable encryption, perform the following actions: ## Deleting Encrypted Data -> NOTE: This is a destructive operation. +> [!CAUTION] +> This is a destructive operation. To delete all encrypted data from your database, perform the following actions: diff --git a/docs/admin/security/secrets.md b/docs/admin/security/secrets.md index 4fcd188ed0583..7985c73ba8390 100644 --- a/docs/admin/security/secrets.md +++ b/docs/admin/security/secrets.md @@ -38,7 +38,8 @@ Users can view their public key in their account settings: ![SSH keys in account settings](../../images/ssh-keys.png) -> Note: SSH keys are never stored in Coder workspaces, and are fetched only when +> [!NOTE] +> SSH keys are never stored in Coder workspaces, and are fetched only when > SSH is invoked. The keys are held in-memory and never written to disk. ## Dynamic Secrets diff --git a/docs/admin/setup/index.md b/docs/admin/setup/index.md index 9af914125a75e..f8a259913161a 100644 --- a/docs/admin/setup/index.md +++ b/docs/admin/setup/index.md @@ -44,7 +44,8 @@ coder server or running [coder_apps](../templates/index.md) on an absolute path. Set this to a wildcard subdomain that resolves to Coder (e.g. `*.coder.example.com`). -> Note: We do not recommend using a top-level-domain for Coder wildcard access +> [!NOTE] +> We do not recommend using a top-level-domain for Coder wildcard access > (for example `*.workspaces`), even on private networks with split-DNS. Some > browsers consider these "public" domains and will refuse Coder's cookies, > which are vital to the proper operation of this feature. diff --git a/docs/admin/templates/extending-templates/index.md b/docs/admin/templates/extending-templates/index.md index f009da913637c..c27c1da709253 100644 --- a/docs/admin/templates/extending-templates/index.md +++ b/docs/admin/templates/extending-templates/index.md @@ -49,8 +49,7 @@ Persistent resources stay provisioned when workspaces are stopped, where as ephemeral resources are destroyed and recreated on restart. All resources are destroyed when a workspace is deleted. -> You can read more about how resource behavior and workspace state in the -> [workspace lifecycle documentation](../../../user-guides/workspace-lifecycle.md). +You can read more about how resource behavior and workspace state in the [workspace lifecycle documentation](../../../user-guides/workspace-lifecycle.md). Template resources follow the [behavior of Terraform resources](https://developer.hashicorp.com/terraform/language/resources/behavior#how-terraform-applies-a-configuration) @@ -65,6 +64,7 @@ When a workspace is deleted, the Coder server essentially runs a [terraform destroy](https://www.terraform.io/cli/commands/destroy) to remove all resources associated with the workspace. +> [!TIP] > Terraform's > [prevent-destroy](https://www.terraform.io/language/meta-arguments/lifecycle#prevent_destroy) > and diff --git a/docs/admin/templates/extending-templates/process-logging.md b/docs/admin/templates/extending-templates/process-logging.md index 8822d988402fc..6570ca33e8826 100644 --- a/docs/admin/templates/extending-templates/process-logging.md +++ b/docs/admin/templates/extending-templates/process-logging.md @@ -3,7 +3,8 @@ The workspace process logging feature allows you to log all system-level processes executing in the workspace. -> **Note:** This feature is only available on Linux in Kubernetes. There are +> [!NOTE] +> This feature is only available on Linux in Kubernetes. There are > additional requirements outlined further in this document. Workspace process logging adds a sidecar container to workspace pods that will @@ -164,7 +165,8 @@ would like to add workspace process logging to, follow these steps: } ``` - > **Note:** If you are using the `envbox` template, you will need to update + > [!NOTE] + > If you are using the `envbox` template, you will need to update > the third argument to be > `"${local.exectrace_init_script}\n\nexec /envbox docker"` instead. @@ -212,7 +214,8 @@ would like to add workspace process logging to, follow these steps: } ``` - > **Note:** `exectrace` requires root privileges and a privileged container + > [!NOTE] + > `exectrace` requires root privileges and a privileged container > to attach probes to the kernel. This is a requirement of eBPF. 1. Add the following environment variable to your workspace pod: diff --git a/docs/admin/templates/extending-templates/workspace-tags.md b/docs/admin/templates/extending-templates/workspace-tags.md index 04bf64ad511c5..7a5aca5179d01 100644 --- a/docs/admin/templates/extending-templates/workspace-tags.md +++ b/docs/admin/templates/extending-templates/workspace-tags.md @@ -71,7 +71,8 @@ added that can handle its combination of tags. Before releasing the template version with configurable workspace tags, ensure that every tag set is associated with at least one healthy provisioner. -> **Note:** It may be useful to run at least one provisioner with no additional +> [!NOTE] +> It may be useful to run at least one provisioner with no additional > tag restrictions that is able to take on any job. ### Parameters types diff --git a/docs/admin/templates/managing-templates/dependencies.md b/docs/admin/templates/managing-templates/dependencies.md index 174d6801c8cbe..80d80da679364 100644 --- a/docs/admin/templates/managing-templates/dependencies.md +++ b/docs/admin/templates/managing-templates/dependencies.md @@ -94,7 +94,8 @@ directory. When you next run [`coder templates push`](../../../reference/cli/templates_push.md), the lock file will be stored alongside with the other template source code. -> Note: Terraform best practices also recommend checking in your +> [!NOTE] +> Terraform best practices also recommend checking in your > `.terraform.lock.hcl` into Git or other VCS. The next time a workspace is built from that template, Coder will make sure to diff --git a/docs/admin/templates/managing-templates/image-management.md b/docs/admin/templates/managing-templates/image-management.md index 2f4cf2e43e4cb..cb07e79bc22ef 100644 --- a/docs/admin/templates/managing-templates/image-management.md +++ b/docs/admin/templates/managing-templates/image-management.md @@ -11,9 +11,9 @@ practices around managing workspaces images for Coder. 3. Allow developers to bring their own images and customizations with Dev Containers -> Note: An image is just one of the many properties defined within the template. -> Templates can pull images from a public image registry (e.g. Docker Hub) or an -> internal one, thanks to Terraform. +An image is just one of the many properties defined within the template. +Templates can pull images from a public image registry (e.g. Docker Hub) or an +internal one, thanks to Terraform. ## Create a minimal base image diff --git a/docs/admin/templates/open-in-coder.md b/docs/admin/templates/open-in-coder.md index b2287e0b962a8..216b062232da2 100644 --- a/docs/admin/templates/open-in-coder.md +++ b/docs/admin/templates/open-in-coder.md @@ -46,7 +46,8 @@ resource "coder_agent" "dev" { } ``` -> Note: The `dir` attribute can be set in multiple ways, for example: +> [!NOTE] +> The `dir` attribute can be set in multiple ways, for example: > > - `~/coder` > - `/home/coder/coder` diff --git a/docs/admin/templates/troubleshooting.md b/docs/admin/templates/troubleshooting.md index 992811175f804..a0daa23f1454d 100644 --- a/docs/admin/templates/troubleshooting.md +++ b/docs/admin/templates/troubleshooting.md @@ -144,7 +144,8 @@ if [ $status -ne 0 ]; then fi ``` -> **Note:** We don't use `set -x` here because we're manually echoing the +> [!NOTE] +> We don't use `set -x` here because we're manually echoing the > commands. This protects against sensitive information being shown in the log. This script tells us what command is being run and what the exit status is. If @@ -152,7 +153,8 @@ the exit status is non-zero, it means the command failed and we exit the script. Since we are manually checking the exit status here, we don't need `set -e` at the top of the script to exit on error. -> **Note:** If you aren't seeing any logs, check that the `dir` directive points +> [!NOTE] +> If you aren't seeing any logs, check that the `dir` directive points > to a valid directory in the file system. ## Slow workspace startup times diff --git a/docs/admin/users/github-auth.md b/docs/admin/users/github-auth.md index 21cd121c13b3d..70073ed49ea1f 100644 --- a/docs/admin/users/github-auth.md +++ b/docs/admin/users/github-auth.md @@ -47,12 +47,12 @@ GitHub will ask you for the following Coder parameters: `https://coder.domain.com`) - **User Authorization Callback URL**: Set to `https://coder.domain.com` -> Note: If you want to allow multiple coder deployments hosted on subdomains -> e.g. coder1.domain.com, coder2.domain.com, to be able to authenticate with the -> same GitHub OAuth app, then you can set **User Authorization Callback URL** to -> the `https://domain.com` +If you want to allow multiple Coder deployments hosted on subdomains, such as +`coder1.domain.com`, `coder2.domain.com`, to authenticate with the +same GitHub OAuth app, then you can set **User Authorization Callback URL** to +the `https://domain.com` -Note the Client ID and Client Secret generated by GitHub. You will use these +Take note of the Client ID and Client Secret generated by GitHub. You will use these values in the next step. Coder will need permission to access user email addresses. Find the "Account @@ -67,8 +67,8 @@ server: coder server --oauth2-github-allow-signups=true --oauth2-github-allowed-orgs="your-org" --oauth2-github-client-id="8d1...e05" --oauth2-github-client-secret="57ebc9...02c24c" ``` -> For GitHub Enterprise support, specify the -> `--oauth2-github-enterprise-base-url` flag. +> [!NOTE] +> For GitHub Enterprise support, specify the `--oauth2-github-enterprise-base-url` flag. Alternatively, if you are running Coder as a system service, you can achieve the same result as the command above by adding the following environment variables @@ -81,11 +81,12 @@ CODER_OAUTH2_GITHUB_CLIENT_ID="8d1...e05" CODER_OAUTH2_GITHUB_CLIENT_SECRET="57ebc9...02c24c" ``` -**Note:** To allow everyone to signup using GitHub, set: - -```env -CODER_OAUTH2_GITHUB_ALLOW_EVERYONE=true -``` +> [!NOTE] +> To allow everyone to sign up using GitHub, set: +> +> ```env +> CODER_OAUTH2_GITHUB_ALLOW_EVERYONE=true +> ``` Once complete, run `sudo service coder restart` to reboot Coder. diff --git a/docs/admin/users/idp-sync.md b/docs/admin/users/idp-sync.md index c2661e56deb26..b481531bd5f48 100644 --- a/docs/admin/users/idp-sync.md +++ b/docs/admin/users/idp-sync.md @@ -521,7 +521,8 @@ Below are some details specific to individual OIDC providers. ### Active Directory Federation Services (ADFS) -> **Note:** Tested on ADFS 4.0, Windows Server 2019 +> [!NOTE] +> Tested on ADFS 4.0, Windows Server 2019 1. In your Federation Server, create a new application group for Coder. Follow the steps as described in the [Windows Server documentation] diff --git a/docs/admin/users/oidc-auth.md b/docs/admin/users/oidc-auth.md index 823e49c0bd351..6ad89f056f4ff 100644 --- a/docs/admin/users/oidc-auth.md +++ b/docs/admin/users/oidc-auth.md @@ -32,7 +32,8 @@ signing in via OIDC as a new user. Coder will log the claim fields returned by the upstream identity provider in a message containing the string `got oidc claims`, as well as the user info returned. -> **Note:** If you need to ensure that Coder only uses information from the ID +> [!NOTE] +> If you need to ensure that Coder only uses information from the ID > token and does not hit the UserInfo endpoint, you can set the configuration > option `CODER_OIDC_IGNORE_USERINFO=true`. @@ -44,7 +45,8 @@ for the newly created user's email address. If your upstream identity provider users a different claim, you can set `CODER_OIDC_EMAIL_FIELD` to the desired claim. -> **Note** If this field is not present, Coder will attempt to use the claim +> [!NOTE] +> If this field is not present, Coder will attempt to use the claim > field configured for `username` as an email address. If this field is not a > valid email address, OIDC logins will fail. @@ -59,7 +61,8 @@ disable this behavior with the following setting: CODER_OIDC_IGNORE_EMAIL_VERIFIED=true ``` -> **Note:** This will cause Coder to implicitly treat all OIDC emails as +> [!NOTE] +> This will cause Coder to implicitly treat all OIDC emails as > "verified", regardless of what the upstream identity provider says. ### Usernames @@ -70,7 +73,8 @@ claim field named `preferred_username` as the the username. If your upstream identity provider uses a different claim, you can set `CODER_OIDC_USERNAME_FIELD` to the desired claim. -> **Note:** If this claim is empty, the email address will be stripped of the +> [!NOTE] +> If this claim is empty, the email address will be stripped of the > domain, and become the username (e.g. `example@coder.com` becomes `example`). > To avoid conflicts, Coder may also append a random word to the resulting > username. diff --git a/docs/admin/users/organizations.md b/docs/admin/users/organizations.md index 5a4b805f7c954..47691d6dd6ea9 100644 --- a/docs/admin/users/organizations.md +++ b/docs/admin/users/organizations.md @@ -1,6 +1,7 @@ # Organizations (Premium) -> Note: Organizations requires a +> [!NOTE] +> Organizations requires a > [Premium license](https://coder.com/pricing#compare-plans). For more details, > [contact your account team](https://coder.com/contact). diff --git a/docs/admin/users/password-auth.md b/docs/admin/users/password-auth.md index f6e2251b6e1d3..c83a5e17ea7e8 100644 --- a/docs/admin/users/password-auth.md +++ b/docs/admin/users/password-auth.md @@ -15,7 +15,8 @@ If you remove the admin user account (or forget the password), you can run the [`coder server create-admin-user`](../../reference/cli/server_create-admin-user.md)command on your server. -> Note: You must run this command on the same machine running the Coder server. +> [!NOTE] +> You must run this command on the same machine running the Coder server. > If you are running Coder on Kubernetes, this means using > [kubectl exec](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_exec/) > to exec into the pod. diff --git a/docs/install/offline.md b/docs/install/offline.md index 683649e451cc5..26caf8364a6b4 100644 --- a/docs/install/offline.md +++ b/docs/install/offline.md @@ -31,7 +31,8 @@ following: [network mirror](https://www.terraform.io/internals/provider-network-mirror-protocol). See below for details. -> Note: Coder includes the latest +> [!NOTE] +> Coder includes the latest > [supported version](https://github.com/coder/coder/blob/main/provisioner/terraform/install.go#L23-L24) > of Terraform in the official Docker images. If you need to bundle a different > version of terraform, you can do so by customizing the image. diff --git a/docs/install/openshift.md b/docs/install/openshift.md index 26bb99a7681e5..82e16b6f4698e 100644 --- a/docs/install/openshift.md +++ b/docs/install/openshift.md @@ -32,7 +32,8 @@ values: The below values are modified from Coder defaults and allow the Coder deployment to run under the SCC `restricted-v2`. -> Note: `readOnlyRootFilesystem: true` is not technically required under +> [!NOTE] +> `readOnlyRootFilesystem: true` is not technically required under > `restricted-v2`, but is often mandated in OpenShift environments. ```yaml @@ -92,7 +93,8 @@ To fix this, you can mount a temporary volume in the pod and set the example, we mount this under `/tmp` and set the cache location to `/tmp/coder`. This enables Coder to run with `readOnlyRootFilesystem: true`. -> Note: Depending on the number of templates and provisioners you use, you may +> [!NOTE] +> Depending on the number of templates and provisioners you use, you may > need to increase the size of the volume, as the `coder` pod will be > automatically restarted when this volume fills up. @@ -128,7 +130,8 @@ coder: readOnly: false ``` -> Note: OpenShift provides a Developer Catalog offering you can use to install +> [!NOTE] +> OpenShift provides a Developer Catalog offering you can use to install > PostgreSQL into your cluster. ### 4. Create the OpenShift route @@ -176,7 +179,8 @@ helm install coder coder-v2/coder \ --values values.yaml ``` -> Note: If the Helm installation fails with a Kubernetes RBAC error, check the +> [!NOTE] +> If the Helm installation fails with a Kubernetes RBAC error, check the > permissions of your OpenShift user using the `oc auth can-i` command. > > The below permissions are the minimum required: diff --git a/docs/tutorials/gcp-to-aws.md b/docs/tutorials/gcp-to-aws.md index 85e8737bedbbc..8bcff6ed2ea80 100644 --- a/docs/tutorials/gcp-to-aws.md +++ b/docs/tutorials/gcp-to-aws.md @@ -122,7 +122,8 @@ gcloud auth print-identity-token --audiences=https://aws.amazon.com --impersonat veloper.gserviceaccount.com --include-email ``` -> Note: Your `gcloud` client may needed elevated permissions to run this +> [!NOTE] +> Your `gcloud` client may needed elevated permissions to run this > command. ## 5. Set identity token in Coder control plane diff --git a/docs/tutorials/support-bundle.md b/docs/tutorials/support-bundle.md index 688e87908b338..7cac0058f4812 100644 --- a/docs/tutorials/support-bundle.md +++ b/docs/tutorials/support-bundle.md @@ -23,7 +23,8 @@ treated as such.** A brief overview of all files contained in the bundle is provided below: -> Note: detailed descriptions of all the information available in the bundle is +> [!NOTE] +> Detailed descriptions of all the information available in the bundle is > out of scope, as support bundles are primarily intended for internal use. | Filename | Description | @@ -61,7 +62,8 @@ A brief overview of all files contained in the bundle is provided below: 2. Ensure you have the Coder CLI installed on a local machine. See [installation](../install/index.md) for steps on how to do this. - > Note: It is recommended to generate a support bundle from a location + > [!NOTE] + > It is recommended to generate a support bundle from a location > experiencing workspace connectivity issues. 3. Ensure you are [logged in](../reference/cli/login.md#login) to your Coder @@ -80,7 +82,8 @@ A brief overview of all files contained in the bundle is provided below: 6. Coder staff will provide you a link where you can upload the bundle along with any other necessary supporting files. - > Note: It is helpful to leave an informative message regarding the nature of + > [!NOTE] + > It is helpful to leave an informative message regarding the nature of > supporting files. Coder support will then review the information you provided and respond to you diff --git a/docs/user-guides/desktop/index.md b/docs/user-guides/desktop/index.md index 0f4abafed140d..9b6de6cffb054 100644 --- a/docs/user-guides/desktop/index.md +++ b/docs/user-guides/desktop/index.md @@ -141,7 +141,8 @@ A browser typically considers an origin secure if the connection is to `localhos As CoderVPN uses its own hostnames and does not provide TLS to the browser, Google Chrome and Firefox will not allow any web APIs that require a secure context. -> Note: Despite the browser showing an insecure connection without `HTTPS`, the underlying tunnel is encrypted with WireGuard in the same fashion as other Coder workspace connections (e.g. `coder port-forward`). +> [!NOTE] +> Despite the browser showing an insecure connection without `HTTPS`, the underlying tunnel is encrypted with WireGuard in the same fashion as other Coder workspace connections (e.g. `coder port-forward`). If you require secure context web APIs, you will need to mark the workspace hostnames as secure in your browser settings. diff --git a/docs/user-guides/workspace-access/jetbrains.md b/docs/user-guides/workspace-access/jetbrains.md index 15444c0808ca0..1f20673704144 100644 --- a/docs/user-guides/workspace-access/jetbrains.md +++ b/docs/user-guides/workspace-access/jetbrains.md @@ -72,8 +72,7 @@ manually setting up an SSH connection. ![Gateway IDE Opened](../../images/gateway/gateway-intellij-opened.png) - > Note the JetBrains IDE is remotely installed into - > `~/.cache/JetBrains/RemoteDev/dist` +The JetBrains IDE is remotely installed into `~/.cache/JetBrains/RemoteDev/dist` ### Update a Coder plugin version @@ -187,8 +186,7 @@ keytool -import -alias coder -file cacert.pem -keystore /Applications/JetBrains\ ![Gateway Choose IDE](../../images/gateway/gateway-choose-ide.png) - > Note the JetBrains IDE is remotely installed into - > `~/. cache/JetBrains/RemoteDev/dist` + The JetBrains IDE is remotely installed into `~/. cache/JetBrains/RemoteDev/dist` 1. Click **Download and Start IDE** to connect. diff --git a/docs/user-guides/workspace-access/remote-desktops.md b/docs/user-guides/workspace-access/remote-desktops.md index f95d7717983ed..f9da71d6d01d4 100644 --- a/docs/user-guides/workspace-access/remote-desktops.md +++ b/docs/user-guides/workspace-access/remote-desktops.md @@ -45,10 +45,10 @@ Then, connect to your workspace via RDP: mstsc /v localhost:3399 ``` -or use your favorite RDP client to connect to `localhost:3399`. +Or use your favorite RDP client to connect to `localhost:3399`. ![windows-rdp](../../images/ides/windows_rdp_client.png) -> Note: Default username is `Administrator` and password is `coderRDP!`. +The default username is `Administrator` and password is `coderRDP!`. ## RDP Web diff --git a/docs/user-guides/workspace-access/vscode.md b/docs/user-guides/workspace-access/vscode.md index 5f7de223ef81e..2f9aad56f9c4d 100644 --- a/docs/user-guides/workspace-access/vscode.md +++ b/docs/user-guides/workspace-access/vscode.md @@ -52,7 +52,8 @@ marketplace, or the Eclipse Open VSX _local_ marketplace. ![Code Web Extensions](../../images/ides/code-web-extensions.png) -> Note: Microsoft does not allow any unofficial VS Code IDE to connect to the +> [!NOTE] +> Microsoft does not allow any unofficial VS Code IDE to connect to the > extension marketplace. ### Adding extensions to custom images diff --git a/docs/user-guides/workspace-management.md b/docs/user-guides/workspace-management.md index c0a116207af9c..20a486814b3d9 100644 --- a/docs/user-guides/workspace-management.md +++ b/docs/user-guides/workspace-management.md @@ -179,4 +179,5 @@ Coder stores macOS and Linux logs at the following locations: | `shutdown_script` | `/tmp/coder-shutdown-script.log` | | Agent | `/tmp/coder-agent.log` | -> Note: Logs are truncated once they reach 5MB in size. +> [!NOTE] +> Logs are truncated once they reach 5MB in size. diff --git a/docs/user-guides/workspace-scheduling.md b/docs/user-guides/workspace-scheduling.md index bf20a10a1e8c6..916d55adf4850 100644 --- a/docs/user-guides/workspace-scheduling.md +++ b/docs/user-guides/workspace-scheduling.md @@ -24,7 +24,7 @@ Then open the **Schedule** tab to see your workspace scheduling options. ## Autostart -> Autostart must be enabled in the template settings by your administrator. +Autostart must be enabled in the template settings by your administrator. Use autostart to start a workspace at a specified time and which days of the week. Also, you can choose your preferred timezone. Admins may restrict which @@ -62,8 +62,8 @@ frequency for updates, either in **days** or **weeks**. Workspaces will apply the template autostop requirement on the given day **in the user's timezone** and specified quiet hours (see below). -> Admins: See the template schedule settings for more information on configuring -> Autostop Requirement. +Admins: See the template schedule settings for more information on configuring +Autostop Requirement. ### User quiet hours @@ -84,7 +84,8 @@ powerful system for scheduling your workspace. However, synchronizing all of them simultaneously can be somewhat challenging, here are a few example configurations to better understand how they interact. -> Note that the inactivity timer must be configured by your template admin. +> [!NOTE] +> The inactivity timer must be configured by your template admin. ### Working hours From af0fdd872b25f466d3692d2b18decd9333ae9fa8 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 20:49:42 +0000 Subject: [PATCH 10/14] edit blockquotes --- docs/CONTRIBUTING.md | 8 ++--- .../validated-architectures/index.md | 5 ++- docs/admin/integrations/opentofu.md | 8 ++--- docs/admin/licensing/index.md | 3 +- docs/admin/monitoring/health-check.md | 2 +- docs/admin/monitoring/notifications/slack.md | 9 +++-- docs/admin/networking/port-forwarding.md | 36 ++++++++++--------- docs/admin/networking/workspace-proxies.md | 6 ++-- docs/admin/provisioners.md | 9 +++-- .../0001_user_apikeys_invalidation.md | 6 ++-- docs/admin/security/database-encryption.md | 30 ++++++++-------- docs/admin/security/index.md | 1 + docs/admin/setup/index.md | 4 +-- 13 files changed, 64 insertions(+), 63 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 2b9b029e1ebc3..7a21210c51609 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -117,9 +117,7 @@ This mode is useful for testing HA or validating more complex setups. ### Deploying a PR -> You need to be a member or collaborator of the of -> [coder](https://github.com/coder) GitHub organization to be able to deploy a -> PR. +You need to be a member or collaborator of the [coder](https://github.com/coder) GitHub organization to be able to deploy a PR. You can test your changes by creating a PR deployment. There are two ways to do this: @@ -257,8 +255,7 @@ Our frontend guide can be found [here](./contributing/frontend.md). ## Reviews -> The following information has been borrowed from -> [Go's review philosophy](https://go.dev/doc/contribute#reviews). +The following information has been borrowed from [Go's review philosophy](https://go.dev/doc/contribute#reviews). Coder values thorough reviews. For each review comment that you receive, please "close" it by implementing the suggestion or providing an explanation on why the @@ -346,6 +343,7 @@ Breaking changes can be triggered in two ways: ### Security +> [!IMPORTANT] > If you find a vulnerability, **DO NOT FILE AN ISSUE**. Instead, send an email > to . diff --git a/docs/admin/infrastructure/validated-architectures/index.md b/docs/admin/infrastructure/validated-architectures/index.md index 6b81291648e78..2040b781ae0fa 100644 --- a/docs/admin/infrastructure/validated-architectures/index.md +++ b/docs/admin/infrastructure/validated-architectures/index.md @@ -36,9 +36,8 @@ cloud/on-premise computing, containerization, and the Coder platform. | Reference architectures for up to 3,000 users | An approval of your architecture; the CVA solely provides recommendations and guidelines | | Best practices for building a Coder deployment | Recommendations for every possible deployment scenario | -> For higher level design principles and architectural best practices, see -> Coder's -> [Well-Architected Framework](https://coder.com/blog/coder-well-architected-framework). +For higher level design principles and architectural best practices, see Coder's +[Well-Architected Framework](https://coder.com/blog/coder-well-architected-framework). ## General concepts diff --git a/docs/admin/integrations/opentofu.md b/docs/admin/integrations/opentofu.md index 1867f03e8e2ed..02710d31fde04 100644 --- a/docs/admin/integrations/opentofu.md +++ b/docs/admin/integrations/opentofu.md @@ -2,7 +2,8 @@ -> ⚠️ This guide is a work in progress. We do not officially support using custom +> [!IMPORTANT] +> This guide is a work in progress. We do not officially support using custom > Terraform binaries in your Coder deployment. To track progress on the work, > see this related [GitHub Issue](https://github.com/coder/coder/issues/12009). @@ -10,9 +11,8 @@ Coder deployments support any custom Terraform binary, including [OpenTofu](https://opentofu.org/docs/) - an open source alternative to Terraform. -> You can read more about OpenTofu and Hashicorp's licensing in our -> [blog post](https://coder.com/blog/hashicorp-license) on the Terraform -> licensing changes. +You can read more about OpenTofu and Hashicorp's licensing in our +[blog post](https://coder.com/blog/hashicorp-license) on the Terraform licensing changes. ## Using a custom Terraform binary diff --git a/docs/admin/licensing/index.md b/docs/admin/licensing/index.md index 6d2abda948125..e9d8531d443d9 100644 --- a/docs/admin/licensing/index.md +++ b/docs/admin/licensing/index.md @@ -7,8 +7,7 @@ features, you can [request a trial](https://coder.com/trial) or -> If you are an existing customer, you can learn more our new Premium plan in -> the [Coder v2.16 blog post](https://coder.com/blog/release-recap-2-16-0) +You can learn more about Coder Premium in the [Coder v2.16 blog post](https://coder.com/blog/release-recap-2-16-0) diff --git a/docs/admin/monitoring/health-check.md b/docs/admin/monitoring/health-check.md index 2d349495a2429..cd14810883f52 100644 --- a/docs/admin/monitoring/health-check.md +++ b/docs/admin/monitoring/health-check.md @@ -40,7 +40,7 @@ If there is an issue, you may see one of the following errors reported: [`url.Parse`](https://pkg.go.dev/net/url#Parse). Example: `https://dev.coder.com/`. -> **Tip:** You can check this [here](https://go.dev/play/p/CabcJZyTwt9). +You can use [the Go playground](https://go.dev/play/p/CabcJZyTwt9) for additional testing. ### EACS03 diff --git a/docs/admin/monitoring/notifications/slack.md b/docs/admin/monitoring/notifications/slack.md index 4b9810d9fbe86..99d5045656b90 100644 --- a/docs/admin/monitoring/notifications/slack.md +++ b/docs/admin/monitoring/notifications/slack.md @@ -181,12 +181,11 @@ To build the server to receive webhooks and interact with Slack: Slack requires the bot to acknowledge when a user clicks on a URL action button. This is handled by setting up interactivity. -1. Under "Interactivity & Shortcuts" in your Slack app settings, set the Request - URL to match the public URL of your web server's endpoint. +Under "Interactivity & Shortcuts" in your Slack app settings, set the Request +URL to match the public URL of your web server's endpoint. -> Notice: You can use any public endpoint that accepts and responds to POST -> requests with HTTP 200. For temporary testing, you can set it to -> `https://httpbin.org/status/200`. +You can use any public endpoint that accepts and responds to POST requests with HTTP 200. +For temporary testing, you can set it to `https://httpbin.org/status/200`. Once this is set, Slack will send interaction payloads to your server, which must respond appropriately. diff --git a/docs/admin/networking/port-forwarding.md b/docs/admin/networking/port-forwarding.md index cd4c7392ee4ab..51b5800b87625 100644 --- a/docs/admin/networking/port-forwarding.md +++ b/docs/admin/networking/port-forwarding.md @@ -48,17 +48,17 @@ For more examples, see `coder port-forward --help`. ## Dashboard -> To enable port forwarding via the dashboard, Coder must be configured with a -> [wildcard access URL](../../admin/setup/index.md#wildcard-access-url). If an -> access URL is not specified, Coder will create -> [a publicly accessible URL](../../admin/setup/index.md#tunnel) to reverse -> proxy the deployment, and port forwarding will work. -> -> There is a -> [DNS limitation](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.1) -> where each segment of hostnames must not exceed 63 characters. If your app -> name, agent name, workspace name and username exceed 63 characters in the -> hostname, port forwarding via the dashboard will not work. +To enable port forwarding via the dashboard, Coder must be configured with a +[wildcard access URL](../../admin/setup/index.md#wildcard-access-url). If an +access URL is not specified, Coder will create +[a publicly accessible URL](../../admin/setup/index.md#tunnel) to reverse +proxy the deployment, and port forwarding will work. + +There is a +[DNS limitation](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.1) +where each segment of hostnames must not exceed 63 characters. If your app +name, agent name, workspace name and username exceed 63 characters in the +hostname, port forwarding via the dashboard will not work. ### From an coder_app resource @@ -176,12 +176,14 @@ must include credentials (set `credentials: "include"` if using `fetch`) or the requests cannot be authenticated and you will see an error resembling the following: -> Access to fetch at -> '' from origin -> '' has been blocked by CORS -> policy: No 'Access-Control-Allow-Origin' header is present on the requested -> resource. If an opaque response serves your needs, set the request's mode to -> 'no-cors' to fetch the resource with CORS disabled. +```text +Access to fetch at +'' from origin +'' has been blocked by CORS +policy: No 'Access-Control-Allow-Origin' header is present on the requested +resource. If an opaque response serves your needs, set the request's mode to +'no-cors' to fetch the resource with CORS disabled. +``` #### Headers diff --git a/docs/admin/networking/workspace-proxies.md b/docs/admin/networking/workspace-proxies.md index 288c9eab66f97..1a6e1b82fd357 100644 --- a/docs/admin/networking/workspace-proxies.md +++ b/docs/admin/networking/workspace-proxies.md @@ -104,10 +104,10 @@ CODER_TLS_KEY_FILE="" ### Running on Kubernetes -Make a `values-wsproxy.yaml` with the workspace proxy configuration: +Make a `values-wsproxy.yaml` with the workspace proxy configuration. -> Notice the `workspaceProxy` configuration which is `false` by default in the -> coder Helm chart. +Notice the `workspaceProxy` configuration which is `false` by default in the +Coder Helm chart: ```yaml coder: diff --git a/docs/admin/provisioners.md b/docs/admin/provisioners.md index b30934294dc1e..35be50162c395 100644 --- a/docs/admin/provisioners.md +++ b/docs/admin/provisioners.md @@ -104,10 +104,9 @@ tags. ## Global PSK (Not Recommended) -> Global pre-shared keys (PSK) make it difficult to rotate keys or isolate -> provisioners. -> -> We do not recommend using global PSK. +We do not recommend using global PSK. + +Global pre-shared keys (PSK) make it difficult to rotate keys or isolate provisioners. A deployment-wide PSK can be used to authenticate any provisioner. To use a global PSK, set a @@ -158,7 +157,7 @@ coder templates push on-prem-chicago \ This can also be done in the UI when building a template: -> ![template tags](../images/admin/provisioner-tags.png) +![template tags](../images/admin/provisioner-tags.png) Alternatively, a template can target a provisioner via [workspace tags](https://github.com/coder/coder/tree/main/examples/workspace-tags) diff --git a/docs/admin/security/0001_user_apikeys_invalidation.md b/docs/admin/security/0001_user_apikeys_invalidation.md index c355888df39f6..203a8917669ed 100644 --- a/docs/admin/security/0001_user_apikeys_invalidation.md +++ b/docs/admin/security/0001_user_apikeys_invalidation.md @@ -42,7 +42,8 @@ failed to check whether the API key corresponds to a deleted user. ## Indications of Compromise -> 💡 Automated remediation steps in the upgrade purge all affected API keys. +> [!TIP] +> Automated remediation steps in the upgrade purge all affected API keys. > Either perform the following query before upgrade or run it on a backup of > your database from before the upgrade. @@ -81,7 +82,8 @@ Otherwise, the following information will be reported: - User API key ID - Time the affected API key was last used -> 💡 If your license includes the +> [!TIP] +> If your license includes the > [Audit Logs](https://coder.com/docs/admin/audit-logs#filtering-logs) feature, > you can then query all actions performed by the above users by using the > filter `email:$USER_EMAIL`. diff --git a/docs/admin/security/database-encryption.md b/docs/admin/security/database-encryption.md index 8f90f63aac2e2..fae94885f6746 100644 --- a/docs/admin/security/database-encryption.md +++ b/docs/admin/security/database-encryption.md @@ -26,20 +26,22 @@ The following database fields are currently encrypted: Additional database fields may be encrypted in the future. -> Implementation notes: each encrypted database column `$C` has a corresponding -> `$C_key_id` column. This column is used to determine which encryption key was -> used to encrypt the data. This allows Coder to rotate encryption keys without -> invalidating existing tokens, and provides referential integrity for encrypted -> data. -> -> The `$C_key_id` column stores the first 7 bytes of the SHA-256 hash of the -> encryption key used to encrypt the data. -> -> Encryption keys in use are stored in `dbcrypt_keys`. This table stores a -> record of all encryption keys that have been used to encrypt data. Active keys -> have a null `revoked_key_id` column, and revoked keys have a non-null -> `revoked_key_id` column. You cannot revoke a key until you have rotated all -> values using that key to a new key. +### Implementation notes + +Each encrypted database column `$C` has a corresponding +`$C_key_id` column. This column is used to determine which encryption key was +used to encrypt the data. This allows Coder to rotate encryption keys without +invalidating existing tokens, and provides referential integrity for encrypted +data. + +The `$C_key_id` column stores the first 7 bytes of the SHA-256 hash of the +encryption key used to encrypt the data. + +Encryption keys in use are stored in `dbcrypt_keys`. This table stores a +record of all encryption keys that have been used to encrypt data. Active keys +have a null `revoked_key_id` column, and revoked keys have a non-null +`revoked_key_id` column. You cannot revoke a key until you have rotated all +values using that key to a new key. ## Enabling encryption diff --git a/docs/admin/security/index.md b/docs/admin/security/index.md index cb83bf6b78271..b9d6ecea2a448 100644 --- a/docs/admin/security/index.md +++ b/docs/admin/security/index.md @@ -7,6 +7,7 @@ For other security tips, visit our guide to ## Security Advisories +> [!IMPORTANT] > If you discover a vulnerability in Coder, please do not hesitate to report it > to us by following the instructions > [here](https://github.com/coder/coder/blob/main/SECURITY.md). diff --git a/docs/admin/setup/index.md b/docs/admin/setup/index.md index f8a259913161a..cf01d14fbc30b 100644 --- a/docs/admin/setup/index.md +++ b/docs/admin/setup/index.md @@ -10,8 +10,7 @@ full list of the options, run `coder server --help` or see our external URL that users and workspaces use to connect to Coder (e.g. ). This should not be localhost. -> Access URL should be an external IP address or domain with DNS records -> pointing to Coder. +Access URL should be an external IP address or domain with DNS records pointing to Coder. ### Tunnel @@ -108,6 +107,7 @@ deployment information. Use `CODER_PG_CONNECTION_URL` to set the database that Coder connects to. If unset, PostgreSQL binaries will be downloaded from Maven () and store all data in the config root. +> [!NOTE] > Postgres 13 is the minimum supported version. If you are using the built-in PostgreSQL deployment and need to use `psql` (aka From 6b4d36a6a57d53560075d8ae04b25fff4b4c94e4 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Mon, 10 Mar 2025 15:25:53 +0000 Subject: [PATCH 11/14] Update template-from-scratch.md document --- docs/tutorials/template-from-scratch.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/tutorials/template-from-scratch.md b/docs/tutorials/template-from-scratch.md index b240f4ae2e292..33e02dabda399 100644 --- a/docs/tutorials/template-from-scratch.md +++ b/docs/tutorials/template-from-scratch.md @@ -21,6 +21,7 @@ Coder can provision all Terraform modules, resources, and properties. The Coder server essentially runs a `terraform apply` every time a workspace is created, started, or stopped. +> [!TIP] > Haven't written Terraform before? Check out Hashicorp's > [Getting Started Guides](https://developer.hashicorp.com/terraform/tutorials). From 06c8b360b05c6a8cb51a6583d2a2d93b456d0eb0 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Mon, 10 Mar 2025 16:11:43 +0000 Subject: [PATCH 12/14] edit or remove non GFM blockquote alerts --- docs/admin/templates/creating-templates.md | 6 ++- .../docker-in-workspaces.md | 4 +- .../templates/extending-templates/modules.md | 4 +- .../extending-templates/process-logging.md | 11 ++--- .../managing-templates/image-management.md | 14 +++--- .../templates/managing-templates/index.md | 5 +- docs/admin/users/github-auth.md | 6 +-- docs/admin/users/headless-auth.md | 2 +- docs/admin/users/index.md | 1 + docs/changelogs/v0.25.0.md | 3 +- docs/changelogs/v0.27.0.md | 3 +- docs/contributing/frontend.md | 12 ++--- docs/install/cli.md | 3 +- docs/install/index.md | 3 +- docs/install/kubernetes.md | 10 ++-- docs/install/offline.md | 13 ++--- docs/install/releases.md | 7 +-- docs/install/uninstall.md | 6 +-- docs/start/first-template.md | 7 +-- docs/start/first-workspace.md | 3 +- docs/start/local-deploy.md | 6 +-- docs/tutorials/cloning-git-repositories.md | 12 ++--- docs/tutorials/configuring-okta.md | 14 +++--- docs/tutorials/faqs.md | 14 +++--- docs/tutorials/gcp-to-aws.md | 8 ++-- docs/tutorials/postgres-ssl.md | 5 +- docs/tutorials/quickstart.md | 4 +- docs/tutorials/reverse-proxy-apache.md | 10 ++-- docs/tutorials/reverse-proxy-nginx.md | 10 ++-- docs/user-guides/desktop/index.md | 6 ++- docs/user-guides/workspace-access/index.md | 47 +++++++++++-------- .../user-guides/workspace-access/jetbrains.md | 18 +++---- .../workspace-access/port-forwarding.md | 23 ++++----- .../workspace-access/remote-desktops.md | 4 +- docs/user-guides/workspace-access/vscode.md | 1 + docs/user-guides/workspace-access/web-ides.md | 4 +- docs/user-guides/workspace-dotfiles.md | 2 + docs/user-guides/workspace-lifecycle.md | 4 +- 38 files changed, 169 insertions(+), 146 deletions(-) diff --git a/docs/admin/templates/creating-templates.md b/docs/admin/templates/creating-templates.md index 8a833015ae207..50b35b07d52b6 100644 --- a/docs/admin/templates/creating-templates.md +++ b/docs/admin/templates/creating-templates.md @@ -25,7 +25,8 @@ Give your template a name, description, and icon and press `Create template`. ![Name and icon](../../images/admin/templates/import-template.png) -> **⚠️ Note**: If template creation fails, Coder is likely not authorized to +> [!NOTE] +> If template creation fails, Coder is likely not authorized to > deploy infrastructure in the given location. Learn how to configure > [provisioner authentication](./extending-templates/provider-authentication.md). @@ -64,7 +65,8 @@ Next, push it to Coder with the coder templates push ``` -> ⚠️ Note: If `template push` fails, Coder is likely not authorized to deploy +> [!NOTE] +> If `template push` fails, Coder is likely not authorized to deploy > infrastructure in the given location. Learn how to configure > [provisioner authentication](../provisioners.md). diff --git a/docs/admin/templates/extending-templates/docker-in-workspaces.md b/docs/admin/templates/extending-templates/docker-in-workspaces.md index 734e7545a9090..4c88c2471de3f 100644 --- a/docs/admin/templates/extending-templates/docker-in-workspaces.md +++ b/docs/admin/templates/extending-templates/docker-in-workspaces.md @@ -273,8 +273,8 @@ A can be added to your templates to add docker support. This may come in handy if your nodes cannot run Sysbox. -> ⚠️ **Warning**: This is insecure. Workspaces will be able to gain root access -> to the host machine. +> [!WARNING] +> This is insecure. Workspaces will be able to gain root access to the host machine. ### Use a privileged sidecar container in Docker-based templates diff --git a/docs/admin/templates/extending-templates/modules.md b/docs/admin/templates/extending-templates/modules.md index f0db37dcfba5d..488d43eb616f0 100644 --- a/docs/admin/templates/extending-templates/modules.md +++ b/docs/admin/templates/extending-templates/modules.md @@ -93,7 +93,7 @@ to resolve modules via [Artifactory](https://jfrog.com/artifactory/). } ``` -6. Update module source as, +6. Update module source as: ```tf module "module-name" { @@ -104,7 +104,7 @@ to resolve modules via [Artifactory](https://jfrog.com/artifactory/). } ``` -> Do not forget to replace example.jfrog.io with your Artifactory URL + Replace `example.jfrog.io` with your Artifactory URL Based on the instructions [here](https://jfrog.com/blog/tour-terraform-registries-in-artifactory/). diff --git a/docs/admin/templates/extending-templates/process-logging.md b/docs/admin/templates/extending-templates/process-logging.md index 6570ca33e8826..b89baeaf6cf01 100644 --- a/docs/admin/templates/extending-templates/process-logging.md +++ b/docs/admin/templates/extending-templates/process-logging.md @@ -3,9 +3,12 @@ The workspace process logging feature allows you to log all system-level processes executing in the workspace. +This feature is only available on Linux in Kubernetes. There are +additional requirements outlined further in this document. + > [!NOTE] -> This feature is only available on Linux in Kubernetes. There are -> additional requirements outlined further in this document. +> Workspace process logging is an Enterprise and Premium feature. +> [Learn more](https://coder.com/pricing#compare-plans). Workspace process logging adds a sidecar container to workspace pods that will log all processes started in the workspace container (e.g., commands executed in @@ -17,10 +20,6 @@ monitoring stack, such as CloudWatch, for further analysis or long-term storage. Please note that these logs are not recorded or captured by the Coder organization in any way, shape, or form. -> This is an [Premium or Enterprise](https://coder.com/pricing) feature. To -> learn more about Coder licensing, please -> [contact sales](https://coder.com/contact). - ## How this works Coder uses [eBPF](https://ebpf.io/) (which we chose for its minimal performance diff --git a/docs/admin/templates/managing-templates/image-management.md b/docs/admin/templates/managing-templates/image-management.md index cb07e79bc22ef..82c552ef67aa3 100644 --- a/docs/admin/templates/managing-templates/image-management.md +++ b/docs/admin/templates/managing-templates/image-management.md @@ -31,9 +31,9 @@ to consider: `docker`, `bash`, `jq`, and/or internal tooling - Consider creating (and starting the container with) a non-root user -> See Coder's -> [example base image](https://github.com/coder/enterprise-images/tree/main/images/minimal) -> for reference. +See Coder's +[example base image](https://github.com/coder/enterprise-images/tree/main/images/minimal) +for reference. ## Create general-purpose golden image(s) with standard tooling @@ -54,10 +54,10 @@ purpose images are great for: stacks and types of projects, the golden image can be a good starting point for those projects. -> This is often referred to as a "sandbox" or "kitchen sink" image. Since large -> multi-purpose container images can quickly become difficult to maintain, it's -> important to keep the number of general-purpose images to a minimum (2-3 in -> most cases) with a well-defined scope. +This is often referred to as a "sandbox" or "kitchen sink" image. Since large +multi-purpose container images can quickly become difficult to maintain, it's +important to keep the number of general-purpose images to a minimum (2-3 in +most cases) with a well-defined scope. Examples: diff --git a/docs/admin/templates/managing-templates/index.md b/docs/admin/templates/managing-templates/index.md index d5163e6ac0477..21da05f17f3d8 100644 --- a/docs/admin/templates/managing-templates/index.md +++ b/docs/admin/templates/managing-templates/index.md @@ -27,8 +27,8 @@ here! If you prefer to use Coder on the [command line](../../../reference/cli/index.md), `coder templates init`. -> Coder starter templates are also available on our -> [GitHub repo](https://github.com/coder/coder/tree/main/examples/templates). +Coder starter templates are also available on our +[GitHub repo](https://github.com/coder/coder/tree/main/examples/templates). ## Community Templates @@ -46,6 +46,7 @@ any template's files directly in the Coder dashboard. If you'd prefer to use the CLI, use `coder templates pull`, edit the template files, then `coder templates push`. +> [!TIP] > Even if you are a Terraform expert, we suggest reading our > [guided tour of a template](../../../tutorials/template-from-scratch.md). diff --git a/docs/admin/users/github-auth.md b/docs/admin/users/github-auth.md index 70073ed49ea1f..245ab3d664563 100644 --- a/docs/admin/users/github-auth.md +++ b/docs/admin/users/github-auth.md @@ -116,9 +116,9 @@ To upgrade Coder, run: helm upgrade coder-v2/coder -n -f values.yaml ``` -> We recommend requiring and auditing MFA usage for all users in your GitHub -> organizations. This can be enforced from the organization settings page in the -> "Authentication security" sidebar tab. +We recommend requiring and auditing MFA usage for all users in your GitHub +organizations. This can be enforced from the organization settings page in the +"Authentication security" sidebar tab. ## Device Flow diff --git a/docs/admin/users/headless-auth.md b/docs/admin/users/headless-auth.md index 2a0403e5bf8ae..83173e2bbf1e5 100644 --- a/docs/admin/users/headless-auth.md +++ b/docs/admin/users/headless-auth.md @@ -4,7 +4,7 @@ Headless user accounts that cannot use the web UI to log in to Coder. This is useful for creating accounts for automated systems, such as CI/CD pipelines or for users who only consume Coder via another client/API. -> You must have the User Admin role or above to create headless users. +You must have the User Admin role or above to create headless users. ## Create a headless user diff --git a/docs/admin/users/index.md b/docs/admin/users/index.md index 9dcdb237eb764..ed7fbdebd4c5f 100644 --- a/docs/admin/users/index.md +++ b/docs/admin/users/index.md @@ -166,6 +166,7 @@ You can also reset a password via the CLI: coder reset-password ``` +> [!NOTE] > Resetting a user's password, e.g., the initial `owner` role-based user, only > works when run on the host running the Coder control plane. diff --git a/docs/changelogs/v0.25.0.md b/docs/changelogs/v0.25.0.md index caf51f917e342..ffbe1c4e5af62 100644 --- a/docs/changelogs/v0.25.0.md +++ b/docs/changelogs/v0.25.0.md @@ -1,6 +1,7 @@ ## Changelog -> **Warning**: This release has a known issue: #8351. Upgrade directly to +> [!WARNING] +> This release has a known issue: #8351. Upgrade directly to > v0.26.0 which includes a fix ### Features diff --git a/docs/changelogs/v0.27.0.md b/docs/changelogs/v0.27.0.md index 361ef96e32ae5..a37997f942f23 100644 --- a/docs/changelogs/v0.27.0.md +++ b/docs/changelogs/v0.27.0.md @@ -4,7 +4,8 @@ Agent logs can be pushed after a workspace has started (#8528) -> ⚠️ **Warning:** You will need to +> [!WARNING] +> You will need to > [update](https://coder.com/docs/install) your local Coder CLI v0.27 > to connect via `coder ssh`. diff --git a/docs/contributing/frontend.md b/docs/contributing/frontend.md index 299b1a45ae4f9..711246b0277d8 100644 --- a/docs/contributing/frontend.md +++ b/docs/contributing/frontend.md @@ -85,8 +85,8 @@ views, tests, and utility functions. The page component fetches necessary data and passes to the view. We explain this decision a bit better in the next section which talks about where to fetch data. -> ℹ️ If code within a page becomes reusable across other parts of the app, -> consider moving it to `src/utils`, `hooks`, `components`, or `modules`. +If code within a page becomes reusable across other parts of the app, +consider moving it to `src/utils`, `hooks`, `components`, or `modules`. ### Handling States @@ -269,8 +269,8 @@ template", etc. We use [Playwright](https://playwright.dev/). If you only need to test if the page is being rendered correctly, you should consider using the **Visual Testing** approach. -> ℹ️ For scenarios where you need to be authenticated, you can use -> `test.use({ storageState: getStatePath("authState") })`. +For scenarios where you need to be authenticated, you can use +`test.use({ storageState: getStatePath("authState") })`. For ease of debugging, it's possible to run a Playwright test in headful mode running a Playwright server on your local machine, and executing the test inside @@ -306,8 +306,8 @@ always be your first option since it is way easier to maintain. For this, we use [Storybook](https://storybook.js.org/) and [Chromatic](https://www.chromatic.com/). -> ℹ️ To learn more about testing components that fetch API data, refer to the -> [**Where to fetch data**](#where-to-fetch-data) section. +To learn more about testing components that fetch API data, refer to the +[**Where to fetch data**](#where-to-fetch-data) section. ### What should I test? diff --git a/docs/install/cli.md b/docs/install/cli.md index e22c07d55a025..9c68734c389b4 100644 --- a/docs/install/cli.md +++ b/docs/install/cli.md @@ -22,7 +22,8 @@ alternate installation methods (e.g. standalone binaries, system packages). ## Windows -> **Important:** If you plan to use the built-in PostgreSQL database, you will +> [!IMPORTANT] +> If you plan to use the built-in PostgreSQL database, you will > need to ensure that the > [Visual C++ Runtime](https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist#latest-microsoft-visual-c-redistributable-version) > is installed. diff --git a/docs/install/index.md b/docs/install/index.md index 4f499257fa65d..100095c7ce3c3 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -29,7 +29,8 @@ alternate installation methods (e.g. standalone binaries, system packages). ## Windows -> **Important:** If you plan to use the built-in PostgreSQL database, you will +> [!IMPORTANT] +> If you plan to use the built-in PostgreSQL database, you will > need to ensure that the > [Visual C++ Runtime](https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist#latest-microsoft-visual-c-redistributable-version) > is installed. diff --git a/docs/install/kubernetes.md b/docs/install/kubernetes.md index c74fabf2d3c77..b3b176c35da24 100644 --- a/docs/install/kubernetes.md +++ b/docs/install/kubernetes.md @@ -116,11 +116,11 @@ coder: # - my-tls-secret-name ``` -> You can view our -> [Helm README](https://github.com/coder/coder/blob/main/helm#readme) for -> details on the values that are available, or you can view the -> [values.yaml](https://github.com/coder/coder/blob/main/helm/coder/values.yaml) -> file directly. +You can view our +[Helm README](https://github.com/coder/coder/blob/main/helm#readme) for +details on the values that are available, or you can view the +[values.yaml](https://github.com/coder/coder/blob/main/helm/coder/values.yaml) +file directly. We support two release channels: mainline and stable - read the [Releases](./releases.md) page to learn more about which best suits your team. diff --git a/docs/install/offline.md b/docs/install/offline.md index 26caf8364a6b4..d836a5e8e3728 100644 --- a/docs/install/offline.md +++ b/docs/install/offline.md @@ -3,8 +3,8 @@ All Coder features are supported in offline / behind firewalls / in air-gapped environments. However, some changes to your configuration are necessary. -> This is a general comparison. Keep reading for a full tutorial running Coder -> offline with Kubernetes or Docker. +This is a general comparison. Keep reading for a full tutorial running Coder +offline with Kubernetes or Docker. | | Public deployments | Offline deployments | |--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -113,6 +113,7 @@ USER coder ENV TF_CLI_CONFIG_FILE=/home/coder/.terraformrc ``` +> [!NOTE] > If you are bundling Terraform providers into your Coder image, be sure the > provider version matches any templates or > [example templates](https://github.com/coder/coder/tree/main/examples/templates) @@ -175,10 +176,10 @@ services: # ... ``` -> The -> [terraform providers mirror](https://www.terraform.io/cli/commands/providers/mirror) -> command can be used to download the required plugins for a Coder template. -> This can be uploaded into the `plugins` directory on your offline server. +The +[terraform providers mirror](https://www.terraform.io/cli/commands/providers/mirror) +command can be used to download the required plugins for a Coder template. +This can be uploaded into the `plugins` directory on your offline server. ### Kubernetes diff --git a/docs/install/releases.md b/docs/install/releases.md index b36c574c3a457..bc5ec291dd2e0 100644 --- a/docs/install/releases.md +++ b/docs/install/releases.md @@ -34,8 +34,8 @@ only for security issues or CVEs. - In-product security vulnerabilities and CVEs are supported -> For more information on feature rollout, see our -> [feature stages documentation](../about/feature-stages.md). +For more information on feature rollout, see our +[feature stages documentation](../about/feature-stages.md). ## Installing stable @@ -66,7 +66,8 @@ pages. | 2.19.x | February 04, 2024 | Stable | | 2.20.x | March 05, 2024 | Mainline | -> **Tip**: We publish a +> [!TIP] +> We publish a > [`preview`](https://github.com/coder/coder/pkgs/container/coder-preview) image > `ghcr.io/coder/coder-preview` on each commit to the `main` branch. This can be > used to test under-development features and bug fixes that have not yet been diff --git a/docs/install/uninstall.md b/docs/install/uninstall.md index 3538af0494669..7a94b22b25f6c 100644 --- a/docs/install/uninstall.md +++ b/docs/install/uninstall.md @@ -68,9 +68,9 @@ sudo rm /etc/coder.d/coder.env ## Coder settings, cache, and the optional built-in PostgreSQL database -> There is a `postgres` directory within the `coderv2` directory that has the -> database engine and database. If you want to reuse the database, consider not -> performing the following step or copying the directory to another location. +There is a `postgres` directory within the `coderv2` directory that has the +database engine and database. If you want to reuse the database, consider not +performing the following step or copying the directory to another location.
diff --git a/docs/start/first-template.md b/docs/start/first-template.md index 188981f143ad3..3b9d49fc59fdd 100644 --- a/docs/start/first-template.md +++ b/docs/start/first-template.md @@ -28,8 +28,8 @@ Containers** template by pressing **Use Template**. ![Starter Templates UI](../images/start/starter-templates.png) -> You can also a find a comprehensive list of starter templates in **Templates** -> -> **Create Template** -> **Starter Templates**. s +You can also a find a comprehensive list of starter templates in **Templates** +-> **Create Template** -> **Starter Templates**. s ## 3. Create your template @@ -75,7 +75,8 @@ This starter template lets you connect to your workspace in a few ways: haven't already, you'll have to install Coder on your local machine to configure your SSH client. -> **Tip**: You can edit the template to let developers connect to a workspace in +> [!TIP] +> You can edit the template to let developers connect to a workspace in > [a few more ways](../ides.md). When you're done, you can stop the workspace. --> diff --git a/docs/start/first-workspace.md b/docs/start/first-workspace.md index 3bc079ef188a5..f4aec315be6b5 100644 --- a/docs/start/first-workspace.md +++ b/docs/start/first-workspace.md @@ -50,7 +50,8 @@ The Docker starter template lets you connect to your workspace in a few ways: haven't already, you'll have to install Coder on your local machine to configure your SSH client. -> **Tip**: You can edit the template to let developers connect to a workspace in +> [!TIP] +> You can edit the template to let developers connect to a workspace in > [a few more ways](../admin/templates/extending-templates/web-ides.md). ## 3. Modify your workspace settings diff --git a/docs/start/local-deploy.md b/docs/start/local-deploy.md index d3944caddf051..3fe501c02b8eb 100644 --- a/docs/start/local-deploy.md +++ b/docs/start/local-deploy.md @@ -15,8 +15,7 @@ simplicity. First, install [Docker](https://docs.docker.com/engine/install/) locally. -> If you already have the Coder binary installed, restart it after installing -> Docker. +If you already have the Coder binary installed, restart it after installing Docker.
@@ -30,7 +29,8 @@ curl -L https://coder.com/install.sh | sh ## Windows -> **Important:** If you plan to use the built-in PostgreSQL database, you will +> [!IMPORTANT] +> If you plan to use the built-in PostgreSQL database, you will > need to ensure that the > [Visual C++ Runtime](https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist#latest-microsoft-visual-c-redistributable-version) > is installed. diff --git a/docs/tutorials/cloning-git-repositories.md b/docs/tutorials/cloning-git-repositories.md index 30d93f4537238..274476b5194b0 100644 --- a/docs/tutorials/cloning-git-repositories.md +++ b/docs/tutorials/cloning-git-repositories.md @@ -39,9 +39,9 @@ module "git-clone" { } ``` -> You can edit the template using an IDE or terminal of your preference, or by -> going into the -> [template editor UI](../admin/templates/creating-templates.md#web-ui). +You can edit the template using an IDE or terminal of your preference, or by +going into the +[template editor UI](../admin/templates/creating-templates.md#web-ui). You can also use [template parameters](../admin/templates/extending-templates/parameters.md) to @@ -63,9 +63,9 @@ module "git-clone" { } ``` -> If you need more customization, you can read the -> [Git Clone module](https://registry.coder.com/modules/git-clone) documentation -> to learn more about the module. +If you need more customization, you can read the +[Git Clone module](https://registry.coder.com/modules/git-clone) documentation +to learn more about the module. Don't forget to build and publish the template changes before creating a new workspace. You can check if the repository is cloned by accessing the workspace diff --git a/docs/tutorials/configuring-okta.md b/docs/tutorials/configuring-okta.md index b5e936e922a39..fa6e6c74c0601 100644 --- a/docs/tutorials/configuring-okta.md +++ b/docs/tutorials/configuring-okta.md @@ -11,12 +11,12 @@ December 13, 2023 --- -> Okta is an identity provider that can be used for OpenID Connect (OIDC) Single -> Sign On (SSO) on Coder. +Okta is an identity provider that can be used for OpenID Connect (OIDC) Single +Sign On (SSO) on Coder. To configure custom claims in Okta to support syncing roles and groups with Coder, you must first have setup an Okta application with -[OIDC working with Coder](https://coder.com/docs/admin/auth#openid-connect). +[OIDC working with Coder](../admin/users/oidc-auth.md). From here, we will add additional claims for Coder to use for syncing groups and roles. @@ -37,10 +37,10 @@ In the “OpenID Connect ID Token” section, turn on “Groups Claim Type” an the “Claim name” to `groups`. Optionally configure a filter for which groups to be sent. -> !! If the user does not belong to any groups, the claim will not be sent. Make -> sure the user authenticating for testing is in at least 1 group. Defer to -> [troubleshooting](https://coder.com/docs/admin/auth#troubleshooting) with -> issues +> [!IMPORTANT] +> If the user does not belong to any groups, the claim will not be sent. Make +> sure the user authenticating for testing is in at least one group. Defer to +> [troubleshooting](../admin/users/index.md) with issues. ![Okta OpenID Connect ID Token](../images/guides/okta/oidc_id_token.png) diff --git a/docs/tutorials/faqs.md b/docs/tutorials/faqs.md index 184e6dedb2ee1..1c2f5b1fb854e 100644 --- a/docs/tutorials/faqs.md +++ b/docs/tutorials/faqs.md @@ -123,10 +123,10 @@ icons except the web terminal. ## I want to allow code-server to be accessible by other users in my deployment -> It is **not** recommended to share a web IDE, but if required, the following -> deployment environment variable settings are required. +We don't recommend that you share a web IDE, but if you need to, the following +deployment environment variable settings are required. -Set deployment (Kubernetes) to allow path app sharing +Set deployment (Kubernetes) to allow path app sharing: ```yaml # allow authenticated users to access path-based workspace apps @@ -160,8 +160,8 @@ If the [`CODER_ACCESS_URL`](../admin/setup/index.md#access-url) is not accessible from a workspace, the workspace may build, but the agent cannot reach Coder, and thus the missing icons. e.g., Terminal, IDEs, Apps. -> By default, `coder server` automatically creates an Internet-accessible -> reverse proxy so that workspaces you create can reach the server. +By default, `coder server` automatically creates an Internet-accessible +reverse proxy so that workspaces you create can reach the server. If you are doing a standalone install, e.g., on a MacBook and want to build workspaces in Docker Desktop, everything is self-contained and workspaces @@ -171,8 +171,8 @@ workspaces in Docker Desktop, everything is self-contained and workspaces coder server --access-url http://localhost:3000 --address 0.0.0.0:3000 ``` -> Even `coder server` which creates a reverse proxy, will let you use -> to access Coder from a browser. +Even `coder server` which creates a reverse proxy, will let you use + to access Coder from a browser. ## I updated a template, and an existing workspace based on that template fails to start diff --git a/docs/tutorials/gcp-to-aws.md b/docs/tutorials/gcp-to-aws.md index 8bcff6ed2ea80..f1bde4616fd50 100644 --- a/docs/tutorials/gcp-to-aws.md +++ b/docs/tutorials/gcp-to-aws.md @@ -15,8 +15,8 @@ authenticate the Coder control plane to AWS and create an EC2 workspace. The below steps assume your Coder control plane is running in Google Cloud and has the relevant service account assigned. -> For steps on assigning a service account to a resource like Coder, -> [see the Google documentation here](https://cloud.google.com/iam/docs/attach-service-accounts#attaching-new-resource) +For steps on assigning a service account to a resource like Coder, visit the +[Google documentation](https://cloud.google.com/iam/docs/attach-service-accounts#attaching-new-resource). ## 1. Get your Google service account OAuth Client ID @@ -24,8 +24,8 @@ Navigate to the Google Cloud console, and select **IAM & Admin** > **Service Accounts**. View the service account you want to use, and copy the **OAuth 2 Client ID** value shown on the right-hand side of the row. -> (Optional): If you do not yet have a service account, -> [here is the Google IAM documentation on creating a service account](https://cloud.google.com/iam/docs/service-accounts-create). +Optionally: If you do not yet have a service account, use the +[Google IAM documentation on creating a service account](https://cloud.google.com/iam/docs/service-accounts-create) to create one. ## 2. Create AWS role diff --git a/docs/tutorials/postgres-ssl.md b/docs/tutorials/postgres-ssl.md index 829a1d722dbb4..9160ef5d44459 100644 --- a/docs/tutorials/postgres-ssl.md +++ b/docs/tutorials/postgres-ssl.md @@ -72,6 +72,5 @@ coder: postgres://:@databasehost:/?sslmode=verify-full&sslrootcert="/home/coder/.postgresql/postgres-root.crt" ``` -> More information on connecting to PostgreSQL databases using certificates can -> be found -> [here](https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-CLIENTCERT). +More information on connecting to PostgreSQL databases using certificates can +be found in the [PostgreSQL documentation](https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-CLIENTCERT). diff --git a/docs/tutorials/quickstart.md b/docs/tutorials/quickstart.md index feff2971077ee..a09bb95d478b7 100644 --- a/docs/tutorials/quickstart.md +++ b/docs/tutorials/quickstart.md @@ -57,8 +57,8 @@ persistent environment from your main device, a tablet, or your phone. ## Windows -> **Important:** If you plan to use the built-in PostgreSQL database, ensure -> that the +> [!IMPORTANT] +> If you plan to use the built-in PostgreSQL database, ensure that the > [Visual C++ Runtime](https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist#latest-microsoft-visual-c-redistributable-version) > is installed. diff --git a/docs/tutorials/reverse-proxy-apache.md b/docs/tutorials/reverse-proxy-apache.md index f11cc66ee4c4a..b49ed6db57315 100644 --- a/docs/tutorials/reverse-proxy-apache.md +++ b/docs/tutorials/reverse-proxy-apache.md @@ -53,9 +53,9 @@ ## Create DNS provider credentials -> This example assumes you're using CloudFlare as your DNS provider. For other -> providers, refer to the -> [CertBot documentation](https://eff-certbot.readthedocs.io/en/stable/using.html#dns-plugins). +This example assumes you're using CloudFlare as your DNS provider. For other +providers, refer to the +[CertBot documentation](https://eff-certbot.readthedocs.io/en/stable/using.html#dns-plugins). 1. Create an API token for the DNS provider you're using: e.g. [CloudFlare](https://developers.cloudflare.com/fundamentals/api/get-started/create-token) @@ -92,8 +92,8 @@ ## Configure Apache -> This example assumes Coder is running locally on `127.0.0.1:3000` and that -> you're using `coder.example.com` as your subdomain. +This example assumes Coder is running locally on `127.0.0.1:3000` and that +you're using `coder.example.com` as your subdomain. 1. Create Apache configuration for Coder: diff --git a/docs/tutorials/reverse-proxy-nginx.md b/docs/tutorials/reverse-proxy-nginx.md index 36ac9f4a9af49..afc48cd6ef75c 100644 --- a/docs/tutorials/reverse-proxy-nginx.md +++ b/docs/tutorials/reverse-proxy-nginx.md @@ -36,8 +36,8 @@ ## Adding Coder deployment subdomain -> This example assumes Coder is running locally on `127.0.0.1:3000` and that -> you're using `coder.example.com` as your subdomain. +This example assumes Coder is running locally on `127.0.0.1:3000` and that +you're using `coder.example.com` as your subdomain. 1. Create NGINX configuration for this app: @@ -60,9 +60,9 @@ ## Create DNS provider credentials -> This example assumes you're using CloudFlare as your DNS provider. For other -> providers, refer to the -> [CertBot documentation](https://eff-certbot.readthedocs.io/en/stable/using.html#dns-plugins). +This example assumes you're using CloudFlare as your DNS provider. For other +providers, refer to the +[CertBot documentation](https://eff-certbot.readthedocs.io/en/stable/using.html#dns-plugins). 1. Create an API token for the DNS provider you're using: e.g. [CloudFlare](https://developers.cloudflare.com/fundamentals/api/get-started/create-token) diff --git a/docs/user-guides/desktop/index.md b/docs/user-guides/desktop/index.md index 9b6de6cffb054..83963480c087b 100644 --- a/docs/user-guides/desktop/index.md +++ b/docs/user-guides/desktop/index.md @@ -3,7 +3,8 @@ Use Coder Desktop to work on your workspaces as though they're on your LAN, no port-forwarding required. -> ⚠️ Note: Coder Desktop requires a Coder deployment running [v2.20.0](https://github.com/coder/coder/releases/tag/v2.20.0) or later. +> [!NOTE] +> Coder Desktop requires a Coder deployment running [v2.20.0](https://github.com/coder/coder/releases/tag/v2.20.0) or later. ## Install Coder Desktop @@ -132,7 +133,8 @@ You can also connect to the SSH server in your workspace using any SSH client, s ssh your-workspace.coder ``` -> ⚠️ Note: Currently, the Coder IDE extensions for VSCode and JetBrains create their own tunnel and do not utilize the CoderVPN tunnel to connect to workspaces. +> [!NOTE] +> Currently, the Coder IDE extensions for VSCode and JetBrains create their own tunnel and do not utilize the CoderVPN tunnel to connect to workspaces. ## Accessing web apps in a secure browser context diff --git a/docs/user-guides/workspace-access/index.md b/docs/user-guides/workspace-access/index.md index be1ebad3967b3..5b1e7502f16fc 100644 --- a/docs/user-guides/workspace-access/index.md +++ b/docs/user-guides/workspace-access/index.md @@ -3,9 +3,9 @@ There are many ways to connect to your workspace, the options are only limited by the template configuration. -> Deployment operators can learn more about different types of workspace -> connections and performance in our -> [networking docs](../../admin/infrastructure/index.md). +Deployment operators can learn more about different types of workspace +connections and performance in our +[networking docs](../../admin/infrastructure/index.md). You can see the primary methods of connecting to your workspace in the workspace dashboard. @@ -38,30 +38,37 @@ Or, you can configure plain SSH on your client below. Coder generates [SSH key pairs](../../admin/security/secrets.md#ssh-keys) for each user to simplify the setup process. -> Before proceeding, run `coder login ` if you haven't already to -> authenticate the CLI with the web UI and your workspaces. +1. Use your terminal to authenticate the CLI with Coder web UI and your workspaces: -To access Coder via SSH, run the following in the terminal: + ```bash + coder login + ``` -```console -coder config-ssh -``` +1. Access Coder via SSH: -> Run `coder config-ssh --dry-run` if you'd like to see the changes that will be -> made before proceeding. + ```console + coder config-ssh + ``` -Confirm that you want to continue by typing **yes** and pressing enter. If -successful, you'll see the following message: +1. Run `coder config-ssh --dry-run` if you'd like to see the changes that will be + before you proceed: -```console -You should now be able to ssh into your workspace. -For example, try running: + ```bash + coder config-ssh --dry-run + ``` -$ ssh coder. -``` +1. Confirm that you want to continue by typing **yes** and pressing enter. If +successful, you'll see the following message: + + ```console + You should now be able to ssh into your workspace. + For example, try running: + + $ ssh coder. + ``` -Your workspace is now accessible via `ssh coder.` (e.g., -`ssh coder.myEnv` if your workspace is named `myEnv`). +Your workspace is now accessible via `ssh coder.` +(for example, `ssh coder.myEnv` if your workspace is named `myEnv`). ## Visual Studio Code diff --git a/docs/user-guides/workspace-access/jetbrains.md b/docs/user-guides/workspace-access/jetbrains.md index 1f20673704144..f99ae8d851aca 100644 --- a/docs/user-guides/workspace-access/jetbrains.md +++ b/docs/user-guides/workspace-access/jetbrains.md @@ -27,10 +27,6 @@ manually setting up an SSH connection. ### How to use the plugin -> If you experience problems, please -> [create a GitHub issue](https://github.com/coder/coder/issues) or share in -> [our Discord channel](https://discord.gg/coder). - 1. [Install Gateway](https://www.jetbrains.com/help/idea/jetbrains-gateway.html) and open the application. 1. Under **Install More Providers**, find the Coder icon and click **Install** @@ -74,6 +70,10 @@ manually setting up an SSH connection. The JetBrains IDE is remotely installed into `~/.cache/JetBrains/RemoteDev/dist` +If you experience any issues, please +[create a GitHub issue](https://github.com/coder/coder/issues) or share in +[our Discord channel](https://discord.gg/coder). + ### Update a Coder plugin version 1. Click the gear icon at the bottom left of the Gateway home screen and then @@ -135,8 +135,7 @@ keytool -import -alias coder -file cacert.pem -keystore /Applications/JetBrains\ ## Manually Configuring A JetBrains Gateway Connection -> This is in lieu of using Coder's Gateway plugin which automatically performs -> these steps. +This is in lieu of using Coder's Gateway plugin which automatically performs these steps. 1. [Install Gateway](https://www.jetbrains.com/help/idea/jetbrains-gateway.html). @@ -204,6 +203,7 @@ cd /opt/idea/bin ./remote-dev-server.sh registerBackendLocationForGateway ``` +> [!NOTE] > Gateway only works with paid versions of JetBrains IDEs so the script will not > be located in the `bin` directory of JetBrains Community editions. @@ -393,6 +393,6 @@ Fleet can connect to a Coder workspace by following these steps. 4. Connect via SSH with the Host set to `coder.workspace-name` ![Fleet Connect to Coder](../../images/fleet/ssh-connect-to-coder.png) -> If you experience problems, please -> [create a GitHub issue](https://github.com/coder/coder/issues) or share in -> [our Discord channel](https://discord.gg/coder). +If you experience any issues, please +[create a GitHub issue](https://github.com/coder/coder/issues) or share in +[our Discord channel](https://discord.gg/coder). diff --git a/docs/user-guides/workspace-access/port-forwarding.md b/docs/user-guides/workspace-access/port-forwarding.md index cb2a121445b76..26c1259637299 100644 --- a/docs/user-guides/workspace-access/port-forwarding.md +++ b/docs/user-guides/workspace-access/port-forwarding.md @@ -50,17 +50,17 @@ For more examples, see `coder port-forward --help`. ## Dashboard -> To enable port forwarding via the dashboard, Coder must be configured with a -> [wildcard access URL](../../admin/setup/index.md#wildcard-access-url). If an -> access URL is not specified, Coder will create -> [a publicly accessible URL](../../admin/setup/index.md#tunnel) to reverse -> proxy the deployment, and port forwarding will work. -> -> There is a -> [DNS limitation](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.1) -> where each segment of hostnames must not exceed 63 characters. If your app -> name, agent name, workspace name and username exceed 63 characters in the -> hostname, port forwarding via the dashboard will not work. +To enable port forwarding via the dashboard, Coder must be configured with a +[wildcard access URL](../../admin/setup/index.md#wildcard-access-url). If an +access URL is not specified, Coder will create +[a publicly accessible URL](../../admin/setup/index.md#tunnel) to reverse +proxy the deployment, and port forwarding will work. + +There is a +[DNS limitation](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.1) +where each segment of hostnames must not exceed 63 characters. If your app +name, agent name, workspace name and username exceed 63 characters in the +hostname, port forwarding via the dashboard will not work. ### From an coder_app resource @@ -122,6 +122,7 @@ it is still accessible. ![Annotated port controls in the UI](../../images/networking/annotatedports.png) +> [!NOTE] > The sharing level is limited by the maximum level enforced in the template > settings in licensed deployments, and not restricted in OSS deployments. diff --git a/docs/user-guides/workspace-access/remote-desktops.md b/docs/user-guides/workspace-access/remote-desktops.md index f9da71d6d01d4..7ea1e9306f2e1 100644 --- a/docs/user-guides/workspace-access/remote-desktops.md +++ b/docs/user-guides/workspace-access/remote-desktops.md @@ -1,7 +1,7 @@ # Remote Desktops -> Built-in remote desktop is on the roadmap -> ([#2106](https://github.com/coder/coder/issues/2106)). +Built-in remote desktop is on the roadmap +([#2106](https://github.com/coder/coder/issues/2106)). ## VNC Desktop diff --git a/docs/user-guides/workspace-access/vscode.md b/docs/user-guides/workspace-access/vscode.md index 2f9aad56f9c4d..cd67c2a775bbd 100644 --- a/docs/user-guides/workspace-access/vscode.md +++ b/docs/user-guides/workspace-access/vscode.md @@ -15,6 +15,7 @@ extension, authenticates with Coder, and connects to the workspace. ![Demo](https://github.com/coder/vscode-coder/raw/main/demo.gif?raw=true) +> [!NOTE] > The `VS Code Desktop` button can be hidden by enabling > [Browser-only connections](../../admin/networking/index.md#browser-only-connections). diff --git a/docs/user-guides/workspace-access/web-ides.md b/docs/user-guides/workspace-access/web-ides.md index 583118d596ad3..5505f81a4c7d3 100644 --- a/docs/user-guides/workspace-access/web-ides.md +++ b/docs/user-guides/workspace-access/web-ides.md @@ -15,8 +15,8 @@ In Coder, web IDEs are defined as resources in the template. With our generic model, any web application can be used as a Coder application. For example: -> To learn more about configuring IDEs in templates, see our docs on -> [template administration](../../admin/templates/index.md). +To learn more about configuring IDEs in templates, see our docs on +[template administration](../../admin/templates/index.md). ![External URLs](../../images/external-apps.png) diff --git a/docs/user-guides/workspace-dotfiles.md b/docs/user-guides/workspace-dotfiles.md index cefbc05076726..98e11fd6bc80a 100644 --- a/docs/user-guides/workspace-dotfiles.md +++ b/docs/user-guides/workspace-dotfiles.md @@ -18,6 +18,7 @@ your workspace automatically. ![Dotfiles in workspace creation](../images/user-guides/dotfiles-module.png) +> [!NOTE] > Template admins: this can be enabled quite easily with a our > [dotfiles module](https://registry.coder.com/modules/dotfiles) using just a > few lines in the template. @@ -37,6 +38,7 @@ sudo apt update sudo apt install -y neovim fish cargo ``` +> [!NOTE] > Template admins: refer to > [this module](https://registry.coder.com/modules/personalize) to enable the > `~/personalize` script on templates. diff --git a/docs/user-guides/workspace-lifecycle.md b/docs/user-guides/workspace-lifecycle.md index 56d0c0b5ba7fd..833bc1307c4fd 100644 --- a/docs/user-guides/workspace-lifecycle.md +++ b/docs/user-guides/workspace-lifecycle.md @@ -15,8 +15,8 @@ Persistent resources stay provisioned when the workspace is stopped, where as ephemeral resources are destroyed and recreated on restart. All resources are destroyed when a workspace is deleted. -> Template administrators can learn more about resource configuration in the -> [extending templates docs](../admin/templates/extending-templates/resource-persistence.md). +Template administrators can learn more about resource configuration in the +[extending templates docs](../admin/templates/extending-templates/resource-persistence.md). ## Workspace States From 1735d16c3bf4d20c9f126c654da84c2832bf4b02 Mon Sep 17 00:00:00 2001 From: Edward Angert Date: Mon, 10 Mar 2025 15:05:42 -0400 Subject: [PATCH 13/14] Apply suggestions from code review Co-authored-by: M Atif Ali --- docs/CONTRIBUTING.md | 2 +- docs/admin/security/database-encryption.md | 4 ++-- docs/admin/security/index.md | 2 +- docs/admin/users/github-auth.md | 2 +- docs/admin/users/idp-sync.md | 2 +- docs/admin/users/password-auth.md | 2 +- docs/user-guides/workspace-access/index.md | 5 ++--- 7 files changed, 9 insertions(+), 10 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 7a21210c51609..61319d3f756b2 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -343,7 +343,7 @@ Breaking changes can be triggered in two ways: ### Security -> [!IMPORTANT] +> [!CAUTION] > If you find a vulnerability, **DO NOT FILE AN ISSUE**. Instead, send an email > to . diff --git a/docs/admin/security/database-encryption.md b/docs/admin/security/database-encryption.md index fae94885f6746..289c18a7c11dd 100644 --- a/docs/admin/security/database-encryption.md +++ b/docs/admin/security/database-encryption.md @@ -118,8 +118,8 @@ data: This command will re-encrypt all tokens with the specified new encryption key. We recommend performing this action during a maintenance window. - > [!NOTE] - > this command requires direct access to the database. If you are using + > [!IMPORTANT] + > This command requires direct access to the database. If you are using > the built-in PostgreSQL database, you can run > [`coder server postgres-builtin-url`](../../reference/cli/server_postgres-builtin-url.md) > to get the connection URL. diff --git a/docs/admin/security/index.md b/docs/admin/security/index.md index b9d6ecea2a448..84d89d0c34668 100644 --- a/docs/admin/security/index.md +++ b/docs/admin/security/index.md @@ -7,7 +7,7 @@ For other security tips, visit our guide to ## Security Advisories -> [!IMPORTANT] +> [!CAUTION] > If you discover a vulnerability in Coder, please do not hesitate to report it > to us by following the instructions > [here](https://github.com/coder/coder/blob/main/SECURITY.md). diff --git a/docs/admin/users/github-auth.md b/docs/admin/users/github-auth.md index 245ab3d664563..1be6f7a11d9ef 100644 --- a/docs/admin/users/github-auth.md +++ b/docs/admin/users/github-auth.md @@ -81,7 +81,7 @@ CODER_OAUTH2_GITHUB_CLIENT_ID="8d1...e05" CODER_OAUTH2_GITHUB_CLIENT_SECRET="57ebc9...02c24c" ``` -> [!NOTE] +> [!TIP] > To allow everyone to sign up using GitHub, set: > > ```env diff --git a/docs/admin/users/idp-sync.md b/docs/admin/users/idp-sync.md index b481531bd5f48..79ba51414d31f 100644 --- a/docs/admin/users/idp-sync.md +++ b/docs/admin/users/idp-sync.md @@ -107,7 +107,7 @@ Below is an example that uses the `groups` claim and maps all groups prefixed by } ``` -> [!NOTE] +> [!IMPORTANT] > You must specify Coder group IDs instead of group names. The fastest way to find > the ID for a corresponding group is by visiting > `https://coder.example.com/api/v2/groups`. diff --git a/docs/admin/users/password-auth.md b/docs/admin/users/password-auth.md index c83a5e17ea7e8..7dd9e9e564d39 100644 --- a/docs/admin/users/password-auth.md +++ b/docs/admin/users/password-auth.md @@ -15,7 +15,7 @@ If you remove the admin user account (or forget the password), you can run the [`coder server create-admin-user`](../../reference/cli/server_create-admin-user.md)command on your server. -> [!NOTE] +> [!IMPORTANT] > You must run this command on the same machine running the Coder server. > If you are running Coder on Kubernetes, this means using > [kubectl exec](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_exec/) diff --git a/docs/user-guides/workspace-access/index.md b/docs/user-guides/workspace-access/index.md index 5b1e7502f16fc..a3196557754cf 100644 --- a/docs/user-guides/workspace-access/index.md +++ b/docs/user-guides/workspace-access/index.md @@ -46,16 +46,15 @@ each user to simplify the setup process. 1. Access Coder via SSH: - ```console + ```shell coder config-ssh ``` 1. Run `coder config-ssh --dry-run` if you'd like to see the changes that will be before you proceed: - ```bash + ```shell coder config-ssh --dry-run - ``` 1. Confirm that you want to continue by typing **yes** and pressing enter. If successful, you'll see the following message: From e527a537e1e2f2a08c7cf853a462d7ca654c2ed2 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Mon, 10 Mar 2025 19:14:32 +0000 Subject: [PATCH 14/14] close codeblock --- docs/user-guides/workspace-access/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/user-guides/workspace-access/index.md b/docs/user-guides/workspace-access/index.md index a3196557754cf..91d50fe27e727 100644 --- a/docs/user-guides/workspace-access/index.md +++ b/docs/user-guides/workspace-access/index.md @@ -55,6 +55,7 @@ each user to simplify the setup process. ```shell coder config-ssh --dry-run + ``` 1. Confirm that you want to continue by typing **yes** and pressing enter. If successful, you'll see the following message: