- Notifications
You must be signed in to change notification settings - Fork1k
docs: reorganize the networking section#16646
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Closed
+308 −168
Closed
Changes fromall commits
Commits
Show all changes
19 commits Select commitHold shift + click to select a range
bf81d89
s/coder/Coder
EdwardAngertb3a1612
add diagram, init edit
EdwardAngert895965a
no diff change?
EdwardAngertd71d800
add underlying stack doc
EdwardAngertb8c76a4
add link to networking stack from index
EdwardAngert09264e4
fix links
EdwardAngertfc39582
up next links
EdwardAngert2d5bc59
add 'more' to networking sidebar
EdwardAngert9c5db51
Merge remote-tracking branch 'origin/main' into 16634-networking-stack
EdwardAngert21cdd5c
tweak manifest with description
EdwardAngertf3c16fa
add direct and relayed connections diagrams
EdwardAngertb79093b
git add images
EdwardAngertee2891e
Merge remote-tracking branch 'origin/main' into 16634-networking-stack
EdwardAngertb6d0e4b
add ssh/browser diagram
EdwardAngert2691767
Merge remote-tracking branch 'origin/main' into 16634-networking-stack
EdwardAngertbe11200
update user/workspace png
EdwardAngertd537022
edits from review
EdwardAngertfb563b2
Merge remote-tracking branch 'origin/main' into 16634-networking-stack
EdwardAngertd0d9569
gfm alert
EdwardAngertFile filter
Filter by extension
Conversations
Failed to load comments.
Loading
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Jump to file
Failed to load files.
Loading
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
2 changes: 1 addition & 1 deletiondocs/admin/networking/high-availability.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
202 changes: 46 additions & 156 deletionsdocs/admin/networking/index.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,80 +1,66 @@ | ||
# Networking | ||
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. | ||
 | ||
EdwardAngert marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
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 | ||
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. | ||
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 theCoder server. All | ||
user-workspace connections are end-to-end encrypted. | ||
Coder establishes network connections with an embedded version of [Tailscale](https://tailscale.com)'s open source data plane. | ||
## Requirements | ||
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. | ||
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. | ||
> [!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 | ||
EdwardAngert marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
> - Better than 0.5% random packet loss | ||
## 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 andthe Coder server. | ||
Users connect to theCoder server's dashboard and API through its `ACCESS_URL` | ||
as well. There must not be a NAT between users and theCoder server. | ||
Template admins can overwrite the site-wide access URL at the template level by | ||
leveraging the `url` argument when | ||
@@ -91,113 +77,17 @@ and the Coder server. | ||
## Web Apps | ||
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. | ||
## Up next | ||
- 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) |
Oops, something went wrong.
Uh oh!
There was an error while loading.Please reload this page.
Oops, something went wrong.
Uh oh!
There was an error while loading.Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.