Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 28754a7

Browse files
authored
docs: describe air-gapped architecture (coder#12897)
1 parent d82f2fd commit 28754a7

File tree

4 files changed

+83
-5
lines changed

4 files changed

+83
-5
lines changed

docs/about/architecture.md

+80-2
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,85 @@ Coder on Kubernetes.
269269
- For GCP:
270270
[Google Cloud Identity Platform](https://cloud.google.com/architecture/identity/single-sign-on)
271271

272-
### Dev Container
272+
### Air-gapped architecture
273+
274+
The air-gapped deployment model refers to the setup of Coder's development
275+
environment within a restricted network environment that lacks internet
276+
connectivity. This deployment model is often required for organizations with
277+
strict security policies or those operating in isolated environments, such as
278+
government agencies or certain enterprise setups.
279+
280+
The key features of the air-gapped architecture include:
281+
282+
- _Offline installation_: Deploy workspaces without relying on an external
283+
internet connection.
284+
- _Isolated package/plugin repositories_: Depend on local repositories for
285+
software installation, updates, and security patches.
286+
- _Secure data transfer_: Enable encrypted communication channels and robust
287+
access controls to safeguard sensitive information.
288+
289+
Learn more about [offline deployments](../install/offline.md) of Coder.
290+
291+
![Architecture Diagram](../images/architecture-air-gapped.png)
292+
293+
#### Components
294+
295+
The deployment model includes:
296+
297+
- _Workspace provisioners_ with direct access to self-hosted package and plugin
298+
repositories and restricted internet access.
299+
- _Mirror of Terraform Registry_ with multiple versions of Terraform plugins.
300+
- _Certificate Authority_ with all TLS certificates to build secure
301+
communication channels.
302+
303+
The model is compatible with various infrastructure models, enabling deployment
304+
across multiple regions and diverse cloud platforms.
305+
306+
##### Workload resources
307+
308+
**Workspace provisioner**
309+
310+
- Includes Terraform binary in the container or system image.
311+
- Checks out Terraform plugins from self-hosted _Registry_ mirror.
312+
- Deploys workspace images stored in the self-hosted _Container Registry_.
313+
314+
**Coder server**
315+
316+
- Update checks are disabled (`CODER_UPDATE_CHECK=false`).
317+
- Telemetry data is not collected (`CODER_TELEMETRY_ENABLE=false`).
318+
- Direct connections are not possible, workspace traffic is relayed through
319+
control plane's DERP proxy.
320+
321+
##### Workload supporting resources
322+
323+
**Self-hosted Database**
324+
325+
- In the air-gapped deployment model, _Coderd_ instance is unable to download
326+
Postgres binaries from the internet, so external database must be provided.
327+
328+
**Container Registry**
329+
330+
- Since the _Registry_ is isolated from the internet, platform engineers are
331+
responsible for maintaining Workspace container images and conducting periodic
332+
updates of base Docker images.
333+
- It is recommended to keep [Dev Containers](../templates/devcontainers.md) up
334+
to date with the latest released
335+
[Envbuilder](https://github.com/coder/envbuilder) runtime.
336+
337+
**Mirror of Terraform Registry**
338+
339+
- Stores all necessary Terraform plugin dependencies, ensuring successful
340+
workspace provisioning and maintenance without internet access.
341+
- Platform engineers are responsible for periodically updating the mirrored
342+
Terraform plugins, including
343+
[terraform-provider-coder](https://github.com/coder/terraform-provider-coder).
344+
345+
**Certificate Authority**
346+
347+
- Manages and issues TLS certificates to facilitate secure communication
348+
channels within the infrastructure.
349+
350+
### Dev Containers
273351

274352
Note: _Dev containers_ are at early stage and considered experimental at the
275353
moment.
@@ -302,7 +380,7 @@ models, in multiple regions, or across various cloud platforms.
302380

303381
##### Workload resources
304382

305-
**Workspace**
383+
**Coder workspace**
306384

307385
- Docker and Kubernetes based templates are supported.
308386
- The `docker_container` resource uses `ghcr.io/coder/envbuilder` as the base
91.9 KB
Loading

docs/manifest.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -230,9 +230,9 @@
230230
"icon_path": "./images/icons/docker.svg"
231231
},
232232
{
233-
"title": "Devcontainers",
234-
"description": "Use devcontainers in workspaces",
235-
"path": "./templates/devcontainers.md",
233+
"title": "Dev Containers",
234+
"description": "Use Dev Containers in workspaces",
235+
"path": "./templates/dev-containers.md",
236236
"state": "alpha"
237237
},
238238
{
File renamed without changes.

0 commit comments

Comments
 (0)