Skip to content

Commit 488fb72

Browse files
committed
docs(user-guides/devcontainers): rewrite dev containers documentation for GA
The previous documentation had inaccuracies: SSH examples used the deprecated `--container` flag instead of the agent-based pattern (`coder ssh workspace.agent`), port forwarding focused on `appPort` when native forwarding to sub-agents is the primary method, and prerequisites implied users needed to "enable" dev containers when it is on by default. Renamed admin docs folder from `devcontainers/` to `envbuilder/` since it documents Envbuilder specifically, not native dev containers. Added notes pointing to native dev containers as the recommended approach for most use cases. Also fixes module registry URLs that pointed to dev.registry instead of registry.coder.com. Refs #18907
1 parent fcd64ea commit 488fb72

File tree

16 files changed

+376
-163
lines changed

16 files changed

+376
-163
lines changed

.markdownlint-cli2.jsonc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"ignores": ["PLAN.md"],
3+
}

docs/_redirects

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,10 @@
44
# Redirect old offline anchor fragments to new airgap anchors
55
/install/offline#offline-docs /install/airgap#airgap-docs 301
66
/install/offline#offline-container-images /install/airgap#airgap-container-images 301
7+
8+
# Redirect old devcontainers folder to envbuilder
9+
/admin/templates/managing-templates/devcontainers /admin/templates/managing-templates/envbuilder 301
10+
/admin/templates/managing-templates/devcontainers/index /admin/templates/managing-templates/envbuilder 301
11+
/admin/templates/managing-templates/devcontainers/add-devcontainer /admin/templates/managing-templates/envbuilder/add-envbuilder 301
12+
/admin/templates/managing-templates/devcontainers/devcontainer-security-caching /admin/templates/managing-templates/envbuilder/envbuilder-security-caching 301
13+
/admin/templates/managing-templates/devcontainers/devcontainer-releases-known-issues /admin/templates/managing-templates/envbuilder/envbuilder-releases-known-issues 301

docs/admin/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ For any information not strictly contained in these sections, check out our
5252
### Development containers (dev containers)
5353

5454
- A
55-
[Development Container](./templates/managing-templates/devcontainers/index.md)
55+
[Development Container](./templates/extending-templates/devcontainers.md)
5656
is an open-source specification for defining development environments (called
5757
dev containers). It is generally stored in VCS alongside associated source
5858
code. It can reference an existing base image, or a custom Dockerfile that

