Skip to content

DAP cutover (M5): replace @devcontainers/cli shell-out in apps/runtime #1

@bilby91

Description

@bilby91

The original mandate. Wire `devcontainer-go` into DAP's `apps/runtime/internal/devcontainer/` behind a feature flag, replace the six CLI call sites, then delete the Node + `@devcontainers/cli` runtime dependency.

Phases

  • Phase 0: vendor `devcontainer-go` v0.x in DAP's `go.mod`
  • Phase 1: swap `internal/devcontainer/lifecycle.go` (`Start` + `WaitForReady`) behind a flag
  • Phase 2: swap `exec.go` (`ExecWorkd`) and the readiness probe
  • Phase 3: swap `postcachebuild.go` (`read-configuration` → `engine.Resolve`, `exec` → `engine.Exec`)
  • Phase 4: flip default to `go`, run a release cycle, delete the CLI path

Acceptance

  • DAP runs against the Go engine in a release cycle without regressions
  • Node + `@devcontainers/cli` removed from the runtime image

Related

  • Driving spec: `design/status.md` and PRD §10 (internal docs)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions