Coder is deployed on Kubernetes and includes the following components:
- Manager: the central authority; provides authentication and supports the Dashboard and an API which you can use to create and interact with Workspaces
- Envproxy: the WebSocket proxy to a workspace's editor and terminal
- PostgreSQL: data storage for session tokens, workspace information, etc.
Each component runs in its own Kubernetes pod.
Kubernetes NGINX ingress
Coder deploys an NGINX Kubernetes ingress controller to allocate and route requests to the appropriate service. You can disable this controller in the helm chart if you use your ingress or gateway.
The following is a table of the listening ports associated with Coder resources in the cluster. The environment ports are:
- envagent (used for shell sessions):
- envagent (SSH proxy):
Note: This table represents Coder's current behavior. It is subject to change in future releases.
|Pod||Source||Source port||Destination||Destination port|
|N/A||N/A||resource||13337, 12212, 26337|
There are two ways to deploy Coder:
- The default installation, which is a non-air-gapped option, using the Kubernetes provider of your choice; you should be able to access Coder resources from this workspace freely
- A secured, air-gapped option; you can choose to limit access and deploy Coder by first pulling in all of the required resources, or you can choose to whitelist the URLs/IP addresses needed to access Coder resources
Coder cannot be deployed in an air-gapped workspace when using the free license tier. If you need to deploy an air-gapped Coder instance, please contact our sales department to see about purchasing licenses.