From bf81d898cd244760105e961499a9b45b5ceb6eeb Mon Sep 17 00:00:00 2001 From: EdwardAngert Date: Thu, 20 Feb 2025 20:57:06 +0000 Subject: [PATCH 01/15] s/coder/Coder --- docs/admin/networking/index.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index 9858a8bfe4316..8a891336d7f63 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -1,14 +1,14 @@ # Networking -Coder's network topology has three types of nodes: workspaces, coder servers, +Coder's network topology has three types of nodes: workspaces, Coder servers, and users. -The coder server must have an inbound address reachable by users and workspaces, +The Coder server must have an inbound address reachable by users and workspaces, but otherwise, all topologies _just work_ with Coder. When possible, we establish direct connections between users and workspaces. Direct connections are as fast as connecting to the workspace outside of Coder. -When NAT traversal fails, connections are relayed through the coder server. All +When NAT traversal fails, connections are relayed through the Coder server. All user-workspace connections are end-to-end encrypted. [Tailscale's open source](https://tailscale.com) backs our websocket/HTTPS @@ -65,14 +65,14 @@ In order for clients to be able to establish direct connections: ephemeral (high) ports. If a firewall between the client and the agent blocks this UDP traffic, direct connections will not be possible. -## coder server +## Coder server -Workspaces connect to the coder server via the server's external address, set +Workspaces connect to the Coder server via the server's external address, set via [`ACCESS_URL`](../../admin/setup/index.md#access-url). There must not be a NAT between workspaces and coder server. -Users connect to the coder server's dashboard and API through its `ACCESS_URL` -as well. There must not be a NAT between users and the coder server. +Users connect to the Coder server's dashboard and API through its `ACCESS_URL` +as well. There must not be a NAT between users and the Coder server. Template admins can overwrite the site-wide access URL at the template level by leveraging the `url` argument when @@ -89,7 +89,7 @@ and the Coder server. ## Web Apps -The coder servers relays dashboard-initiated connections between the user and +The Coder servers relays dashboard-initiated connections between the user and the workspace. Web terminal <-> workspace connections are an exception and may be direct. @@ -166,7 +166,7 @@ coder server --derp-config-path derpmap.json ### Dashboard connections The dashboard (and web apps opened through the dashboard) are served from the -coder server, so they can only be geo-distributed with High Availability mode in +Coder server, so they can only be geo-distributed with High Availability mode in our Premium Edition. [Reach out to Sales](https://coder.com/contact) to learn more. From b3a1612cfe14dd79198d126d5f1515f31d0ff934 Mon Sep 17 00:00:00 2001 From: EdwardAngert Date: Thu, 20 Feb 2025 22:07:42 +0000 Subject: [PATCH 02/15] add diagram, init edit --- docs/admin/networking/index.md | 124 +++++++++++------- .../network-stack/network-user-workspace.png | Bin 0 -> 41411 bytes 2 files changed, 74 insertions(+), 50 deletions(-) create mode 100644 docs/images/admin/networking/network-stack/network-user-workspace.png diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index 8a891336d7f63..a809db4c950fc 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -1,7 +1,21 @@ # Networking -Coder's network topology has three types of nodes: workspaces, Coder servers, -and users. +The pages in this section outline Coder's networking stack and how aspects +connect to or interact with each other. + +This page is a high-level reference of Coder's network topology, requirements, +and connection types. + +![Basic user to Coder diagram](../../images/admin/networking/network-stack/network-user-workspace.png) + +## Coder server, workspaces, users + +Coder's network topology has three general types of nodes or ways of interacting +with Coder: + +- Coder servers +- Workspaces +- Users The Coder server must have an inbound address reachable by users and workspaces, but otherwise, all topologies _just work_ with Coder. @@ -11,65 +25,29 @@ Direct connections are as fast as connecting to the workspace outside of Coder. When NAT traversal fails, connections are relayed through the Coder server. All user-workspace connections are end-to-end encrypted. -[Tailscale's open source](https://tailscale.com) backs our websocket/HTTPS -networking logic. +[Tailscale](https://tailscale.com)'s implementation of +[Wireguard](https://www.wireguard.com/) backs our websocket/HTTPS networking logic. ## Requirements -In order for clients and workspaces to be able to connect: +Coder’s networking is designed to support a wide range of infrastructure targets. +Because of that, there are very few requirements for running Coder in your network: + +- The central server (coderd) needs port 443 to be open for HTTPS and websocket traffic +- Workspaces, clients (developer laptops), and provisioners only need to reach the Coder server and establish a websocket connection. No ports need to be open. -> **Note:** We strongly recommend that clients connect to Coder and their -> workspaces over a good quality, broadband network connection. The following -> are minimum requirements: -> -> - better than 400ms round-trip latency to the Coder server and to their -> workspace -> - better than 0.5% random packet loss +In order for clients and workspaces to be able to connect: - All clients and agents must be able to establish a connection to the Coder server (`CODER_ACCESS_URL`) over HTTP/HTTPS. - Any reverse proxy or ingress between the Coder control plane and clients/agents must support WebSockets. -In order for clients to be able to establish direct connections: - -> **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). - -- The client is connecting using the CLI (e.g. `coder ssh` or - `coder port-forward`). Note that the - [VSCode extension](https://marketplace.visualstudio.com/items?itemName=coder.coder-remote) - and [JetBrains Plugin](https://plugins.jetbrains.com/plugin/19620-coder/), and - [`ssh coder.`](../../reference/cli/config-ssh.md) all utilize the - CLI to establish a workspace connection. -- Either the client or workspace agent are able to discover a reachable - `ip:port` of their counterpart. If the agent and client are able to - communicate with each other using their locally assigned IP addresses, then a - direct connection can be established immediately. Otherwise, the client and - agent will contact - [the configured STUN servers](../../reference/cli/server.md#--derp-server-stun-addresses) - to try and determine which `ip:port` can be used to communicate with their - counterpart. See [STUN and NAT](./stun.md) for more details on how this - process works. -- All outbound UDP traffic must be allowed for both the client and the agent on - **all ports** to each others' respective networks. - - To establish a direct connection, both agent and client use STUN. This - involves sending UDP packets outbound on `udp/3478` to the configured - [STUN server](../../reference/cli/server.md#--derp-server-stun-addresses). - If either the agent or the client are unable to send and receive UDP packets - to a STUN server, then direct connections will not be possible. - - Both agents and clients will then establish a - [WireGuard](https://www.wireguard.com/)️ tunnel and send UDP traffic on - ephemeral (high) ports. If a firewall between the client and the agent - blocks this UDP traffic, direct connections will not be possible. - ## Coder server Workspaces connect to the Coder server via the server's external address, set via [`ACCESS_URL`](../../admin/setup/index.md#access-url). There must not be a -NAT between workspaces and coder server. +NAT between workspaces and the Coder server. Users connect to the Coder server's dashboard and API through its `ACCESS_URL` as well. There must not be a NAT between users and the Coder server. @@ -98,11 +76,23 @@ dashboard-accessed web apps. ## 🌎 Geo-distribution +By default, Coder will attempt to create direct peer-to-peer connections between +the client (developer laptop) and workspace. +If this doesn’t work, the end result will be transparent to the end user because +Coder will fall back to connections relayed to the control plane. + ### Direct connections -Direct connections are a straight line between the user and workspace, so there -is no special geo-distribution configuration. To speed up direct connections, -move the user and workspace closer together. +Direct connections reduce latency and improve upload and download speeds for developers. +However, there are many scenarios where direct connections cannot be established, +such as when the Coder [administrators disable direct connections](../../reference/cli/server.md#--block-direct-connections). + +Consult the [direct connections section](./troubleshooting.md#common-problems-with-direct-connections) +of the troubleshooting guide for more information. +The troubleshooting guide also explains how to identify if a connection is direct +or not via the `coder ping` command. + +Ideally, to speed up direct connections, move the user and workspace closer together. Establishing a direct connection can be an involved process because both the client and workspace agent will likely be behind at least one level of NAT, @@ -116,6 +106,40 @@ Coder will use a relayed connection. By default, but this can be disabled or changed for [offline deployments](../../install/offline.md). +In order for clients to be able to establish direct connections: + +> **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). + +- The client is connecting using the CLI (e.g. `coder ssh` or + `coder port-forward`). Note that the + [VSCode extension](https://marketplace.visualstudio.com/items?itemName=coder.coder-remote) + and [JetBrains Plugin](https://plugins.jetbrains.com/plugin/19620-coder/), and + [`ssh coder.`](../../reference/cli/config-ssh.md) all utilize the + CLI to establish a workspace connection. +- Either the client or workspace agent are able to discover a reachable + `ip:port` of their counterpart. If the agent and client are able to + communicate with each other using their locally assigned IP addresses, then a + direct connection can be established immediately. Otherwise, the client and + agent will contact + [the configured STUN servers](../../reference/cli/server.md#--derp-server-stun-addresses) + to try and determine which `ip:port` can be used to communicate with their + counterpart. See [STUN and NAT](./stun.md) for more details on how this + process works. +- All outbound UDP traffic must be allowed for both the client and the agent on + **all ports** to each others' respective networks. + - To establish a direct connection, both agent and client use STUN. This + involves sending UDP packets outbound on `udp/3478` to the configured + [STUN server](../../reference/cli/server.md#--derp-server-stun-addresses). + If either the agent or the client are unable to send and receive UDP packets + to a STUN server, then direct connections will not be possible. + - Both agents and clients will then establish a + [WireGuard](https://www.wireguard.com/)️ tunnel and send UDP traffic on + ephemeral (high) ports. If a firewall between the client and the agent + blocks this UDP traffic, direct connections will not be possible. + ### Relayed connections By default, your Coder server also runs a built-in DERP relay which can be used diff --git a/docs/images/admin/networking/network-stack/network-user-workspace.png b/docs/images/admin/networking/network-stack/network-user-workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..e44671d54481a0fe1ee111f391ff8e049ec0cec7 GIT binary patch literal 41411 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 literal 0 HcmV?d00001 From 895965aaef6dee284e51da3bb94d0b920fee4c4f Mon Sep 17 00:00:00 2001 From: EdwardAngert Date: Fri, 21 Feb 2025 17:38:36 +0000 Subject: [PATCH 03/15] no diff change? --- docs/admin/networking/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index a809db4c950fc..458e99aa58bf8 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -1,7 +1,7 @@ # Networking The pages in this section outline Coder's networking stack and how aspects -connect to or interact with each other. +connect to or interact with each other. This page is a high-level reference of Coder's network topology, requirements, and connection types. From d71d800cd5e9906b39982bbc658acfc7e8271638 Mon Sep 17 00:00:00 2001 From: EdwardAngert Date: Fri, 21 Feb 2025 20:16:16 +0000 Subject: [PATCH 04/15] add underlying stack doc --- docs/admin/networking/high-availability.md | 2 +- docs/admin/networking/index.md | 160 +---------------- .../admin/networking/more-networking/index.md | 167 ++++++++++++++++++ .../more-networking/underlying-stack.md | 63 +++++++ docs/install/offline.md | 18 +- docs/manifest.json | 10 ++ docs/tutorials/faqs.md | 2 +- docs/user-guides/workspace-access/vscode.md | 2 +- 8 files changed, 258 insertions(+), 166 deletions(-) create mode 100644 docs/admin/networking/more-networking/index.md create mode 100644 docs/admin/networking/more-networking/underlying-stack.md diff --git a/docs/admin/networking/high-availability.md b/docs/admin/networking/high-availability.md index 7dee70a2930fc..b1434b22b2311 100644 --- a/docs/admin/networking/high-availability.md +++ b/docs/admin/networking/high-availability.md @@ -32,7 +32,7 @@ connect to the same Postgres endpoint. HA brings one configuration variable to set in each Coderd node: `CODER_DERP_SERVER_RELAY_URL`. The HA nodes use these URLs to communicate with each other. Inter-node communication is only required while using the embedded -relay (default). If you're using [custom relays](./index.md#custom-relays), +relay (default). If you're using [custom relays](./more-networking/index.md#custom-relays), Coder ignores `CODER_DERP_SERVER_RELAY_URL` since Postgres is the sole rendezvous for the Coder nodes. diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index 458e99aa58bf8..cfe10ea8f273a 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -8,6 +8,8 @@ and connection types. ![Basic user to Coder diagram](../../images/admin/networking/network-stack/network-user-workspace.png) +For more information about the underlying networking stack, Coder agent, or geo-distributed networking, consult [Connections and geo-distribution](./more-networking/index.md). Visit the [troubleshooting doc](./troubleshooting.md) for ways to resolve common issues. + ## Coder server, workspaces, users Coder's network topology has three general types of nodes or ways of interacting @@ -67,164 +69,14 @@ and the Coder server. ## Web Apps -The Coder servers relays dashboard-initiated connections between the user and -the workspace. Web terminal <-> workspace connections are an exception and may -be direct. +The Coder server relays dashboard-initiated connections between the user and +the workspace. +Connections between the web terminal and workspace are an exception and may be +direct. In general, [port forwarded](./port-forwarding.md) web apps are faster than dashboard-accessed web apps. -## 🌎 Geo-distribution - -By default, Coder will attempt to create direct peer-to-peer connections between -the client (developer laptop) and workspace. -If this doesn’t work, the end result will be transparent to the end user because -Coder will fall back to connections relayed to the control plane. - -### Direct connections - -Direct connections reduce latency and improve upload and download speeds for developers. -However, there are many scenarios where direct connections cannot be established, -such as when the Coder [administrators disable direct connections](../../reference/cli/server.md#--block-direct-connections). - -Consult the [direct connections section](./troubleshooting.md#common-problems-with-direct-connections) -of the troubleshooting guide for more information. -The troubleshooting guide also explains how to identify if a connection is direct -or not via the `coder ping` command. - -Ideally, to speed up direct connections, move the user and workspace closer together. - -Establishing a direct connection can be an involved process because both the -client and workspace agent will likely be behind at least one level of NAT, -meaning that we need to use STUN to learn the IP address and port under which -the client and agent can both contact each other. See [STUN and NAT](./stun.md) -for more information on how this process works. - -If a direct connection is not available (e.g. client or server is behind NAT), -Coder will use a relayed connection. By default, -[Coder uses Google's public STUN server](../../reference/cli/server.md#--derp-server-stun-addresses), -but this can be disabled or changed for -[offline deployments](../../install/offline.md). - -In order for clients to be able to establish direct connections: - -> **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). - -- The client is connecting using the CLI (e.g. `coder ssh` or - `coder port-forward`). Note that the - [VSCode extension](https://marketplace.visualstudio.com/items?itemName=coder.coder-remote) - and [JetBrains Plugin](https://plugins.jetbrains.com/plugin/19620-coder/), and - [`ssh coder.`](../../reference/cli/config-ssh.md) all utilize the - CLI to establish a workspace connection. -- Either the client or workspace agent are able to discover a reachable - `ip:port` of their counterpart. If the agent and client are able to - communicate with each other using their locally assigned IP addresses, then a - direct connection can be established immediately. Otherwise, the client and - agent will contact - [the configured STUN servers](../../reference/cli/server.md#--derp-server-stun-addresses) - to try and determine which `ip:port` can be used to communicate with their - counterpart. See [STUN and NAT](./stun.md) for more details on how this - process works. -- All outbound UDP traffic must be allowed for both the client and the agent on - **all ports** to each others' respective networks. - - To establish a direct connection, both agent and client use STUN. This - involves sending UDP packets outbound on `udp/3478` to the configured - [STUN server](../../reference/cli/server.md#--derp-server-stun-addresses). - If either the agent or the client are unable to send and receive UDP packets - to a STUN server, then direct connections will not be possible. - - Both agents and clients will then establish a - [WireGuard](https://www.wireguard.com/)️ tunnel and send UDP traffic on - ephemeral (high) ports. If a firewall between the client and the agent - blocks this UDP traffic, direct connections will not be possible. - -### Relayed connections - -By default, your Coder server also runs a built-in DERP relay which can be used -for both public and [offline deployments](../../install/offline.md). - -However, our Wireguard integration through Tailscale has graciously allowed us -to use -[their global DERP relays](https://tailscale.com/kb/1118/custom-derp-servers/#what-are-derp-servers). -You can launch `coder server` with Tailscale's DERPs like so: - -```bash -coder server --derp-config-url https://controlplane.tailscale.com/derpmap/default -``` - -#### Custom Relays - -If you want lower latency than what Tailscale offers or want additional DERP -relays for offline deployments, you may run custom DERP servers. Refer to -[Tailscale's documentation](https://tailscale.com/kb/1118/custom-derp-servers/#why-run-your-own-derp-server) -to learn how to set them up. - -After you have custom DERP servers, you can launch Coder with them like so: - -```json -# derpmap.json -{ - "Regions": { - "1": { - "RegionID": 1, - "RegionCode": "myderp", - "RegionName": "My DERP", - "Nodes": [ - { - "Name": "1", - "RegionID": 1, - "HostName": "your-hostname.com" - } - ] - } - } -} -``` - -```bash -coder server --derp-config-path derpmap.json -``` - -### Dashboard connections - -The dashboard (and web apps opened through the dashboard) are served from the -Coder server, so they can only be geo-distributed with High Availability mode in -our Premium Edition. [Reach out to Sales](https://coder.com/contact) to learn -more. - -## Browser-only connections - -
- -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 -`coder server` or set `CODER_BROWSER_ONLY=true`. - -With browser-only connections, developers can only connect to their workspaces -via the web terminal and -[web IDEs](../../user-guides/workspace-access/web-ides.md). - -### Workspace Proxies - -
- -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. - -To learn more, see [Workspace Proxies](./workspace-proxies.md). - ## Up next - Learn about [Port Forwarding](./port-forwarding.md) diff --git a/docs/admin/networking/more-networking/index.md b/docs/admin/networking/more-networking/index.md new file mode 100644 index 0000000000000..e11d420d6d373 --- /dev/null +++ b/docs/admin/networking/more-networking/index.md @@ -0,0 +1,167 @@ +# Connections and geo-distribution + +## SSH and browser connections + +Coder workspaces have SSH support which allows the use of desktop editors such +as VS Code remote connections and JetBrains Gateway. + +SSH connections require that you open port 443 on the server. + +Coder does not require workspaces to have port 22 open, an OpenSSH server running, +nor SSH keys. +Instead, Coder mimics SSH over an HTTPS tunnel and uses the user’s session token +through the CLI to authenticate. +This is more secure and portable than SSH relays, bastion hosts, and other methods +because it ensures that only the proper user session can establish SSH connections. + +Administrators can disable this by enabling [browser-only mode](#browser-only-connections), +allowing only connections to workspaces through the browser like code-server, +web terminal, web RDP, and others. + +### Browser-only connections + +
+ +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 +`coder server` or set `CODER_BROWSER_ONLY=true`. + +With browser-only connections, developers can only connect to their workspaces +via the web terminal and +[web IDEs](../../user-guides/workspace-access/web-ides.md). + +## 🌎 Geo-distribution + +Workspace proxies and provisioners can be deployed for low-latency access to +workspaces for distributed teams. + +By default, Coder will attempt to create direct peer-to-peer connections between +the client (developer laptop) and workspace. +If this doesn’t work, the end result will be transparent to the end user because +Coder will fall back to connections relayed to the control plane. + +Since Coder supports deploying resources in multiple regions, developers will want a fast connection to those workspaces. Workspace proxies are designed to relay traffic to workspaces without having to route traffic to the central Coder server. Both web traffic and SSH traffic is relayed through workspace proxies. + +### Workspace Proxies + +[Workspace Proxies](./workspace-proxies.md) are a +[Premium](https://coder.com/pricing#compare-plans) feature that allows you to +provide low-latency browser experiences for geo-distributed teams. + +### Direct connections + +Direct connections reduce latency and improve upload and download speeds for developers. +However, there are many scenarios where direct connections cannot be established, +such as when the Coder [administrators disable direct connections](../../reference/cli/server.md#--block-direct-connections). + +Consult the [direct connections section](./troubleshooting.md#common-problems-with-direct-connections) +of the troubleshooting guide for more information. +The troubleshooting guide also explains how to identify if a connection is direct +or not via the `coder ping` command. + +Ideally, to speed up direct connections, move the user and workspace closer together. + +Establishing a direct connection can be an involved process because both the +client and workspace agent will likely be behind at least one level of NAT, +meaning that we need to use STUN to learn the IP address and port under which +the client and agent can both contact each other. See [STUN and NAT](./stun.md) +for more information on how this process works. + +If a direct connection is not available (e.g. client or server is behind NAT), +Coder will use a relayed connection. By default, +[Coder uses Google's public STUN server](../../reference/cli/server.md#--derp-server-stun-addresses), +but this can be disabled or changed for +[offline deployments](../../install/offline.md). + +In order for clients to be able to establish direct connections: + +> **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). + +- The client is connecting using the CLI (e.g. `coder ssh` or + `coder port-forward`). Note that the + [VSCode extension](https://marketplace.visualstudio.com/items?itemName=coder.coder-remote) + and [JetBrains Plugin](https://plugins.jetbrains.com/plugin/19620-coder/), and + [`ssh coder.`](../../reference/cli/config-ssh.md) all utilize the + CLI to establish a workspace connection. +- Either the client or workspace agent are able to discover a reachable + `ip:port` of their counterpart. If the agent and client are able to + communicate with each other using their locally assigned IP addresses, then a + direct connection can be established immediately. Otherwise, the client and + agent will contact + [the configured STUN servers](../../reference/cli/server.md#--derp-server-stun-addresses) + to try and determine which `ip:port` can be used to communicate with their + counterpart. See [STUN and NAT](./stun.md) for more details on how this + process works. +- All outbound UDP traffic must be allowed for both the client and the agent on + **all ports** to each others' respective networks. + - To establish a direct connection, both agent and client use STUN. This + involves sending UDP packets outbound on `udp/3478` to the configured + [STUN server](../../reference/cli/server.md#--derp-server-stun-addresses). + If either the agent or the client are unable to send and receive UDP packets + to a STUN server, then direct connections will not be possible. + - Both agents and clients will then establish a + [WireGuard](https://www.wireguard.com/)️ tunnel and send UDP traffic on + ephemeral (high) ports. If a firewall between the client and the agent + blocks this UDP traffic, direct connections will not be possible. + +### Relayed connections + +By default, your Coder server also runs a built-in DERP relay which can be used +for both public and [offline deployments](../../install/offline.md). + +However, our Wireguard integration through Tailscale has graciously allowed us +to use +[their global DERP relays](https://tailscale.com/kb/1118/custom-derp-servers/#what-are-derp-servers). +You can launch `coder server` with Tailscale's DERPs like so: + +```bash +coder server --derp-config-url https://controlplane.tailscale.com/derpmap/default +``` + +#### Custom Relays + +If you want lower latency than what Tailscale offers or want additional DERP +relays for offline deployments, you may run custom DERP servers. Refer to +[Tailscale's documentation](https://tailscale.com/kb/1118/custom-derp-servers/#why-run-your-own-derp-server) +to learn how to set them up. + +After you have custom DERP servers, you can launch Coder with them like so: + +```json +# derpmap.json +{ + "Regions": { + "1": { + "RegionID": 1, + "RegionCode": "myderp", + "RegionName": "My DERP", + "Nodes": [ + { + "Name": "1", + "RegionID": 1, + "HostName": "your-hostname.com" + } + ] + } + } +} +``` + +```bash +coder server --derp-config-path derpmap.json +``` + +### Dashboard connections + +The dashboard (and web apps opened through the dashboard) are served from the +Coder server, so they can only be geo-distributed with High Availability mode in +our Premium Edition. [Reach out to Sales](https://coder.com/contact) to learn +more. diff --git a/docs/admin/networking/more-networking/underlying-stack.md b/docs/admin/networking/more-networking/underlying-stack.md new file mode 100644 index 0000000000000..21ec141f8f9c2 --- /dev/null +++ b/docs/admin/networking/more-networking/underlying-stack.md @@ -0,0 +1,63 @@ +# Underlying networking stack + +The underlying networking stack includes [Wireguard](https://www.wireguard.com/) (implemented through [Tailscale](https://tailscale.com)), DERP, and STUN. +Additionally, a Coder agent runs within workspaces to establish connections to the Coder server. + +## Wireguard through Tailscale + +Establishes Wireguard tunnels between the client, server, and provisioners. + +This includes the following protocols: + +- DERP: + - Built-in "relays” that help route connections from the client to the workspace through the central Coder server or workspace proxies. + + Each server and workspace proxy has a DERP server included. We do not really recommend self-hosting DERP outside of what is bundled in Coder, but it is possible. We have docs on how to use Tailscale’s public DERP servers, but this is off by default. +- STUN: + - Helps establish direct peer-2-peer connections. + + No user traffic is routed through it. + By default, the Coder server will attempt to use Google’s STUN servers. + +This implementation of Wireguard ensures portable networking that “just works” without lots of configuration. +Administrators only need to open one HTTPS port on the server instead of needing to set up different relays for HTTPS, SSH, UDP, Generic TCP, and others. +It works for global deployments or single deployments with a mesh network architecture, and users can establish direct peer-to-peer connections when enabled. + +### Wireguard / Tailscale FAQ + +- Does Coder reach out to Tailscale’s servers? + - No + +- Does this networking work offline? + - Yes + +- Does this networking work with ? + - Yes + +- Does this networking work with ? + - Yes + +- Does this networking work with ? + - Yes + +- Can direct connections be disabled? + - Yes + +- Can SSH be disabled or browser only be enforced? + - Yes + +- Can I use something besides Tailscale for connections? + - Technically, yes. But this is not well documented. + + The agent uses Tailscale to stream logs, but users can technically connect to your workspaces via port 22 and SSH keys and not use Coder’s authentication. We are exploring ways to allow a “hybrid” approach where Tailscale is used for internal log streaming but users must connect via generic SSH, Teleport, or similar. + +- Are direct connections faster than relayed? + - Yes + +## Coder agent + +Coder agent runs within workspaces to establish a connection to the Coder server so that users can connect to their workspace and access things within the workspace such as the terminal and ports running on the workspace. +This connection between the user and the workspace always requires an authenticated Coder session. + +As long as the agent can reach port 443 on the Coder server, a connection can be established between the agent and the coderd process. +The agent typically uses a token to authenticate with coderd. diff --git a/docs/install/offline.md b/docs/install/offline.md index 0f83ae4077ee4..09491251efbef 100644 --- a/docs/install/offline.md +++ b/docs/install/offline.md @@ -6,15 +6,15 @@ 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. -| | Public deployments | Offline deployments | -|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Terraform binary | By default, Coder downloads Terraform binary from [releases.hashicorp.com](https://releases.hashicorp.com) | Terraform binary must be included in `PATH` for the VM or container image. [Supported versions](https://github.com/coder/coder/blob/main/provisioner/terraform/install.go#L23-L24) | -| Terraform registry | Coder templates will attempt to download providers from [registry.terraform.io](https://registry.terraform.io) or [custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) specified in each template | [Custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) can be specified in each Coder template, or a custom registry/mirror can be used. More details below | -| STUN | By default, Coder uses Google's public STUN server for direct workspace connections | STUN can be safely [disabled](../reference/cli/server.md#--derp-server-stun-addresses) users can still connect via [relayed connections](../admin/networking/index.md#-geo-distribution). Alternatively, you can set a [custom DERP server](../reference/cli/server.md#--derp-server-stun-addresses) | -| DERP | By default, Coder's built-in DERP relay can be used, or [Tailscale's public relays](../admin/networking/index.md#relayed-connections). | By default, Coder's built-in DERP relay can be used, or [custom relays](../admin/networking/index.md#custom-relays). | -| PostgreSQL | If no [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) is specified, Coder will download Postgres from [repo1.maven.org](https://repo1.maven.org) | An external database is required, you must specify a [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) | -| Telemetry | Telemetry is on by default, and [can be disabled](../reference/cli/server.md#--telemetry) | Telemetry [can be disabled](../reference/cli/server.md#--telemetry) | -| Update check | By default, Coder checks for updates from [GitHub releases](https://github.com/coder/coder/releases) | Update checks [can be disabled](../reference/cli/server.md#--update-check) | +| | Public deployments | Offline deployments | +|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Terraform binary | By default, Coder downloads Terraform binary from [releases.hashicorp.com](https://releases.hashicorp.com) | Terraform binary must be included in `PATH` for the VM or container image. [Supported versions](https://github.com/coder/coder/blob/main/provisioner/terraform/install.go#L23-L24) | +| Terraform registry | Coder templates will attempt to download providers from [registry.terraform.io](https://registry.terraform.io) or [custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) specified in each template | [Custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) can be specified in each Coder template, or a custom registry/mirror can be used. More details below | +| STUN | By default, Coder uses Google's public STUN server for direct workspace connections | STUN can be safely [disabled](../reference/cli/server.md#--derp-server-stun-addresses) users can still connect via [relayed connections](../admin/networking/more-networking/index.md#relayed-connections). Alternatively, you can set a [custom DERP server](../reference/cli/server.md#--derp-server-stun-addresses) | +| DERP | By default, Coder's built-in DERP relay can be used, or [Tailscale's public relays](../admin/networking/more-networking/index.md#relayed-connections). | By default, Coder's built-in DERP relay can be used, or [custom relays](../admin/networking/more-networking/index.md#custom-relays). | +| PostgreSQL | If no [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) is specified, Coder will download Postgres from [repo1.maven.org](https://repo1.maven.org) | An external database is required, you must specify a [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) | +| Telemetry | Telemetry is on by default, and [can be disabled](../reference/cli/server.md#--telemetry) | Telemetry [can be disabled](../reference/cli/server.md#--telemetry) | +| Update check | By default, Coder checks for updates from [GitHub releases](https://github.com/coder/coder/releases) | Update checks [can be disabled](../reference/cli/server.md#--update-check) | ## Offline container images diff --git a/docs/manifest.json b/docs/manifest.json index 2da08f84d6419..b94887600711a 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -544,6 +544,16 @@ "path": "./admin/networking/high-availability.md", "state": ["enterprise", "premium"] }, + { + "title": "Connections and geo-distribution", + "description": "Learn more about the Coder connections and geo-distribution", + "path": "./admin/networking/more-networking/index.md" + }, + { + "title": "Underlying networking stack", + "description": "Learn more about the underlying networking stack and Coder agent", + "path": "./admin/networking/more-networking/underlying-stack.md" + }, { "title": "Troubleshooting", "description": "Troubleshoot networking issues in Coder", diff --git a/docs/tutorials/faqs.md b/docs/tutorials/faqs.md index 184e6dedb2ee1..fc32af5eb8671 100644 --- a/docs/tutorials/faqs.md +++ b/docs/tutorials/faqs.md @@ -73,7 +73,7 @@ The primary developer use case is a local IDE connecting over SSH to a Coder workspace. Coder's networking stack has intelligence to attempt a peer-to-peer or -[Direct connection](../admin/networking/index.md#direct-connections) between the +[Direct connection](../admin/networking/more-networking/index.md#direct-connections) between the local IDE and the workspace. However, this requires some additional protocols like UDP and being able to reach a STUN server to echo the IP addresses of the local IDE machine and workspace, for sharing using a Wireguard Coordination diff --git a/docs/user-guides/workspace-access/vscode.md b/docs/user-guides/workspace-access/vscode.md index 5f7de223ef81e..91c4c714dcdb1 100644 --- a/docs/user-guides/workspace-access/vscode.md +++ b/docs/user-guides/workspace-access/vscode.md @@ -16,7 +16,7 @@ extension, authenticates with Coder, and connects to the workspace. ![Demo](https://github.com/coder/vscode-coder/raw/main/demo.gif?raw=true) > The `VS Code Desktop` button can be hidden by enabling -> [Browser-only connections](../../admin/networking/index.md#browser-only-connections). +> [Browser-only connections](../../admin/networking/more-networking/index.md#browser-only-connections). ### Manual Installation From b8c76a49f125f10464a18e123941d4c15141164d Mon Sep 17 00:00:00 2001 From: EdwardAngert Date: Fri, 21 Feb 2025 20:20:56 +0000 Subject: [PATCH 05/15] add link to networking stack from index --- docs/admin/networking/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index cfe10ea8f273a..f56566606680f 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -8,7 +8,7 @@ and connection types. ![Basic user to Coder diagram](../../images/admin/networking/network-stack/network-user-workspace.png) -For more information about the underlying networking stack, Coder agent, or geo-distributed networking, consult [Connections and geo-distribution](./more-networking/index.md). Visit the [troubleshooting doc](./troubleshooting.md) for ways to resolve common issues. +For more in-depth information, visit our docs on [connections and geo-distribution](./more-networking/index.md) or [the underlying networking stack and Coder agent](./more-networking/underlying-stack.md), or use the [troubleshooting doc](./troubleshooting.md) for ways to resolve common issues. ## Coder server, workspaces, users From 09264e40ac6e6ffbf7e83f72bbfc64990961dbc8 Mon Sep 17 00:00:00 2001 From: EdwardAngert Date: Fri, 21 Feb 2025 20:24:35 +0000 Subject: [PATCH 06/15] fix links --- .../admin/networking/more-networking/index.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/admin/networking/more-networking/index.md b/docs/admin/networking/more-networking/index.md index e11d420d6d373..8c2107a753da5 100644 --- a/docs/admin/networking/more-networking/index.md +++ b/docs/admin/networking/more-networking/index.md @@ -33,7 +33,7 @@ with security policies. In these cases, pass the `--browser-only` flag to With browser-only connections, developers can only connect to their workspaces via the web terminal and -[web IDEs](../../user-guides/workspace-access/web-ides.md). +[web IDEs](../../../user-guides/workspace-access/web-ides.md). ## 🌎 Geo-distribution @@ -49,7 +49,7 @@ Since Coder supports deploying resources in multiple regions, developers will wa ### Workspace Proxies -[Workspace Proxies](./workspace-proxies.md) are a +[Workspace Proxies](../workspace-proxies.md) are a [Premium](https://coder.com/pricing#compare-plans) feature that allows you to provide low-latency browser experiences for geo-distributed teams. @@ -57,9 +57,9 @@ provide low-latency browser experiences for geo-distributed teams. Direct connections reduce latency and improve upload and download speeds for developers. However, there are many scenarios where direct connections cannot be established, -such as when the Coder [administrators disable direct connections](../../reference/cli/server.md#--block-direct-connections). +such as when the Coder [administrators disable direct connections](../../../reference/cli/server.md#--block-direct-connections). -Consult the [direct connections section](./troubleshooting.md#common-problems-with-direct-connections) +Consult the [direct connections section](../troubleshooting.md#common-problems-with-direct-connections) of the troubleshooting guide for more information. The troubleshooting guide also explains how to identify if a connection is direct or not via the `coder ping` command. @@ -69,42 +69,42 @@ Ideally, to speed up direct connections, move the user and workspace closer toge Establishing a direct connection can be an involved process because both the client and workspace agent will likely be behind at least one level of NAT, meaning that we need to use STUN to learn the IP address and port under which -the client and agent can both contact each other. See [STUN and NAT](./stun.md) +the client and agent can both contact each other. See [STUN and NAT](../stun.md) for more information on how this process works. If a direct connection is not available (e.g. client or server is behind NAT), Coder will use a relayed connection. By default, -[Coder uses Google's public STUN server](../../reference/cli/server.md#--derp-server-stun-addresses), +[Coder uses Google's public STUN server](../../../reference/cli/server.md#--derp-server-stun-addresses), but this can be disabled or changed for -[offline deployments](../../install/offline.md). +[offline deployments](../../../install/offline.md). In order for clients to be able to establish direct connections: > **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). +> [workspace proxies](../workspace-proxies.md). - The client is connecting using the CLI (e.g. `coder ssh` or `coder port-forward`). Note that the [VSCode extension](https://marketplace.visualstudio.com/items?itemName=coder.coder-remote) and [JetBrains Plugin](https://plugins.jetbrains.com/plugin/19620-coder/), and - [`ssh coder.`](../../reference/cli/config-ssh.md) all utilize the + [`ssh coder.`](../../../reference/cli/config-ssh.md) all utilize the CLI to establish a workspace connection. - Either the client or workspace agent are able to discover a reachable `ip:port` of their counterpart. If the agent and client are able to communicate with each other using their locally assigned IP addresses, then a direct connection can be established immediately. Otherwise, the client and agent will contact - [the configured STUN servers](../../reference/cli/server.md#--derp-server-stun-addresses) + [the configured STUN servers](../../../reference/cli/server.md#--derp-server-stun-addresses) to try and determine which `ip:port` can be used to communicate with their - counterpart. See [STUN and NAT](./stun.md) for more details on how this + counterpart. See [STUN and NAT](../stun.md) for more details on how this process works. - All outbound UDP traffic must be allowed for both the client and the agent on **all ports** to each others' respective networks. - To establish a direct connection, both agent and client use STUN. This involves sending UDP packets outbound on `udp/3478` to the configured - [STUN server](../../reference/cli/server.md#--derp-server-stun-addresses). + [STUN server](../../../reference/cli/server.md#--derp-server-stun-addresses). If either the agent or the client are unable to send and receive UDP packets to a STUN server, then direct connections will not be possible. - Both agents and clients will then establish a @@ -115,7 +115,7 @@ In order for clients to be able to establish direct connections: ### Relayed connections By default, your Coder server also runs a built-in DERP relay which can be used -for both public and [offline deployments](../../install/offline.md). +for both public and [offline deployments](../../../install/offline.md). However, our Wireguard integration through Tailscale has graciously allowed us to use From fc395820c37246f0e68895b1e6758665ad0429c2 Mon Sep 17 00:00:00 2001 From: EdwardAngert Date: Fri, 21 Feb 2025 20:27:35 +0000 Subject: [PATCH 07/15] up next links --- docs/admin/networking/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index f56566606680f..addb0aa3f191f 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -79,5 +79,7 @@ dashboard-accessed web apps. ## Up next -- Learn about [Port Forwarding](./port-forwarding.md) - Troubleshoot [Networking Issues](./troubleshooting.md) +- [More about Coder networking](./more-networking/index.md) +- [Underlying networking stack](./more-networking/underlying-stack.md) +- Learn about [Port Forwarding](./port-forwarding.md) From 2d5bc59bde9f9a38b6734727d95048df406ece28 Mon Sep 17 00:00:00 2001 From: EdwardAngert Date: Fri, 21 Feb 2025 20:35:10 +0000 Subject: [PATCH 08/15] add 'more' to networking sidebar --- docs/manifest.json | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/docs/manifest.json b/docs/manifest.json index b94887600711a..93b844cd21482 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -544,20 +544,25 @@ "path": "./admin/networking/high-availability.md", "state": ["enterprise", "premium"] }, - { - "title": "Connections and geo-distribution", - "description": "Learn more about the Coder connections and geo-distribution", - "path": "./admin/networking/more-networking/index.md" - }, - { - "title": "Underlying networking stack", - "description": "Learn more about the underlying networking stack and Coder agent", - "path": "./admin/networking/more-networking/underlying-stack.md" - }, { "title": "Troubleshooting", "description": "Troubleshoot networking issues in Coder", "path": "./admin/networking/troubleshooting.md" + }, + { + "title": "More", + "children": [ + { + "title": "Connections and geo-distribution", + "description": "Learn more about the Coder connections and geo-distribution", + "path": "./admin/networking/more-networking/index.md" + }, + { + "title": "Underlying networking stack", + "description": "Learn more about the underlying networking stack and Coder agent", + "path": "./admin/networking/more-networking/underlying-stack.md" + } + ] } ] }, From 21cdd5c436816828f75b3ad8488efca09ffa0222 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Wed, 26 Feb 2025 05:33:37 +0000 Subject: [PATCH 09/15] tweak manifest with description --- docs/manifest.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/manifest.json b/docs/manifest.json index 93b844cd21482..1f88e29fcc30b 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -551,6 +551,8 @@ }, { "title": "More", + "description": "More about networking", + "path": "./admin/networking/more-networking/index.md", "children": [ { "title": "Connections and geo-distribution", From f3c16fab5a94254d80a974024ab61426ff55f65c Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Wed, 26 Feb 2025 21:39:33 +0000 Subject: [PATCH 10/15] add direct and relayed connections diagrams --- docs/admin/networking/more-networking/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/admin/networking/more-networking/index.md b/docs/admin/networking/more-networking/index.md index 8c2107a753da5..aa76b4dff01c2 100644 --- a/docs/admin/networking/more-networking/index.md +++ b/docs/admin/networking/more-networking/index.md @@ -59,6 +59,8 @@ Direct connections reduce latency and improve upload and download speeds for dev However, there are many scenarios where direct connections cannot be established, such as when the Coder [administrators disable direct connections](../../../reference/cli/server.md#--block-direct-connections). +![Diagram of a direct connection](../../../images/admin/networking/network-stack/network-diagram-direct-connection.png) + Consult the [direct connections section](../troubleshooting.md#common-problems-with-direct-connections) of the troubleshooting guide for more information. The troubleshooting guide also explains how to identify if a connection is direct @@ -117,6 +119,8 @@ In order for clients to be able to establish direct connections: By default, your Coder server also runs a built-in DERP relay which can be used for both public and [offline deployments](../../../install/offline.md). +![Diagram of a relayed connection](../../../images/admin/networking/network-stack/network-diagram-relayed-connection.png) + However, our Wireguard integration through Tailscale has graciously allowed us to use [their global DERP relays](https://tailscale.com/kb/1118/custom-derp-servers/#what-are-derp-servers). From b79093ba54323c7ff9ac658b81abad9d7f853ece Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Wed, 26 Feb 2025 21:42:58 +0000 Subject: [PATCH 11/15] git add images --- .../network-diagram-direct-connection.png | Bin 0 -> 54111 bytes .../network-diagram-relayed-connection.png | Bin 0 -> 45017 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/admin/networking/network-stack/network-diagram-direct-connection.png create mode 100644 docs/images/admin/networking/network-stack/network-diagram-relayed-connection.png diff --git a/docs/images/admin/networking/network-stack/network-diagram-direct-connection.png b/docs/images/admin/networking/network-stack/network-diagram-direct-connection.png new file mode 100644 index 0000000000000000000000000000000000000000..e353ff305f40db1ed5e3cae3f775787ae4901b8c GIT binary patch literal 54111 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 z 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 -lkUzDQ~=t->; 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 H^T7WDrYWxZ literal 0 HcmV?d00001 From b6d0e4b16043c0ec748f32825caab60f67da1a50 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Wed, 26 Feb 2025 21:57:58 +0000 Subject: [PATCH 12/15] add ssh/browser diagram --- docs/admin/networking/more-networking/index.md | 2 ++ .../network-diagram-ssh-browser.png | Bin 0 -> 84898 bytes 2 files changed, 2 insertions(+) create mode 100644 docs/images/admin/networking/network-stack/network-diagram-ssh-browser.png diff --git a/docs/admin/networking/more-networking/index.md b/docs/admin/networking/more-networking/index.md index aa76b4dff01c2..0b41c5859b643 100644 --- a/docs/admin/networking/more-networking/index.md +++ b/docs/admin/networking/more-networking/index.md @@ -5,6 +5,8 @@ Coder workspaces have SSH support which allows the use of desktop editors such as VS Code remote connections and JetBrains Gateway. +![Diagram of SSH and browser connections](../../../images/admin/networking/network-stack/network-diagram-ssh-browser.png) + SSH connections require that you open port 443 on the server. Coder does not require workspaces to have port 22 open, an OpenSSH server running, diff --git a/docs/images/admin/networking/network-stack/network-diagram-ssh-browser.png b/docs/images/admin/networking/network-stack/network-diagram-ssh-browser.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc5eb089cfbda3bfa467589f3ba070365a72a6b GIT binary patch literal 84898 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%0AOKI-+IqX4#rIxu0bcO(}Pu@-IXcc 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 B5l{dC literal 0 HcmV?d00001 From be11200ae2d306f15404e2915bf6b7f2dbab9302 Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 17:22:38 +0000 Subject: [PATCH 13/15] update user/workspace png --- .../network-stack/network-user-workspace.png | Bin 41411 -> 42417 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/admin/networking/network-stack/network-user-workspace.png b/docs/images/admin/networking/network-stack/network-user-workspace.png index e44671d54481a0fe1ee111f391ff8e049ec0cec7..d148c6f6486f1b9d72da562335bcd1c82aa1c256 100644 GIT binary patch literal 42417 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 M-qcjeSFrH=A2#96ApigX literal 41411 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 From d537022c07685a8146a5b45acdd12748cff5836b Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Fri, 7 Mar 2025 17:47:38 +0000 Subject: [PATCH 14/15] edits from review --- docs/admin/networking/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index addb0aa3f191f..e615dfa04b548 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -27,8 +27,7 @@ Direct connections are as fast as connecting to the workspace outside of Coder. When NAT traversal fails, connections are relayed through the Coder server. All user-workspace connections are end-to-end encrypted. -[Tailscale](https://tailscale.com)'s implementation of -[Wireguard](https://www.wireguard.com/) backs our websocket/HTTPS networking logic. +Coder establishes network connections with an embedded version of [Tailscale](https://tailscale.com)'s open source data plane. ## Requirements From d0d9569d496643a4898bddf358c3460aa267dc5f Mon Sep 17 00:00:00 2001 From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:13:34 +0000 Subject: [PATCH 15/15] gfm alert --- docs/admin/networking/more-networking/index.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/admin/networking/more-networking/index.md b/docs/admin/networking/more-networking/index.md index 0b41c5859b643..986e438c2a0b0 100644 --- a/docs/admin/networking/more-networking/index.md +++ b/docs/admin/networking/more-networking/index.md @@ -22,12 +22,9 @@ web terminal, web RDP, and others. ### 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