Skip to content

docs(devcontainers): document Envbuilder lifecycle limitations and workarounds#26079

Draft
david-fraley wants to merge 1 commit into
mainfrom
dfraley/fix-devcontainer-envbuilder-docs-26071
Draft

docs(devcontainers): document Envbuilder lifecycle limitations and workarounds#26079
david-fraley wants to merge 1 commit into
mainfrom
dfraley/fix-devcontainer-envbuilder-docs-26071

Conversation

@david-fraley
Copy link
Copy Markdown
Collaborator

Fixes #26071

Documents known Envbuilder limitations that cause confusion when users try to automate setup tasks in dev container lifecycle scripts:

  • Custom Dockerfile ENTRYPOINT: Envbuilder replaces the image entrypoint with its own binary, so custom ENTRYPOINT instructions do not execute.
  • Unsupported lifecycle commands: postAttachCommand, initializeCommand, and waitFor are not supported by Envbuilder.
  • SSH/Git credentials unavailable during lifecycle scripts: Lifecycle scripts run before the Coder agent starts, so Coder-managed SSH keys and Git credentials are not yet available. This causes operations like git submodule update --init --recursive to fail.

Adds the recommended workaround: use the coder_agent startup script for operations that require Coder-managed credentials, with a Terraform example.

Changes

  • docs/admin/integrations/devcontainers/envbuilder/add-envbuilder.md: Expanded the lifecycle scripts section with supported/unsupported commands, ENTRYPOINT behavior, and SSH credentials guidance with a template code example.
  • docs/admin/integrations/devcontainers/envbuilder/envbuilder-releases-known-issues.md: Added key limitations summary before the link to the full Envbuilder spec support matrix.
  • docs/user-guides/devcontainers/troubleshooting-dev-containers.md: Added troubleshooting entries for git submodule/SSH failures in lifecycle scripts and custom ENTRYPOINT not executing.

Generated by Coder Agents on behalf of @david-fraley

…rkarounds

Document known Envbuilder limitations that cause confusion for users:
- Custom Dockerfile ENTRYPOINT is replaced by Envbuilder
- postAttachCommand and initializeCommand are not supported
- SSH keys and Git credentials are unavailable during lifecycle scripts

Add recommended workaround using coder_agent startup_script for
operations that require Coder-managed credentials (e.g., git submodule
initialization with SSH).

Fixes #26071
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 4, 2026

Docs preview

📖 View docs preview for docs/admin/integrations/devcontainers/envbuilder/add-envbuilder.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Custom ENTRYPOINT and devcontainer lifecycle commands don't execute in "Bring Your Own DevContainer" template

1 participant