Skip to content

About

Example Dev Containers for Dev Container Builder

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

devcontainer-builder-examples

Real, working .devcontainer.json examples for devcontainer-builder, and functional-testing fixtures for it — not a Coder Workspace Template (that lives in the main repo's templates/coder-kubernetes/, see its guide).

Examples, one per branch

Branch What it demonstrates
node A plain image-based .devcontainer.json, Node.js, standard location (.devcontainer/devcontainer.json).
python Same shape, Python.
go Same shape, Go.
dockerfile The build.dockerfile form instead of image — a real, custom-built environment.
root-config .devcontainer.json at the repo root, not under .devcontainer/ — a different valid config location entirely.
subfolder-config Negative (a real, documented gap). .devcontainer/<name>/devcontainer.json — a spec-valid location @devcontainers/cli doesn't actually auto-discover; a build against this branch fails every time, regardless of the folder's name.
features-and-settings Dev Container Features, forwardPorts, postCreateCommand, hostRequirements, remoteEnv — a richer, more realistic config than "just an image".
lifecycle-and-extensions A local Feature and devcontainer.json both contribute lifecycle commands (string, array and object forms) and VS Code extensions/settings — what GET /devcontainer merges.
missing-devcontainer-json Negative. No .devcontainer.json anywhere in the repo — what a /build request against it actually returns.
invalid-devcontainer-json Negative. A .devcontainer.json that exists but is malformed — what that actually returns, distinct from the missing-file case.

Each branch is independent (no shared history with main or each other) — that's deliberate: a branch is meant to be pointed at directly (as a repository/branch pair in a /build request, or the Coder Workspace Template's own Branch parameter), not browsed as a merged whole.

Using one

Point devcontainer-builder at this repo and the branch you want. Pushing anywhere real needs credentials for that registry — see each branch's own payload.json and README for a concrete example (Credential handling covers the full resolution order):

{
  "repository": "https://github.com/deepspacecartel/devcontainer-builder-examples.git",
  "branch": "node",
  "image": { "registry": "ghcr.io/deepspacecartel" }
}
curl -s -X POST http://devcontainer-builder.internal:8080/build \
  -H 'Content-Type: application/json' \
  -d @payload.json

Or, from a Coder workspace created off templates/coder-kubernetes, just use this repo's URL as the Git repository parameter and one of the branches above as Branch.

License

MIT (see LICENSE).

About

Example Dev Containers for Dev Container Builder

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors