|
1 | 1 | # Workspace Proxies
|
2 | 2 |
|
3 |
| -> Workspace proxies are in an [experimental state](../contributing/feature-stages.md#experimental-features) and the behavior is subject to change. Use [GitHub issues](https://github.com/coder/coder) to leave feedback. This experiment must be specifically enabled with the `--experiments="moons"` option on both coderd and the workspace proxy. |
| 3 | +> Workspace proxies are in an [experimental state](../contributing/feature-stages.md#experimental-features) and the behavior is subject to change. Use [GitHub issues](https://github.com/coder/coder) to leave feedback. This experiment must be specifically enabled with the `--experiments="moons"` option on both coderd and the workspace proxy. If you have all experiements enabled, you have to add moons as well. `--experiments="*,moons"` |
4 | 4 |
|
5 | 5 | Workspace proxies provide low-latency experiences for geo-distributed teams.
|
6 | 6 |
|
@@ -83,6 +83,46 @@ CODER_TLS_KEY_FILE="<key_file_location>"
|
83 | 83 | # Additional configuration options are available.
|
84 | 84 | ```
|
85 | 85 |
|
| 86 | +### Running on Kubernetes |
| 87 | + |
| 88 | +Make a `values-wsproxy.yaml` with the workspace proxy configuration: |
| 89 | + |
| 90 | +> Notice the `workspaceProxy` configuration which is `false` by default in the coder Helm chart. |
| 91 | +
|
| 92 | +```yaml |
| 93 | +coder: |
| 94 | + env: |
| 95 | + - name: CODER_PRIMARY_ACCESS_URL |
| 96 | + value: "https://<url_of_coderd_dashboard>" |
| 97 | + - name: CODER_PROXY_SESSION_TOKEN |
| 98 | + value: "<session_token_from_proxy_create>" |
| 99 | + # Example: https://east.coderd.example.com |
| 100 | + - name: CODER_ACCESS_URL |
| 101 | + value: "https://<access_url_of_proxy>" |
| 102 | + # Example: *.east.coderd.example.com |
| 103 | + - name: CODER_WILDCARD_ACCESS_URL |
| 104 | + value: "*.<app_hostname_of_proxy>" |
| 105 | + |
| 106 | + # enables new paid features that are in alpha state |
| 107 | + - name: CODER_EXPERIMENTS |
| 108 | + value: "*,moons" |
| 109 | + |
| 110 | + tls: |
| 111 | + secretNames: |
| 112 | + - kubernetes-wsproxy-secret |
| 113 | + |
| 114 | + # enable workspace proxy |
| 115 | + workspaceProxy: true |
| 116 | +``` |
| 117 | +
|
| 118 | +Using Helm, install the workspace proxy chart |
| 119 | +
|
| 120 | +```bash |
| 121 | +helm install coder coder-v2/coder --namespace <your workspace proxy namespace> -f ./values-wsproxy.yaml |
| 122 | +``` |
| 123 | + |
| 124 | +Test that the workspace proxy is reachable with `curl -vvv`. If for some reason, the Coder dashboard still shows the workspace proxy is `UNHEALTHY`, scale down and up the deployment's replicas. |
| 125 | + |
86 | 126 | ### Running on a VM
|
87 | 127 |
|
88 | 128 | ```bash
|
@@ -118,6 +158,6 @@ ENTRYPOINT ["/opt/coder", "wsproxy", "server"]
|
118 | 158 |
|
119 | 159 | ### Selecting a proxy
|
120 | 160 |
|
121 |
| -Users can navigate to their account settings to select a workspace proxy. Workspace proxy preferences are cached by the web browser. If a proxy goes offline, the session will fall back to the primary proxy. This could take up to 60 seconds. |
| 161 | +Users can select a workspace proxy at the top-right of the browser-based Coder dashboard. Workspace proxy preferences are cached by the web browser. If a proxy goes offline, the session will fall back to the primary proxy. This could take up to 60 seconds. |
122 | 162 |
|
123 | 163 | 
|
0 commit comments