diff --git a/admin/access-control/manage.md b/admin/access-control/manage.md index a54198144..ee9cd585d 100644 --- a/admin/access-control/manage.md +++ b/admin/access-control/manage.md @@ -16,7 +16,8 @@ article. ## Coder's OIDC claims -Coder expects the following [OIDC claims](https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#whats-a-claim) +Coder expects the following +[OIDC claims](https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#whats-a-claim) from your OIDC provider: - `email` (required) @@ -65,6 +66,21 @@ you: to log in with an email/password option when you've enabled OIDC authentication +### Logging + +If you're having issues with your OIDC configuration, you can enable additional +logging of OIDC tokens to aid in troubleshooting. + +To do so, [update your Helm chart](../../guides/admin/helm-charts.md) and set +the `OIDC_DEBUG` environment variable to `true`: + +```yaml +coderd: + extraEnvs: + - name: "OIDC_DEBUG" + value: "true" +``` + ### Disable built-in authentication You can disable built-in authentication as an option for accessing Coder if you diff --git a/admin/git.md b/admin/git.md index 11c363a83..75753c281 100644 --- a/admin/git.md +++ b/admin/git.md @@ -26,8 +26,8 @@ Coder integrates with the following service providers for authentication and Linking your Coder account with a git service provider is _not_ required. Instead, you can use Visual Studio Code with git, the command-line tool, and we -expect that this combination will work with most hosting software or services. -However, Coder doesn't test these and cannot provide recommendations or support. +expect this combination to work with most hosting software or services. However, +Coder doesn't test these and cannot provide recommendations or support. > Ensure that your Git provider supports the keygen algorithm that Coder uses; > you can choose the algorithm in **Manage** > **Admin** > **Security** > @@ -38,8 +38,16 @@ However, Coder doesn't test these and cannot provide recommendations or support. ## Configuring OAuth Before developers can link their accounts, you (or another site manager) must -create an OAuth application with the appropriate providers. When registering, -you'll be asked for the following details related to your Coder deployment. +create an OAuth application with the appropriate providers. You can create as +many OAuth applications as necessary. + +1. Log into Coder as a site manager, and go to **Manage** > **Admin** > **Git + OAuth**. +1. Click **Add provider**. +1. Select your **Provider** (e.g., GitHub, GitLab, or Bitbucket Server). +1. Create an OAuth application with your Git provider and provide Coder with the + requested details (the parameters required vary based on your Git provider). + See the following sections for additional guidance. ### GitHub @@ -54,7 +62,9 @@ ask you for the following Coder parameters: `[your-coder-domain]/oauth/callback` (e.g. `https://coder.domain.com/oauth/callback`) -Then, provide your **Client ID** and **Client Secret** to Coder. +Then, in Coder, provide a **Name** for your app, your **URL**, **Client ID**, +and **Client Secret** to Coder. You can also provide an optional +**Description**. When done, click **Save**. @@ -73,7 +83,9 @@ enabled the following: - **Confidential**: Check this option - **API** (scope): Check this option -Then, provide your **Client ID** and **Client Secret** to Coder. +Then, in Coder, provide a **Name** for your app, your **URL**, **Application +ID**, and **Client Secret** to Coder. You can also provide an optional +**Description**. When done, click **Save**. @@ -93,4 +105,7 @@ For your newly created Application Link, provide the following values as your - **Public Key**: Your public key (available from the Coder Admin Configuration page) +Then, in Coder, provide a **Name** for your app, your **URL**, and, optionally, +a **Description**. + When done, click **Save**. diff --git a/admin/workspace-management/cvms/management.md b/admin/workspace-management/cvms/management.md index 5aab64d23..4c6bcdcaf 100644 --- a/admin/workspace-management/cvms/management.md +++ b/admin/workspace-management/cvms/management.md @@ -9,13 +9,27 @@ a site manager must enable CVMs. To do so: 1. Go to **Manage > Admin > Infrastructure**. 1. Toggle the **Enable Container-Based Virtual Machines** option to **Enable**. -This section also describes the customization features that Coder offers for -CVMs: +## Customization + +Once you've enabled CVMs, you can customize the behavior of your deployment and +workspaces. ![CVM Settings](../../../assets/admin/cvm-settings.png) These settings will apply to workspaces **after** they have been rebuilt. +## Default workspaces to CVMs + +Once you've enabled CVMs, you can control whether all new workspaces should be +built as a CVM or not. + +If you would like all newly created workspaces to be CVMs, toggle **Default to +container-based virtual machines** to **On**. + +> While this toggle changes the default workspace creation setting, users can still +> override this setting. For example, if you enable CVMS and set them as the +> default, a user can still create non-CVM workspaces (and vice versa). + ## Caching > Cached CVMs are currently an **alpha** feature. diff --git a/admin/workspace-management/limits.md b/admin/workspace-management/limits.md new file mode 100644 index 000000000..246b164e4 --- /dev/null +++ b/admin/workspace-management/limits.md @@ -0,0 +1,16 @@ +--- +title: "Workspace limits" +description: Learn how to limit the number of workspaces users can create. +--- + +You can set the maximum number of workspaces that each user can create. To do +so, [update your Helm chart](../../guides/admin/helm-charts.md) and set the +`CODER_MAX_WORKSPACES_PER_USER` parameter to the maximum allowable number: + +```yaml +# Allow each user to create no more than 100 workspaces +coderd: + extraEnvs: + - name: CODER_MAX_WORKSPACES_PER_USER + value: 100 +``` diff --git a/admin/workspace-management/self-contained-builds.md b/admin/workspace-management/self-contained-builds.md index ab9d8d1f1..80cd29855 100644 --- a/admin/workspace-management/self-contained-builds.md +++ b/admin/workspace-management/self-contained-builds.md @@ -1,27 +1,35 @@ --- title: "Self-contained workspace builds" -description: Learn how to enable self-contained workspace builds. -state: alpha +description: Learn how to toggle self-contained workspace builds. --- -By default the Coder workspace boot sequence occurs remotely -- Coder uploads -assets (including the Coder agent, code-server, and JetBrains Projector) from -`coderd` to a workspace. +Currently, there are two ways in which the workspace boot sequence can occur: -However, Coder offers the option of using **self-contained workspace builds**. -Enabling this option changes the Coder deployment so that workspaces control the -boot sequence internally, with the workspace downloading assets from `coderd`. +1. Remotely: Coder uploads assets (including the Coder agent, code-server, and + JetBrains Projector) from `coderd` to a workspace. +1. Self-contained: workspaces control the boot sequence internally; the + workspace downloads assets from `coderd`. This requires `curl` to be + available in the image. -> At this time, Coder does not support certificate injection with -> self-contained workspace builds. +Beginning with v1.30.0, the default is **self-contained workspace builds**, +though site managers can toggle this feature off and opt for remote builds +instead. -To enable self-contained workspace builds: +> Coder plans to deprecate remote workspace builds in the future. + +To toggle self-contained workspace builds: 1. Log into Coder. 1. Go to Manage > Admin. 1. On the Infrastructure page, scroll down to **Workspace container runtime**. -1. Under **Enable self-contained workspace builds**, flip the toggle to **On**. +1. Under **Enable self-contained workspace builds**, flip the toggle to **On** + or **Off** as required. 1. Click **Save workspaces**. > Build errors are typically more verbose for remote builds than with > self-contained builds. + +## Known issues + +At this time, Coder does not support certificate injection with self-contained +workspace builds. diff --git a/assets/guides/admin/file-download.png b/assets/guides/admin/file-download.png new file mode 100644 index 000000000..143b9caff Binary files /dev/null and b/assets/guides/admin/file-download.png differ diff --git a/changelog/1.28.5.md b/changelog/1.28.5.md new file mode 100644 index 000000000..15e7930c5 --- /dev/null +++ b/changelog/1.28.5.md @@ -0,0 +1,23 @@ +--- +title: "1.28.5" +description: "Released on 4/28/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.28.5. + +### Features ✨ + +There are no new features in 1.28.5. + +### Bug fixes πŸ› + +- infra: fixed issue where the Coder front-end attempts to reconnect to a + workspace even when it is offline. +- web: fixed issue where the error message does not show when a user exceeds + their resource quota when attempting to create a workspace. + +### Security updates πŸ” + +There are no security updates in 1.28.5. diff --git a/changelog/1.28.6.md b/changelog/1.28.6.md new file mode 100644 index 000000000..e543f9587 --- /dev/null +++ b/changelog/1.28.6.md @@ -0,0 +1,22 @@ +--- +title: "1.28.6" +description: "Released on 04/29/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.28.6. + +### Features ✨ + +- infra: Coder tunnel no longer exits after a single connection. + +### Bug fixes πŸ› + +- infra: fixed issue where a lower MTU caused connections to break. +- infra: fixed issue where the default Helm `networkingress` policy did not + allow inbound UDP connections. + +### Security updates πŸ” + +There are no security updates in 1.28.6. diff --git a/changelog/1.29.3.md b/changelog/1.29.3.md new file mode 100644 index 000000000..df7135a08 --- /dev/null +++ b/changelog/1.29.3.md @@ -0,0 +1,21 @@ +--- +title: "1.29.3" +description: "Released on 4/28/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.29.3. + +### Features ✨ + +There are no new features in 1.29.3. + +### Bug fixes πŸ› + +- infra: fixed issue where the Coder front-end attempts to reconnect to a + workspace even when it is offline. + +### Security updates πŸ” + +There are no security updates in 1.29.3. diff --git a/changelog/1.29.4.md b/changelog/1.29.4.md new file mode 100644 index 000000000..0575690ed --- /dev/null +++ b/changelog/1.29.4.md @@ -0,0 +1,22 @@ +--- +title: "1.29.4" +description: "Released on 04/29/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.29.4. + +### Features ✨ + +- infra: Coder tunnel no longer exits after a single connection. + +### Bug fixes πŸ› + +- infra: fixed issue where a lower MTU caused connections to break. +- infra: fixed issue where the default Helm `networkingress` policy did not + allow inbound UDP connections. + +### Security updates πŸ” + +There are no security updates in 1.29.4. diff --git a/changelog/1.30.0.md b/changelog/1.30.0.md new file mode 100644 index 000000000..20a4c3ae7 --- /dev/null +++ b/changelog/1.30.0.md @@ -0,0 +1,87 @@ +--- +title: "1.30.0" +description: "Released on 04/27/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.30.0. + +### Features ✨ + +- web: added + [admin toggle that sets whether new workspaces are CVMs or not](../admin/workspace-management/cvms/management.md#default-workspaces-to-cvms) + (if CVMs are enabled for the deployment). +- web: added support for the use of + [multiple Git OAuth providers](../admin/git.md). +- web: added ability to + [choose webRTC mode](../workspaces/preferences.md#networking). +- infra: upgraded code-server to v4.3.0 (featuring VS Code v1.65.2). +- infra: added ability for an admin to + [disable the download files function](../guides/admin/disable-downloads.md) + from the web IDE's tree view. +- infra: added ability to toggle + [logging of OIDC tokens](../admin/access-control/manage.md#logging). +- infra: mounted additional NVIDIA GPU libraries (specifically the GL/GLX + libraries) from the host into CVMs if users request GPUs. +- infra: added `CODER_MAX_WORKSPACES_PER_USER` environment variable to `coderd` + that + [controls the maximum number of workspaces allowed to each user](../admin/workspace-management/limits.md). +- infra: improved Bitbucket server account linking error messages to help debug + integration issues. +- infra: updated Coder so that + [self-contained builds](../admin/workspace-management/self-contained-builds.md) + are now the default. +- infra: updated Sysbox to version 0.5.0. + +### Bug fixes πŸ› + +- web: fixed issue where dev URLs created via configure scripts do not show in + the UI without a manual refresh. +- web: fixed issue with Projector navbar occasionally displaying. +- web: fixed issue where JetBrains 2022.1 IDE versions would not open in + Projector. +- web: fixed issue with EC2 provider workspaces hanging on build if a filesystem + issue prevented mounting user volumes. +- web: fixed issue where creating/editing an audit log results in two audit log + entries. +- web: fixed issue where changes to the Git URL in dotfiles aren’t included in + the audit log. +- web: fixed issue where air-gapped deployments wouldn’t render β€œOpen in Coder” + buttons. +- web: fixed issue where users could create new workspaces even when there were + no workspace providers configured for the organization. +- web: fixed metrics to track connections via SSH. +- infra: fixed scan error on metrics table caused by float being scanned as int. +- infra: fixed issue where the built-in provider respawns when `coderd` + restarts. +- infra: fixed issue where the Coder front-end attempts to reconnect to a + workspace even when it is offline. +- infra: updated Coder to return a 404 error instead of a 5xx error if `coderd` + cannot reach a workspace. +- infra: fixed issue where air-gapped deployments were unable to update admin + configuration settings. + +### Security updates πŸ” + +- infra: fixed issue with authorization controls that allowed unauthorized + editing of shells and dotfiles. +- infra: fixed issue where site managers could change a user’s login type to + built-in, even when built-in authentication is disabled in favor of OIDC + login. +- infra: added validation to URIs used in dotfiles. + +### Known issues πŸ”§ + +- web: the service banner (if enabled) reappears for all users, even if they've + previously dismissed it. +- web: using the web terminal in Coder can occasionally result in the connection + being reset and needing to be restarted. +- web: the **Switch workspace** drop-down menu shows a workspace's status as + **Building** even though the build process is completed. +- web: users installing v1.24 (or later) into an air-gapped environment cannot + upload their license when prompted. +- infra: workspaces using images without `curl` available (e.g., + `ubuntu:latest`) will fail to build on new Coder deployments with + self-contained workspace builds enabled. The workaround is to use a base image + with `curl` available (e.g., `codercom/enterprise-base:ubuntu`). diff --git a/changelog/1.30.1.md b/changelog/1.30.1.md new file mode 100644 index 000000000..8233bce9a --- /dev/null +++ b/changelog/1.30.1.md @@ -0,0 +1,22 @@ +--- +title: "1.30.1" +description: "Released on 04/29/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.30.1. + +### Features ✨ + +- infra: Coder tunnel no longer exits after a single connection. + +### Bug fixes πŸ› + +- infra: fixed issue where a lower MTU caused connections to break. +- infra: fixed issue where the default Helm `networkingress` policy did not + allow inbound UDP connections. + +### Security updates πŸ” + +There are no security updates in 1.30.1. diff --git a/changelog/1.26.0.md b/changelog/archive/1.26.0.md similarity index 100% rename from changelog/1.26.0.md rename to changelog/archive/1.26.0.md diff --git a/changelog/1.26.1.md b/changelog/archive/1.26.1.md similarity index 100% rename from changelog/1.26.1.md rename to changelog/archive/1.26.1.md diff --git a/changelog/1.26.2.md b/changelog/archive/1.26.2.md similarity index 100% rename from changelog/1.26.2.md rename to changelog/archive/1.26.2.md diff --git a/changelog/1.26.3.md b/changelog/archive/1.26.3.md similarity index 100% rename from changelog/1.26.3.md rename to changelog/archive/1.26.3.md diff --git a/changelog/1.26.4.md b/changelog/archive/1.26.4.md similarity index 100% rename from changelog/1.26.4.md rename to changelog/archive/1.26.4.md diff --git a/guides/admin/disable-downloads.md b/guides/admin/disable-downloads.md new file mode 100644 index 000000000..56306e0c4 --- /dev/null +++ b/guides/admin/disable-downloads.md @@ -0,0 +1,22 @@ +--- +title: File download disabling +description: Learn how to disable file downloading in Coder. +--- + +For security and compliance purposes, Coder site managers may choose to disable +the downloading of files from Coder's built-in IDEs: + +![File actions download option](../../assets/guides/admin/file-download.png) + +To do so, +[update your deployment's workspace template policy](../../admin/templates.md) +to include the following definition: + +```yaml +kubernetes: + env: + policy: append + value: + - key: "CS_DISABLE_FILE_DOWNLOADS" + value: "1" +``` diff --git a/guides/tls-certificates/azureDNS.md b/guides/tls-certificates/azureDNS.md index e83c348ee..202f39e4a 100644 --- a/guides/tls-certificates/azureDNS.md +++ b/guides/tls-certificates/azureDNS.md @@ -84,7 +84,7 @@ the domain you're using for your Coder deployment. cert-manager: ```console - kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml + kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml ``` 1. Check that cert-manager installs correctly by running diff --git a/guides/tls-certificates/cloudDNS.md b/guides/tls-certificates/cloudDNS.md index b8d32d41a..4575d9644 100644 --- a/guides/tls-certificates/cloudDNS.md +++ b/guides/tls-certificates/cloudDNS.md @@ -45,7 +45,7 @@ Add cert-manager to your cluster running: ```console -kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml +kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml ``` ## Option 2: Helm diff --git a/guides/tls-certificates/cloudflare.md b/guides/tls-certificates/cloudflare.md index a163b9914..7832f85e1 100644 --- a/guides/tls-certificates/cloudflare.md +++ b/guides/tls-certificates/cloudflare.md @@ -34,7 +34,7 @@ You must have: ## Step 1: Add cert-manager to your Kubernetes cluster ```console -kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml +kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml ``` More specifics can be found in the diff --git a/guides/tls-certificates/route53.md b/guides/tls-certificates/route53.md index d17200549..7ace78985 100644 --- a/guides/tls-certificates/route53.md +++ b/guides/tls-certificates/route53.md @@ -42,7 +42,7 @@ You should also: cert-manager: ```console - kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml + kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml ``` 1. Check that cert-manager installs correctly by running diff --git a/manifest.json b/manifest.json index 6b0a5eafd..1087b6929 100644 --- a/manifest.json +++ b/manifest.json @@ -1,5 +1,6 @@ { "versions": [ + "v1.30", "v1.29", "v1.28", "v1.27", @@ -328,6 +329,9 @@ { "path": "./admin/workspace-management/ssh-access.md" }, + { + "path": "./admin/workspace-management/limits.md" + }, { "path": "./admin/workspace-management/process-logging.md" } @@ -409,6 +413,9 @@ { "path": "./guides/admin/timescale-migration.md" }, + { + "path": "./guides/admin/disable-downloads.md" + }, { "path": "./guides/admin/helm-charts.md" }, @@ -562,9 +569,23 @@ { "path": "./changelog/index.md", "children": [ + { + "path": "./changelog/1.30.0.md", + "children": [ + { + "path": "./changelog/1.30.1.md" + } + ] + }, { "path": "./changelog/1.29.0.md", "children": [ + { + "path": "./changelog/1.29.4.md" + }, + { + "path": "./changelog/1.29.3.md" + }, { "path": "./changelog/1.29.2.md" }, @@ -576,6 +597,12 @@ { "path": "./changelog/1.28.0.md", "children": [ + { + "path": "./changelog/1.28.6.md" + }, + { + "path": "./changelog/1.28.5.md" + }, { "path": "./changelog/1.28.4.md" }, @@ -605,31 +632,36 @@ ] }, { - "path": "./changelog/1.26.0.md", + "path": "./changelog/archive/index.md", + "navigable": false, "children": [ { - "path": "./changelog/1.26.4.md" + "path": "./changelog/archive/1.26.4.md", + "navigable": false }, { - "path": "./changelog/1.26.3.md" + "path": "./changelog/archive/1.26.3.md", + "navigable": false }, { - "path": "./changelog/1.26.2.md" + "path": "./changelog/archive/1.26.2.md", + "navigable": false }, { - "path": "./changelog/1.26.1.md" - } - ] - }, - { - "path": "./changelog/archive/index.md", - "navigable": false, - "children": [ + "path": "./changelog/archive/1.26.1.md", + "navigable": false + }, { - "path": "./changelog/archive/1.25.0.md" + "path": "./changelog/archive/1.26.0.md", + "navigable": false }, { - "path": "./changelog/archive/1.24.0.md" + "path": "./changelog/archive/1.25.0.md", + "navigable": false + }, + { + "path": "./changelog/archive/1.24.0.md", + "navigable": false }, { "path": "./changelog/archive/1.23.1.md", diff --git a/setup/coder-for-docker/local.md b/setup/coder-for-docker/local.md index 55e350728..0d1302950 100644 --- a/setup/coder-for-docker/local.md +++ b/setup/coder-for-docker/local.md @@ -52,7 +52,7 @@ Coder for Docker works with the following platforms: -p 7080:7080 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/.coder:/var/run/coder \ - codercom/coder:1.29.0 + codercom/coder:1.30.0 ``` When this process is complete, Coder will print the URL you can use to access @@ -103,7 +103,7 @@ DEVURL_HOST="*.mycompany.com" For example: ```console -docker run --rm -it -p 7080:7080 -v /var/run/docker.sock:/var/run/docker.sock -v ~/.coder:/var/run/coder -e DEVURL_HOST="*.mycompany.com" codercom/coder:1.29.0 +docker run --rm -it -p 7080:7080 -v /var/run/docker.sock:/var/run/docker.sock -v ~/.coder:/var/run/coder -e DEVURL_HOST="*.mycompany.com" codercom/coder:1.30.0 ``` ## Use an external PostgreSQL database @@ -140,7 +140,7 @@ To do so: version: "3.5" services: coder: - image: docker.io/codercom/coder:1.29.0 + image: docker.io/codercom/coder:1.30.0 container_name: coderd restart: unless-stopped ports: diff --git a/setup/coder-for-docker/upgrade.md b/setup/coder-for-docker/upgrade.md index 353085834..9dba85e2b 100644 --- a/setup/coder-for-docker/upgrade.md +++ b/setup/coder-for-docker/upgrade.md @@ -7,7 +7,7 @@ This guide will show you how to upgrade your Coder for Docker deployment. To upgrade, run the following command to download the resources you need, including the latest images (ensure that you're providing the correct version -number in the command, e.g., `1.29.0`): +number in the command, e.g., `1.30.0`): ```console docker run --rm -it \ @@ -27,7 +27,7 @@ If you use Docker Compose to run Coder, here's how to upgrade your deployment: # ... services: coder: - image: docker.io/codercom/coder:1.29.0 + image: docker.io/codercom/coder:1.30.0 # ... ``` diff --git a/setup/kubernetes/index.md b/setup/kubernetes/index.md index 85bb4bdfc..d013030a8 100644 --- a/setup/kubernetes/index.md +++ b/setup/kubernetes/index.md @@ -31,6 +31,7 @@ deprecated features before they are removed from new versions of Kubernetes. | | Kubernetes `1.23` | Kubernetes `1.22` | Kubernetes `1.21` | Kubernetes `1.20` | Kubernetes `1.19` | Kubernetes `1.18` | | ------------ | ----------------- | ----------------- | ----------------- | ----------------- | ----------------- | ----------------- | +| Coder `1.30` | βœ… | βœ… | βœ… | | | | | Coder `1.29` | βœ… | βœ… | βœ… | | | | | Coder `1.28` | βœ… | βœ… | βœ… | | | | | Coder `1.27` | βœ… | βœ… | βœ… | | | | diff --git a/workspaces/preferences.md b/workspaces/preferences.md index 5fde9d4e7..8c4d564cc 100644 --- a/workspaces/preferences.md +++ b/workspaces/preferences.md @@ -62,16 +62,15 @@ changes). Your administrator must configure OAuth for this feature to work. > onboarding. Future Git actions within Coder will operate within the Coder > deployment's network, _not_ the local machine. -## Notifications +## Networking -Coder issues desktop notifications when you create a new workspace or rebuild an -workspace. +You can choose the WebRTC protocol used when connecting to your workspace from +the Coder CLI: -Please note that: - -- You may not receive native notifications when using your browser's private - browsing mode -- You must enable native notifications for each browser on which you run Coder +- **Auto** (default): uses STUN and falls back to TURN if it's unable to + establish a peer-to-peer connection +- **TURN**: establishes a peer-to-peer connection +- **STUN**: establishes a connection using an intermediary relay server ## Auto-start