Skip to content

feat(deepspacecartel/kubernetes-devcontainer): Kubernetes workspaces built from a repo's devcontainer.json - #1167

Open
alexanderilyin wants to merge 2 commits into
coder:mainfrom
DeepSpaceCartel:deepspacecartel-kubernetes-devcontainer
Open

alexanderilyin wants to merge 2 commits into
coder:mainfrom
DeepSpaceCartel:deepspacecartel-kubernetes-devcontainer

Conversation

@alexanderilyin

Copy link
Copy Markdown

Description

This adds the deepspacecartel namespace and its first template, Kubernetes (Dev Containers).

Users enter a git repository and a branch. devcontainer-builder builds the image from that repository's own devcontainer.json (base image, Features, Dockerfile) on a BuildKit daemon in the cluster. The workspace then runs it with the configuration's lifecycle commands, environment, mounts, forwarded ports and VS Code extensions/settings. It's GitHub Codespaces' workflow on your own Kubernetes cluster:

  • Repos without a config get a generic image, and a VS Code extension offers to add a configuration.
  • Rebuild prompt: the same extension offers a rebuild when the branch's Dev Container configuration changes.
  • Private repositories work with each user's own linked account (external_auth_id).

The template is adapted from coder/kubernetes. It uses the deepspacecartel/devcontainer-builder Terraform provider and the registry's vscode-web and vscode-desktop modules. It needs devcontainer-builder and BuildKit running in the cluster (one Helm chart), as the README explains.

devcontainer-builder's 1.0 is being prepared. Screenshots will be added to this PR with its docs, and I'm opening it now so review can start early.

Type of Change

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

Template Information

Path: registry/deepspacecartel/templates/kubernetes-devcontainer

Testing & Validation

  • Tests pass (bun test). There are no TypeScript tests for templates.
  • Code formatted: bun x prettier --check and terraform fmt -check are clean.
  • Changes tested locally:
    • terraform validate passes;
    • go run ./cmd/readmevalidation validates the namespace and template READMEs;
    • this main.tf is the template devcontainer-builder ships (templates/coder-kubernetes), pushed with coder templates push and run on a Coder v2.37 deployment, including public and private repositories, rebuilds and repositories without a config.

Related Issues

None

🤖 Generated with Claude Code

…built from a repo's devcontainer.json

New namespace deepspacecartel and its first template: workspaces on
Kubernetes built from a git repository's own devcontainer.json by
devcontainer-builder (base image, Features, Dockerfile), with its
lifecycle commands, environment, mounts, forwarded ports, VS Code
extensions and settings - self-hosted Codespaces.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-builder main, add a screenshot

Template: per-workspace image tags, robust clone and hook scripts,
hostRequirements as minimums, optional GitHub external auth for private
repositories, subdomain_apps for deployments without a wildcard access
URL, ordered parameters. README: a screenshot of the rebuild prompt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant