Skip to content

feat(coderd/healthcheck): add access URL error codes and healthcheck doc #10915

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Nov 30, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add DERP words
  • Loading branch information
johnstcn committed Nov 30, 2023
commit 1b56493632c64f5b54435f7bbf618af6133c4ecb
22 changes: 18 additions & 4 deletions docs/admin/healthcheck.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,27 @@ threshold to a higher value (this will not address the root cause).

## DERP

### <a name="EDERP01">EDERP01: TODO</a>
Coder workspace agents may use [DERP (Designated Encrypted Relay for Packets)](https://tailscale.com/blog/how-tailscale-works/#encrypted-tcp-relays-derp) to communicate with Coder.
This requires connectivity to a number of configured [DERP servers](../cli/server.md#--derp-config-path) which are used
to relay traffic between Coder and workspace agents. Coder periodically queries the health of its configured DERP servers and may return one or more of the following:

TODO
### <a name="EDERP01">EDERP01: DERP Node Uses Websocket</a>

### <a name="EDERP02">EDERP02: TODO</a>
**Problem:** When Coder attempts to establish a connection to one or more DERP servers, it sends a specific `Upgrade: derp` HTTP header.
Some load balancers may block this header, in which case Coder will fall back to `Upgrade: websocket`.
This is not necessarily a fatal error, but a possible indication of a misconfigured reverse HTTP proxy.

TODO
> [!NOTE]
> This may also be shown if you have [forced websocket connections for DERP](../cli/server.md#--derp-force-websockets).

**Solution:** ensure that any configured reverse proxy does not strip the `Upgrade: derp` header.

### <a name="EDERP02">EDERP02: One or more DERP nodes unhealthy</a>

**Problem:** This s shown if Coder is unable to reach one or more configured DERP servers. Clients will fall back to use the remaining
DERP servers, but performance may be impacted for clients closest to the unhealthy DERP server.

**Solution:** Ensure that the DERP server is available and reachable over the network on port 443.

## Websocket

Expand Down