docs/admin/templates/extending-templates/devcontainers.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ to ensure the `@devcontainers/cli` is installed in your workspace:
3636
```terraform
3737
module "devcontainers-cli" {
3838
count = data.coder_workspace.me.start_count
39-
source = "dev.registry.coder.com/modules/devcontainers-cli/coder"
39+
source = "registry.coder.com/coder/devcontainers-cli/coder"
4040
agent_id = coder_agent.dev.id
4141
}
4242
```
@@ -232,7 +232,7 @@ resource "coder_agent" "dev" {
232232
233233
module "devcontainers-cli" {
234234
count = data.coder_workspace.me.start_count
235-
source = "dev.registry.coder.com/modules/devcontainers-cli/coder"
235+
source = "registry.coder.com/coder/devcontainers-cli/coder"
236236
agent_id = coder_agent.dev.id
237237
}
238238

docs/admin/templates/index.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,10 @@ needs of different teams.
4848

4949
- [Image management](./managing-templates/image-management.md): Learn how to
5050
create and publish images for use within Coder workspaces & templates.
51-
- [Dev Container support](./managing-templates/devcontainers/index.md): Enable
52-
dev containers to allow teams to bring their own tools into Coder workspaces.
53-
- [Early Access Dev Containers](../../user-guides/devcontainers/index.md): Try our
54-
new direct devcontainers integration (distinct from Envbuilder-based
55-
approach).
51+
- [Dev Containers integration](./extending-templates/devcontainers.md): Enable
52+
native dev containers support using `@devcontainers/cli` and Docker.
53+
- [Envbuilder](./managing-templates/envbuilder/index.md): Alternative approach
54+
for environments without Docker access.
5655
- [Template hardening](./extending-templates/resource-persistence.md#-bulletproofing):
5756
Configure your template to prevent certain resources from being destroyed
5857
(e.g. user disks).

docs/admin/templates/managing-templates/devcontainers/add-devcontainer.md renamed to docs/admin/templates/managing-templates/envbuilder/add-envbuilder.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
# Add a dev container template to Coder
1+
# Add an Envbuilder template
22

3-
A Coder administrator adds a dev container-compatible template to Coder
4-
(Envbuilder). This allows the template to prompt for the developer for their dev
5-
container repository's URL as a
6-
[parameter](../../extending-templates/parameters.md) when they create their
7-
workspace. Envbuilder clones the repo and builds a container from the
3+
A Coder administrator adds an Envbuilder-compatible template to Coder. This
4+
allows the template to prompt the developer for their dev container repository's
5+
URL as a [parameter](../../extending-templates/parameters.md) when they create
6+
their workspace. Envbuilder clones the repo and builds a container from the
87
`devcontainer.json` specified in the repo.
98

109
You can create template files through the Coder dashboard, CLI, or you can
@@ -143,4 +142,4 @@ Lifecycle scripts are managed by project developers.
143142

144143
## Next steps
145144

146-
- [Dev container security and caching](./devcontainer-security-caching.md)
145+
- [Envbuilder security and caching](./envbuilder-security-caching.md)

docs/admin/templates/managing-templates/devcontainers/devcontainer-releases-known-issues.md renamed to docs/admin/templates/managing-templates/envbuilder/envbuilder-releases-known-issues.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Dev container releases and known issues
1+
# Envbuilder releases and known issues
22

33
## Release channels
44

docs/admin/templates/managing-templates/devcontainers/devcontainer-security-caching.md renamed to docs/admin/templates/managing-templates/envbuilder/envbuilder-security-caching.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Dev container security and caching
1+
# Envbuilder security and caching
22

33
Ensure Envbuilder can only pull pre-approved images and artifacts by configuring
44
it with your existing HTTP proxies, firewalls, and artifact managers.
@@ -26,7 +26,7 @@ of caching:
2626

2727
- Caches the entire image, skipping the build process completely (except for
2828
post-build
29-
[lifecycle scripts](./add-devcontainer.md#dev-container-lifecycle-scripts)).
29+
[lifecycle scripts](./add-envbuilder.md#dev-container-lifecycle-scripts)).
3030

3131
Note that caching requires push access to a registry, and may require approval
3232
from relevant infrastructure team(s).
@@ -62,5 +62,5 @@ You may also wish to consult a
6262

6363
## Next steps
6464

65-
- [Dev container releases and known issues](./devcontainer-releases-known-issues.md)
65+
- [Envbuilder releases and known issues](./envbuilder-releases-known-issues.md)
6666
- [Dotfiles](../../../../user-guides/workspace-dotfiles.md)

docs/admin/templates/managing-templates/devcontainers/index.md renamed to docs/admin/templates/managing-templates/envbuilder/index.md

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
1-
# Dev containers
2-
3-
A Development Container is an
4-
[open-source specification](https://containers.dev/implementors/spec/) for
5-
defining containerized development environments which are also called
6-
development containers (dev containers).
1+
# Envbuilder
2+
3+
Envbuilder is an open-source tool that builds development environments from
4+
[dev container](https://containers.dev/implementors/spec/) configuration files.
5+
Unlike the [native Dev Containers integration](../../extending-templates/devcontainers.md),
6+
Envbuilder transforms the workspace image itself rather than running containers
7+
inside the workspace.
8+
9+
> [!NOTE]
10+
>
11+
> For most use cases, we recommend the
12+
> [native Dev Containers integration](../../extending-templates/devcontainers.md),
13+
> which uses the standard `@devcontainers/cli` and Docker. Envbuilder is an
14+
> alternative for environments where Docker is not available or for
15+
> administrator-controlled dev container workflows.
716
817
Dev containers provide developers with increased autonomy and control over their
918
Coder cloud development environments.
@@ -119,4 +128,4 @@ of the Coder control plane and even run within a CI/CD pipeline.
119128

120129
## Next steps
121130

122-
- [Add a dev container template](./add-devcontainer.md)
131+
- [Add an Envbuilder template](./add-envbuilder.md)

docs/admin/templates/managing-templates/image-management.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,5 @@ specific tooling for their projects. The [Dev Container](https://containers.dev)
7070
specification allows developers to define their projects dependencies within a
7171
`devcontainer.json` in their Git repository.
7272

73-
- [Learn how to integrate Dev Containers with Coder](./devcontainers/index.md)
73+
- [Configure a template for Dev Containers](../extending-templates/devcontainers.md) (recommended)
74+
- [Learn about Envbuilder](./envbuilder/index.md) (alternative for environments without Docker)

0 commit comments

Comments
 (0)