Skip to content

Commit c5ceddf

Browse files
author
Katie Horne
authored
Release 1.29.0 (#902)
1 parent 7ff5f0d commit c5ceddf

File tree

33 files changed

+487
-133
lines changed

33 files changed

+487
-133
lines changed

admin/access-control/manage.md

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ domain name for the OIDC token callback; use
2222
`https://coder.my-company.com/oidc/callback`.
2323

2424
Once you've registered a Coder application with your OIDC provider, you'll need
25-
to return to Coder and complete the setup process. Under **Admin** > **Manage** >
26-
**Authentication**, ensure that you've selected **OpenID Connect** as the
27-
authentication type. Then, provide the following parameters:
25+
to return to Coder and complete the setup process. Under **Admin** >
26+
**Manage** > **Authentication**, ensure that you've selected **OpenID Connect**
27+
as the authentication type. Then, provide the following parameters:
2828

2929
- **Client ID**: The client ID for the Coder application you registered with the
3030
OIDC provider
@@ -43,9 +43,9 @@ you:
4343
tokens from `https://<yourDomain>/api/v0/users/me/oidc-access-token`
4444
- **Additional Scopes:** Specify any scopes (beyond the default) that you would
4545
like Coder to request from the authentication provider. By default, Coder
46-
requests the scopes `openid`, `email`, and `profile`. Consult your
47-
authentication provider's documentation for information on which scopes they
48-
support.
46+
requests the scopes `openid`, `email`, and `profile`. Consult your
47+
authentication provider's documentation for information on which scopes they
48+
support.
4949
- **Disable built-in authentication:** Choose whether Coder removes the ability
5050
to log in with an email/password option when you've enabled OIDC
5151
authentication
@@ -62,9 +62,5 @@ To do so, navigate to **Manage** > **Admin** > **Authentication**. Then, toggle
6262
**Disable built-in authentication** to **On** and click **Save preferences**.
6363

6464
[Site managers](users/user-roles#site-manager-permissions) can still use
65-
built-in authentication. To view this option on the login page, add the
66-
following query parameter to the URL you use to access your Coder deployment:
67-
68-
```text
69-
/login?showAllAuthenticationTypes=1
70-
```
65+
built-in authentication. The **Admin Login** option will be visible on the login
66+
page if built-in authentication is disabled.

admin/access-control/users/password-reset.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ If you need to reset the password for a site admin, you can do so using
3535
> sure to install it before proceeding.
3636
>
3737
> If you are using Docker, follow
38-
> [these instructions](../../../setup/docker#admin-password) instead.
38+
> [these instructions](../../../setup/coder-for-docker/local.md#admin-password)
39+
> instead.
3940
4041
To reset the site admin password, run the following in the terminal:
4142

admin/satellites/migration.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,10 @@ satellite to any cluster and any namespace.
6363

6464
### Step 2: Enable Networking v2
6565

66-
Log into Coder as a site manager, and go to **Manage** > **Providers**. Select
67-
the workspace provider, click the **vertical ellipsis** to its right, and select
68-
**Edit**. Enable the **NetworkingV2 toggle** and click **Update Provider**.
66+
Log into Coder as a site manager, and go to **Manage** > **Workspace
67+
providers**. Select the workspace provider, click the **vertical ellipsis** to
68+
its right, and select **Edit**. Enable the **NetworkingV2 toggle** and click
69+
**Update Provider**.
6970

7071
At this point, rebuild a workspace to ensure connectivity between the workspace
7172
provider and the workspace. Note that latency to the workspace may be negatively

admin/workspace-management/cvms/management.md

Lines changed: 84 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,14 @@ a site manager must enable CVMs. To do so:
99
1. Go to **Manage > Admin > Infrastructure**.
1010
1. Toggle the **Enable Container-Based Virtual Machines** option to **Enable**.
1111

12-
## Cached CVMs
12+
This section also describes the customization features that Coder offers for
13+
CVMs:
14+
15+
![CVM Settings](../../../assets/admin/cvm-settings.png)
16+
17+
These settings will apply to workspaces **after** they have been rebuilt.
18+
19+
## Caching
1320

1421
> Cached CVMs are currently an **alpha** feature.
1522
@@ -18,7 +25,7 @@ To improve the startup time for CVM-based workspaces, you can enable caching.
1825
Cached CVMs require the `shiftfs` kernel to be present on the node. Some
1926
distributions (such as Ubuntu) include `shiftfs`. If you're unsure if `shiftfs`
2027
is present on your nodes, you can check by running `modinfo shiftfs`. If no
21-
output is returned, then you do not have `shiftfs` installed.
28+
output is returned, you do not have `shiftfs` installed.
2229

2330
If you don't want to install `shiftfs` yourself, you can have Coder install the
2431
module automatically for you. **It is important that you do not have secure boot
@@ -27,4 +34,78 @@ install `shiftfs` on your behalf.**
2734

2835
> GPUs are not supported with cached CVMs at this time.
2936
30-
![Cached CVMs](../../../assets/admin/cached-cvms.png)
37+
## Self-contained workspace builds
38+
39+
> Self-contained workspace builds are currently an **alpha** feature.
40+
41+
By default, Coder initializes workspaces by running commands inside the
42+
container. Workspaces, however, control the initialization sequence instead when
43+
you enable [self-contained workspace builds]. This enables cluster operations
44+
that restrict command execution inside containers using the Kubernetes API, such
45+
as the `kubectl exec` command.
46+
47+
[self-contained workspace builds]: ../self-contained-builds.md
48+
49+
## Workspace process logging
50+
51+
> Workspace process logging is currently an **alpha** feature.
52+
53+
[Workspace process logging] enables auditing of commands executed inside the
54+
workspace container.
55+
56+
[workspace process logging]: ../process-logging.md
57+
58+
## TUN device
59+
60+
> TUN devices currently an **alpha** feature.
61+
62+
Coder allows the creation of custom network interfaces using the Linux TUN
63+
device. When using the **Enable TUN device** setting, Coder workspaces will have
64+
a `/dev/net/tun` device mounted into the workspace at build time. VPN usage
65+
often requires a TUN device.
66+
67+
Users may need root (or `sudo`) access within their workspace to use the TUN
68+
device and start a VPN client.
69+
70+
> At this time, Coder does not support TUN devices for non-Kubernetes workspace
71+
> types, such as EC2 or Docker.
72+
>
73+
> If you're working with EC2 workspaces, we recommend enabling privileged mode
74+
> in the workspace provider settings, which will allow users to create their own
75+
> TUN device.
76+
77+
We've tested this feature using the [Tailscale](https://tailscale.com/) VPN
78+
within Coder. Remember that you may have to change your VPN settings to keep any
79+
persistent files (such as configuration/identity) files in your home volume, as
80+
any data outside the home volume is cleared when the workspace is rebuilt.
81+
82+
## FUSE device
83+
84+
> FUSE devices are currently an **alpha** feature.
85+
86+
Coder allows the creation of custom filesystems using the Linux FUSE userspace
87+
filesystem device. By enabling the **Enable FUSE device** setting, Coder
88+
workspaces will have a `/dev/fuse` device mounted into the workspace at build
89+
time. These devices are often used to mount specialized filesystems, such as
90+
Google Cloud Storage buckets, to your workspace.
91+
92+
Users may need root (or `sudo`) access within their workspace to use the FUSE
93+
device and start a FUSE filesystem.
94+
95+
> At this time, Coder does not support FUSE devices for non-Kubernetes workspace
96+
> types, such as EC2 or Docker.
97+
>
98+
> If you're working with EC2 workspaces, we recommend enabling privileged mode
99+
> in the workspace provider settings, which will allow users to create their own
100+
> FUSE device.
101+
102+
For example, you can mount a directory from a remote SSH server using `sshfs`:
103+
104+
```console
105+
mkdir /tmp/mnt
106+
sshfs user@host:/ /tmp/mnt
107+
```
108+
109+
Then, in a second terminal, run `ls /tmp/mnt` to list the files from the remote
110+
host. You should also be able to see a `fuse.sshfs` entry in the output from the
111+
`mount` command.

admin/workspace-management/process-logging.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ fields @timestamp, log_processed.fields.cmdline
150150
sidecar container. Depending on how your Kubernetes cluster is configured, you
151151
may incur extra charges from your cloud provider to store the additional logs.
152152

153-
[c4d-doc]: ../../setup/docker.md
153+
[c4d-doc]: ../../setup/coder-for-docker/index.md
154154
[ebpf]: https://ebpf.io
155155
[ec2-doc]: ../workspace-providers/deployment/ec2.md
156156
[eks-cloudwatch]:

admin/workspace-management/tun-device.md

Lines changed: 0 additions & 38 deletions
This file was deleted.
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
title: Docker
3+
description: Learn how to deploy a workspace provider to a Docker instance.
4+
state: alpha
5+
---
6+
7+
This article walks you through the process of deploying a workspace provider to
8+
a remote VM instance using Docker.
9+
10+
## Prerequisites
11+
12+
- You must have a provisioned VM with the Docker Engine installed and running.
13+
The Docker Engine must be at least version [20.10][docker-engine-version].
14+
15+
- Coder must be able to access the VM over an SSH connection.
16+
17+
- The Coder deployment must be accessible from the containers deployed inside
18+
the VM.
19+
20+
## 1. Create a new SSH key
21+
22+
Coder uses SSH to connect to the remote VM and communicate with the Docker
23+
Engine.
24+
25+
We recommend that you create a new SSH key for this purpose and do _not_ reuse
26+
this key. Furthermore, ensure that you save this key, since you'll need it to
27+
edit your workspace provider in the future.
28+
29+
> &#10071; Coder does not currently support password-protected SSH keys; the SSH
30+
> key must be unencrypted.
31+
32+
To generate your SSH key, run:
33+
34+
```console
35+
ssh-keygen -t ed25519 -C remote-c4d -f $HOME/.ssh/remote_c4d -N ""
36+
```
37+
38+
## 2. Add the SSH key to the remote VM
39+
40+
Add your SSH key to the remote VM's `authorized_keys` file; this will allow
41+
Coder to connect via SSH using the new `remote_c4d` key:
42+
43+
```console
44+
# Replace 'remote-user@192.0.2.10' with your VM's user and host/ip.
45+
ssh-copy-id -f -i $HOME/.ssh/remote_c4d.pub remote-user@192.0.2.10
46+
```
47+
48+
## 3. Verify the SSH key
49+
50+
Verify that you can use the key to connect via SSH to your remote VM:
51+
52+
```console
53+
# Replace 'remote-user@192.0.2.10' with your VM's user and host/ip.
54+
ssh remote-user@192.0.2.10 -o IdentitiesOnly=yes -i $HOME/.ssh/remote_c4d 'echo All good!'
55+
```
56+
57+
## 4. Enable the Docker providers feature flag
58+
59+
In your Coder for Docker deployment, ensure that you've enabled the **Remote
60+
Docker Providers** feature flag.
61+
62+
1. Log in to Coder, and go to **Account** > **Feature Preview**
63+
64+
![See feature flags](../../../assets/deployment/docker/feature-flag-setting.png)
65+
66+
1. Click to enable **Remote Docker Providers**
67+
68+
![Enable feature flag](../../../assets/deployment/docker/docker-feature.png)
69+
70+
## 5. Create the workspace provider
71+
72+
To create your workspace provider, go to **Manage** > **Workspace providers**.
73+
Click the dropdown in the top-right corner to launch **Create Docker Provider**
74+
75+
![Create docker provider](../../../assets/deployment/docker/create-docker-provider.png)
76+
77+
You can now fill out the provider form.
78+
79+
1. Provide a **name** for your new provider.
80+
81+
1. For the **Docker Daemon URL**, use `unix:///var/run./docker.sock`
82+
83+
1. Under the **SSH configuration** section:
84+
85+
1. Under **SSH Host URL**, provide the SSH URL for the remote VM, **including
86+
the port** (e.g., `remote-user@192.0.2.10:22`)
87+
1. Copy over the private key that you created earlier (you can retrieve it
88+
with `cat $HOME/.ssh/remote_c4d`)
89+
1. Run the keyscan provided for known host verification, and copy over the
90+
output:
91+
92+
```console
93+
# Example:
94+
ssh-keyscan -p 22 -H 192.0.2.10
95+
```
96+
97+
1. Optionally, set the access URL to an IP address or URL that workspaces can
98+
use to access `coderd`. You do not need this override if the site-wide
99+
access URL is accessible from the workspace container.
100+
101+
![Docker ssh config](../../../assets/deployment/docker/docker-ssh-config.png)
102+
103+
[docker-engine-version]: https://docs.docker.com/engine/release-notes/#20100

admin/workspace-providers/deployment/kubernetes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Install the following dependencies if you haven't already:
1616

1717
## Creating the new workspace provider
1818

19-
1. Log in to Coder, and go to **Manage** > **Providers**.
19+
1. Log in to Coder, and go to **Manage** > **Workspace providers**.
2020

2121
1. Click **Create New** in the top-right corner to launch the **Create a
2222
Kubernetes Provider** page.

admin/workspace-providers/management.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Once you've made your changes, click **Update Provider** to save and continue.
151151

152152
## Delete a workspace provider
153153

154-
1. Log in to Coder, and go to **Manage** > **Providers**.
154+
1. Log in to Coder, and go to **Manage** > **Workspace providers**.
155155

156156
1. In the **Providers** list, find the workspace provider you want to delete.
157157
Click the vertical ellipsis to its right. Select **Delete**.

assets/admin/cached-cvms.png

-186 KB
Binary file not shown.

0 commit comments

Comments
 (0)