From 7c0fac99064423e51340680165840df0833a26e3 Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Fri, 5 Apr 2024 15:30:49 +0200 Subject: [PATCH] docs: describe devcontainers as deployment model (#12877) --- docs/about/architecture.md | 51 +++++++++++++++++++++ docs/images/architecture-devcontainers.png | Bin 0 -> 79416 bytes docs/templates/devcontainers.md | 14 +++--- 3 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 docs/images/architecture-devcontainers.png diff --git a/docs/about/architecture.md b/docs/about/architecture.md index 943071276e..15af701c9a 100644 --- a/docs/about/architecture.md +++ b/docs/about/architecture.md @@ -268,3 +268,54 @@ Coder on Kubernetes. [Microsoft Entra ID Sign-On](https://learn.microsoft.com/en-us/entra/identity/app-proxy/) - For GCP: [Google Cloud Identity Platform](https://cloud.google.com/architecture/identity/single-sign-on) + +### Dev Container + +Note: _Dev containers_ are at early stage and considered experimental at the +moment. + +This architecture enhances a Coder workspace with a +[development container](https://containers.dev/) setup built using the +[envbuilder](https://github.com/coder/envbuilder) project. Workspace users have +the flexibility to extend generic, base developer environments with custom, +project-oriented [features](https://containers.dev/features) without requiring +platform administrators to push altered Docker images. + +Learn more about +[Dev containers support](https://coder.com/docs/v2/latest/templates/devcontainers) +in Coder. + +![Architecture Diagram](../images/architecture-devcontainers.png) + +#### Components + +The deployment model includes: + +- _Workspace_ built using Coder template with _envbuilder_ enabled to set up the + developer environment accordingly to the dev container spec. +- _Container Registry_ for Docker images used by _envbuilder_, maintained by + Coder platform engineers or developer productivity engineers. + +Since this model is strictly focused on workspace nodes, it does not affect the +setup of regional infrastructure. It can be deployed alongside other deployment +models, in multiple regions, or across various cloud platforms. + +##### Workload resources + +**Workspace** + +- Docker and Kubernetes based templates are supported. +- The `docker_container` resource uses `ghcr.io/coder/envbuilder` as the base + image. + +_Envbuilder_ checks out the base Docker image from the container registry and +installs selected features as specified in the `devcontainer.json` on top. +Eventually, it starts the container with the developer environment. + +##### Workload supporting resources + +**Container Registry (optional)** + +- Workspace nodes need access to the Container Registry to check out images. To + shorten the provisioning time, it is recommended to deploy registry mirrors in + the same region as the workspace nodes. diff --git a/docs/images/architecture-devcontainers.png b/docs/images/architecture-devcontainers.png new file mode 100644 index 0000000000000000000000000000000000000000..c61ad77085812bdfbeee54f0c29adedeb5d78acd GIT binary patch literal 79416 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 z