Skip to content

Conversation

@mafredri
Copy link
Member

@mafredri mafredri commented Dec 3, 2025

This PR rewrites the dev containers documentation for GA readiness.

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, with Envbuilder as an alternative for Docker-less environments. Also fixes module registry URLs that pointed to dev.registry instead of registry.coder.com.

Adds a new customization guide documenting Coder-specific devcontainer.json options including custom agent naming, display apps configuration, custom apps with health checks, and variable interpolation using ${localEnv:...}, Coder variables, and $SESSION_TOKEN.

Moves customization content from the admin docs to the user guide where users are more likely to find it. The admin docs now link to the user guide instead of duplicating content.

Improves accuracy around dev container discovery: adds the third standard devcontainer.json location for monorepos (linked to the spec), explains that discovery scans the working directory for Git repos, and clarifies that autostart behavior depends on configuration. Also fixes cross-references between docs to avoid duplication.

Corrects template descriptions: the docker-devcontainer template uses the native Dev Containers integration, while AWS and Kubernetes templates use Envbuilder. Adds example template link to the admin docs.

Refs #18907

@mafredri mafredri force-pushed the mafredri/docs-improve-devcontainer-ga-docs branch 20 times, most recently from e805ebb to 78fb565 Compare December 3, 2025 16:22
@mafredri mafredri changed the title docs: update dev containers documentation for GA docs(user-guides/devcontainers): rewrite dev containers documentation for GA Dec 3, 2025
@mafredri mafredri force-pushed the mafredri/docs-improve-devcontainer-ga-docs branch from 78fb565 to 237fe6b Compare December 3, 2025 16:32
@mafredri mafredri changed the title docs(user-guides/devcontainers): rewrite dev containers documentation for GA docs: rewrite dev containers documentation for GA Dec 3, 2025
@mafredri mafredri force-pushed the mafredri/docs-improve-devcontainer-ga-docs branch 2 times, most recently from 2a7e830 to 7b3109e Compare December 3, 2025 16:41
@mafredri mafredri marked this pull request as ready for review December 3, 2025 16:42
@mafredri mafredri added the doc-check Assign this label to PRs to check for any doc changes. label Dec 3, 2025
@github-actions

This comment was marked as outdated.

@mafredri mafredri requested a review from mtojek December 3, 2025 16:43
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
Documents Coder-specific `devcontainer.json` customizations including
custom agent naming, display apps configuration, custom apps with
health checks, and variable interpolation using `${localEnv:...}`,
Coder variables, and `$SESSION_TOKEN`.
Centralizes the customization documentation in the user guide where
users are more likely to find it. The admin docs now link to the
user guide instead of duplicating content.
@mafredri mafredri force-pushed the mafredri/docs-improve-devcontainer-ga-docs branch from 170ac50 to 84572dc Compare December 4, 2025 09:28
- Add third devcontainer.json location for monorepos, link to spec
- Clarify hostname suffix is a deployment setting
- Tighten project discovery section, clarify autostart behavior
@mafredri mafredri force-pushed the mafredri/docs-improve-devcontainer-ga-docs branch from 0141028 to eacb146 Compare December 4, 2025 09:50
@mafredri mafredri removed the doc-check Assign this label to PRs to check for any doc changes. label Dec 4, 2025
- Explain discovery scans working directory for Git repos
- Cross-reference standard devcontainer.json locations instead of repeating
- Clarify 'How it works' steps depend on auto-start configuration
- Add link to admin docs for autostart env var
- Fix 'Currently available' phrasing to avoid staleness
@mafredri mafredri force-pushed the mafredri/docs-improve-devcontainer-ga-docs branch from 0b2da3f to d052976 Compare December 4, 2025 10:12
The docker-devcontainer template uses the Dev Containers integration,
not Envbuilder. The AWS and Kubernetes templates use Envbuilder.

Also adds example template link to the Dev Containers admin doc.
Copy link
Member

@mtojek mtojek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't check the correctness of the commands, rather focused on features and step descriptions.

Remove numbered prefixes from Getting Started headers and fix config-ssh
section to correctly describe the wildcard host entry instead of multiple
entries.
Copy link
Member

@mtojek mtojek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing blocking, this will be a great improvement 👍

@david-fraley david-fraley added the doc-check Assign this label to PRs to check for any doc changes. label Dec 5, 2025
Copy link
Collaborator

📚 Documentation Check

✨ No Changes Needed

This PR is a comprehensive documentation rewrite that includes all necessary updates:

What was updated:

  • ✅ Complete rewrite of dev containers user guides (docs/user-guides/devcontainers/)

    • New index.md with accurate prerequisites, features, and getting started guide
    • New customizing-dev-containers.md with comprehensive customization options
    • Updated working-with-dev-containers.md with correct SSH patterns (agent-based, not --container flag)
    • Expanded troubleshooting-dev-containers.md with more diagnostic guidance
  • ✅ Renamed and clarified admin docs (docs/admin/templates/managing-templates/envbuilder/)

    • Folder renamed from devcontainers/ to envbuilder/ to accurately reflect that these docs are for Envbuilder specifically
    • Added notes distinguishing native dev containers (recommended) from Envbuilder (Docker-less alternative)
    • Fixed module registry URLs from dev.registry to registry.coder.com
  • ✅ Updated cross-references throughout the docs to avoid duplication and maintain consistency

  • ✅ Updated docs/manifest.json with new structure

  • ✅ Added redirects in docs/_redirects for moved content

Why no additional changes needed:
This PR is specifically a documentation update for GA readiness. It corrects inaccuracies (deprecated SSH flags, incorrect port forwarding guidance, prerequisite confusion) and adds comprehensive new documentation for customization features. All user-facing changes are properly documented within the PR itself.


This comment was generated by an AI Agent through Coder Tasks

Copy link
Collaborator

@david-fraley david-fraley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we include some callout that modules in our terraform registry are not currently able to be used by the sub agents? I don't want to dig and hint at all of these issues the customer is calling out, but being more clear about not being able to run agent modules would be good imo
https://codercom.slack.com/archives/C06UK9XP3F0/p1763750997864699

Good to go otherwise. I'd be ok with that as a follow up later; I'd rather see the changes get in sooner so

@mafredri mafredri requested a review from david-fraley December 5, 2025 17:35
@mafredri
Copy link
Member Author

mafredri commented Dec 5, 2025

@david-fraley adressed in 4b56993 (#21080)

@mafredri mafredri enabled auto-merge (squash) December 5, 2025 17:41
@mafredri mafredri merged commit 61beb7b into main Dec 5, 2025
30 checks passed
@mafredri mafredri deleted the mafredri/docs-improve-devcontainer-ga-docs branch December 5, 2025 17:42
@github-actions github-actions bot locked and limited conversation to collaborators Dec 5, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

doc-check Assign this label to PRs to check for any doc changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants