@@ -31,12 +31,11 @@ resources from
31
31
32
32
## Install Coder
33
33
34
- 1 . Create the Coder namespace
35
- [ namespace] ( https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ ) :
34
+ 1 . Create the Coder [ namespace] ( https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ ) :
36
35
37
- ``` console
38
- kubectl create namespace coder
39
- ```
36
+ ``` console
37
+ kubectl create namespace coder
38
+ ```
40
39
41
40
1 . Add the Coder Helm repo:
42
41
@@ -88,149 +87,144 @@ resources from
88
87
> View the
89
88
> [ configuration options available in the ` values.yaml ` file.] ( https://github.com/coder/enterprise-helm#values )
90
89
91
- ## Optional configuration
92
-
93
- The following sections walk you through optional confirmation steps; once you've
94
- updated the configuration, you'll need to (re)install Coder.
95
-
96
- ### Set the super admin password
90
+ ## Set the super admin password
97
91
98
92
** Optional** : change the admin user password by updating ` values.yaml ` as
99
- follows:
100
-
101
- ``` yaml
102
- superAdmin :
103
- # Options for configuring the secret used to specify the password for the
104
- # built-in super admin account.
105
- passwordSecret :
106
- # coderd.superAdmin.passwordSecret.name -- Name of a secret that should
107
- # be used to determine the password for the super admin account. The
108
- # password should be contained in the field `password`, or the manually
109
- # specified one.
110
- name : " "
111
- # coderd.superAdmin.passwordSecret.key -- The key of the secret that
112
- # contains the super admin password.
113
- key : " password"
114
- ` ` `
93
+ follows:
94
+
95
+ ``` yaml
96
+ superAdmin :
97
+ # Options for configuring the secret used to specify the password for the
98
+ # built-in super admin account.
99
+ passwordSecret :
100
+ # coderd.superAdmin.passwordSecret.name -- Name of a secret that should
101
+ # be used to determine the password for the super admin account. The
102
+ # password should be contained in the field `password`, or the manually
103
+ # specified one.
104
+ name : " "
105
+ # coderd.superAdmin.passwordSecret.key -- The key of the secret that
106
+ # contains the super admin password.
107
+ key : " password"
108
+ ` ` `
115
109
116
- ### Connect an external database
110
+ ## Connect an external database
117
111
118
- **Optional**: To configure an externally hosted database, set the following in
119
- ` values.yaml`:
112
+ **Optional**: To configure an externally hosted database, set the following
113
+ in ` values.yaml`:
120
114
121
- > Ensure that you have superuser privileges to your PostgreSQL database.
115
+ > Ensure that you have superuser privileges to your PostgreSQL database.
122
116
123
- ` ` ` yaml
124
- postgres:
125
- default:
126
- enable: false
127
- host: HOST_ADDRESS
128
- port: PORT_NUMBER
129
- user: YOUR_USER_NAME
130
- database: YOUR_DATABASE
131
- passwordSecret: secret-name
132
- sslMode: require
133
- ` ` `
117
+ ` ` ` yaml
118
+ postgres:
119
+ default:
120
+ enable: false
121
+ host: HOST_ADDRESS
122
+ port: PORT_NUMBER
123
+ user: YOUR_USER_NAME
124
+ database: YOUR_DATABASE
125
+ passwordSecret: secret-name
126
+ sslMode: require
127
+ ` ` `
134
128
135
- To create the `passwordSecret`, run :
129
+ a. To create the `passwordSecret`, run :
136
130
137
- ` ` ` console
138
- kubectl create secret generic <NAME> --from-literal="password=UserDefinedPassword"
139
- ` ` `
131
+ ` ` ` console
132
+ kubectl create secret generic <NAME> --from-literal="password=UserDefinedPassword"
133
+ ` ` `
140
134
141
- > Put a space before the command to prevent it from being saved in your shell
142
- > history.
143
- >
144
- > Running this command could potentially expose your database password to other
145
- > users on your system through `/proc`. If this is a concern, you can use
146
- > `--from-file=password=/dev/stdin` instead of `--from-literal=...` to enter
147
- > your password and press `Ctrl+D` when you're done to submit it.
148
- >
149
- > Ensure that there are no trailing white spaces in your password secret.
135
+ > Put a space before the command to prevent it from being saved in your shell
136
+ > history.
137
+ >
138
+ > Running this command could potentially expose your database password to
139
+ > other users on your system through `/proc`. If this is a concern, you can
140
+ > use `--from-file=password=/dev/stdin` instead of `--from-literal=...` to
141
+ > enter your password and press `Ctrl+D` when you're done to submit it.
142
+ >
143
+ > Ensure that there are no trailing white spaces in your password secret.
150
144
151
- For more detailed configuration instructions,
152
- [see our PostgreSQL setup guide](../guides/deployments/postgres.md).
145
+ For more detailed configuration instructions,
146
+ [see our PostgreSQL setup guide](../guides/deployments/postgres.md).
153
147
154
- # ## Enable dev URLs
148
+ # # Enable dev URLs
155
149
156
150
**Optional**: Enable dev URL usage.
157
- [You must provide a wildcard domain in the Helm chart](../admin/devurls.md).
151
+ [You must provide a wildcard domain in the Helm chart](../admin/devurls.md).
158
152
159
- ` ` ` yaml
160
- coderd:
161
- devurlsHost: "*.my-custom-domain.io"
162
- ` ` `
153
+ ` ` ` yaml
154
+ coderd:
155
+ devurlsHost: "*.my-custom-domain.io"
156
+ ` ` `
163
157
164
- # ## Enable TLS
158
+ # # Enable TLS
165
159
166
160
**Optional:** To set up TLS:
167
161
168
- a. You will need to create a TLS secret. To do so, run the following with the
169
- `.pem` files provided by your certificate :
162
+ a. You will need to create a TLS secret. To do so, run the following with the
163
+ `.pem` files provided by your certificate :
170
164
171
- ` ` ` console
172
- kubectl create secret tls tls-secret --key key.pem --cert cert.pem
173
- ` ` `
165
+ ` ` ` console
166
+ kubectl create secret tls tls-secret --key key.pem --cert cert.pem
167
+ ` ` `
174
168
175
- > If your certificate provider does not provide `.pem` files, then you may need
176
- > to attach the certificate to the LoadBalancer manually.
169
+ > If your certificate provider does not provide `.pem` files, then you may
170
+ > need to attach the certificate to the LoadBalancer manually.
177
171
178
- b. Attach the secret to the `coderd` service by setting the following values :
172
+ b. Attach the secret to the `coderd` service by setting the following values :
179
173
180
- ` ` ` yaml
181
- coderd:
182
- tls:
183
- hostSecretName: <tls-secret>
184
- devurlsHostSecretName: <tls-secret>
185
- ` ` `
174
+ ` ` ` yaml
175
+ coderd:
176
+ tls:
177
+ hostSecretName: <tls-secret>
178
+ devurlsHostSecretName: <tls-secret>
179
+ ` ` `
186
180
187
- # ## Set up an ingress controller
181
+ # # Set up an ingress controller
188
182
189
183
**Optional:** If you cannot use a load balancer, you may need an ingress
190
- controller. To configure one with Coder, set the following in `values.yaml` :
191
-
192
- > We assume that you already have an ingress controller installed in your
193
- > cluster.
194
-
195
- ` ` ` yaml
196
- coderd:
197
- devurlsHost: "*.devurls.coderhost.com"
198
- serviceSpec:
199
- # The Ingress will route traffic to the internal ClusterIP.
200
- type: ClusterIP
201
- externalTrafficPolicy: ""
202
- tls:
203
- hostSecretName: <tls-secret>
204
- devurlsHostSecretName: <tls-secret>
205
- ingress:
206
- enable: true
207
- # Hostname to use for routing decisions
208
- host: "coder.coderhost.com"
209
- # Custom annotations to apply to the resulting Ingress object
210
- # This is useful for configuring other controllers in the cluster
211
- # such as cert-manager or the ingress controller
212
- annotations: {}
213
- ` ` `
184
+ controller. To configure one with Coder, set the following in `values.yaml` :
185
+
186
+ > We assume that you already have an ingress controller installed in your
187
+ > cluster.
188
+
189
+ ` ` ` yaml
190
+ coderd:
191
+ devurlsHost: "*.devurls.coderhost.com"
192
+ serviceSpec:
193
+ # The Ingress will route traffic to the internal ClusterIP.
194
+ type: ClusterIP
195
+ externalTrafficPolicy: ""
196
+ tls:
197
+ hostSecretName: <tls-secret>
198
+ devurlsHostSecretName: <tls-secret>
199
+ ingress:
200
+ enable: true
201
+ # Hostname to use for routing decisions
202
+ host: "coder.coderhost.com"
203
+ # Custom annotations to apply to the resulting Ingress object
204
+ # This is useful for configuring other controllers in the cluster
205
+ # such as cert-manager or the ingress controller
206
+ annotations: {}
207
+ ` ` `
214
208
215
- # ## Configure your proxy
209
+ # # Configure a proxy
216
210
217
- **Optional:** To have Coder initiate outbound connections via a proxy, set the
218
- following (applicable) values :
211
+ **Optional:** To have Coder initiate outbound connections via a proxy, set
212
+ the following (applicable) values :
219
213
220
- ` ` ` yaml
221
- coderd:
222
- proxy:
223
- http: ""
224
- https: ""
225
- exempt: "cluster.local"
226
- ` ` `
214
+ ` ` ` yaml
215
+ coderd:
216
+ proxy:
217
+ http: ""
218
+ https: ""
219
+ exempt: "cluster.local"
220
+ ` ` `
227
221
228
- Once you've implemented all of the changes in `values.yaml`, install Coder with
229
- the following command :
222
+ Once you've implemented all of the changes in `values.yaml`, upgrade Coder
223
+ with the following command :
230
224
231
- ` ` ` console
232
- helm install coder coder/coder --namespace coder --version=<VERSION> -f values.yaml
233
- ` ` `
225
+ ` ` ` console
226
+ helm upgrade coder coder/coder --namespace coder --version=<VERSION> -f values.yaml
227
+ ` ` `
234
228
235
229
# # Logging
236
230
@@ -239,7 +233,7 @@ At this time, we recommend reviewing Coder's default
239
233
your cluster and troubleshooting, and Coder offers you several options for
240
234
obtaining these.
241
235
242
- # # Access Coder
236
+ # # Accessing Coder
243
237
244
238
1. To access Coder's web UI, you'll need to get its IP address by running the
245
239
following in the terminal to list the Kubernetes services running :
@@ -259,7 +253,7 @@ obtaining these.
259
253
260
254
At this point, you're ready to proceed to [configuring Coder](configuration.md).
261
255
262
- # # Troubleshoot EKS
256
+ # # EKS troubleshooting
263
257
264
258
If you're unable to access your Coder deployment via the external IP generated
265
259
by EKS, this is likely due to `coderd` being scheduled onto the incorrect node
0 commit comments