diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index e93c83938c125..563b54b2bcebd 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -9,9 +9,10 @@ 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 -user <-> workspace connections are end-to-end encrypted. +user-workspace connections are end-to-end encrypted. -[Tailscale's open source](https://tailscale.com) backs our networking logic. +[Tailscale's open source](https://tailscale.com) backs our websocket/HTTPS +networking logic. ## Requirements @@ -128,12 +129,13 @@ but this can be disabled or changed for 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, Tailscale has graciously allowed us to use +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 +coder server --derp-config-url https://controlplane.tailscale.com/derpmap/default ``` #### Custom Relays diff --git a/docs/admin/networking/stun.md b/docs/admin/networking/stun.md index 8946253e7b980..391dc7d560060 100644 --- a/docs/admin/networking/stun.md +++ b/docs/admin/networking/stun.md @@ -33,12 +33,12 @@ 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. -At a high level, STUN works like this: - > 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: + - **Discovery:** Both the client and agent will send UDP traffic to one or more configured STUN servers. These STUN servers are generally located on the public internet, and respond with the public IP address and port from which diff --git a/docs/install/offline.md b/docs/install/offline.md index c70b3426cc12f..72db203d86dfb 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/ 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/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) | ## Offline container images diff --git a/docs/tutorials/support-bundle.md b/docs/tutorials/support-bundle.md index 9c38e36fbeb28..f26c264b087d2 100644 --- a/docs/tutorials/support-bundle.md +++ b/docs/tutorials/support-bundle.md @@ -29,8 +29,8 @@ A brief overview of all files contained in the bundle is provided below: | Filename | Description | | --------------------------------- | ---------------------------------------------------------------------------------------------------------- | | `agent/agent.json` | The agent used to connect to the workspace with environment variables stripped. | -| `agent/agent_magicsock.html` | The contents of the HTTP debug endpoint of the agent's Tailscale connection. | -| `agent/client_magicsock.html` | The contents of the HTTP debug endpoint of the client's Tailscale connection. | +| `agent/agent_magicsock.html` | The contents of the HTTP debug endpoint of the agent's Tailscale Wireguard connection. | +| `agent/client_magicsock.html` | The contents of the HTTP debug endpoint of the client's Tailscale Wireguard connection. | | `agent/listening_ports.json` | The listening ports detected by the selected agent running in the workspace. | | `agent/logs.txt` | The logs of the selected agent running in the workspace. | | `agent/manifest.json` | The manifest of the selected agent with environment variables stripped. |