Skip to content

feat(devcontainers-cli): support pinned and mirrored installs - #1047

Open
Edd88-pixel wants to merge 8 commits into
coder:mainfrom
Edd88-pixel:feat/devcontainers-cli-pinned-mirrored-installs
Open

Edd88-pixel wants to merge 8 commits into
coder:mainfrom
Edd88-pixel:feat/devcontainers-cli-pinned-mirrored-installs

Conversation

@Edd88-pixel

@Edd88-pixel Edd88-pixel commented Aug 11, 2026 •

Copy link
Copy Markdown
Collaborator

Why

The module always installed the latest @devcontainers/cli release, making reproducible installs difficult, while global installs could depend on elevated permissions.

Changes

  • accept latest, X.Y.Z, and vX.Y.Z, normalizing the optional v prefix
  • use the selected package manager's existing registry and authentication configuration
  • install into Coder's agent-managed binary directory without sudo
  • orchestrate installation through coder-utils and preserve optional login blocking with a sync waiter
  • preserve package-manager detection and skip installation when devcontainer is already available
  • propagate package-manager failures and verify the installed command is on PATH
  • document private registry preconfiguration, JFrog, air-gapped usage, and a coder_script_order example
  • document the Bash, provider, and Coder compatibility requirements

Type of Change

  • New module
  • New template
  • Bug fix
  • Feature/enhancement
  • Documentation
  • Other

Module Information

Path: registry/coder/modules/devcontainers-cli
New version: v2.0.0
Breaking change: [x] Yes [ ] No

The migration requires Bash, Coder Terraform provider >= 2.13, and workspace support for coder exp sync. The optional ordering example requires provider >= 2.20.0 and Coder control plane, provisioners, and agents >= 2.39.0.

Validation

  • bun test registry/coder/modules/devcontainers-cli/main.test.ts — 11 passed with Docker, including a real npm installation of @devcontainers/cli@0.80.0 and devcontainer --version
  • terraform test — 12 passed

Related Issues

Related to #427 and #308.

@Edd88-pixel
Edd88-pixel marked this pull request as ready for review August 12, 2026 10:30
@Edd88-pixel

Copy link
Copy Markdown
Collaborator Author

@matifali could you review this please ?

@Edd88-pixel

Copy link
Copy Markdown
Collaborator Author

@DevelopmentCats Can you retry ?

@Edd88-pixel
Edd88-pixel requested a review from matifali August 22, 2026 17:13
@DevelopmentCats

Copy link
Copy Markdown
Collaborator

Reviewing now

source = "registry.coder.com/coder/devcontainers-cli/coder"
version = "1.2.0"
agent_id = coder_agent.example.id
registry_url = "https://registry.example.com/npm"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Instead of providing an explicit input for registry_url I would suggest adding a section to use JFrog or other tools to preconfigure the environments with private registries can be used without any special handling in this module.

See: https://registry.coder.com/modules/coder/jfrog-oauth

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Makes sense, will do.

Macbook added 2 commits November 9, 2026 15:14
Preserve optional login blocking and document registry setup ordering.

BREAKING CHANGE: require Bash, Coder provider >= 2.13, and workspace support for coder exp sync.
@Edd88-pixel
Edd88-pixel requested a review from matifali November 9, 2026 14:38
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.

3 participants