blink-so[bot] 48816b8776 docs: Add comprehensive air-gapped deployment guide
- Add detailed air-gapped deployment section to CONTRIBUTING.md
- Include three deployment options: Git repos, private registries, vendored modules
- Add air-gapped deployment note to README.md
- Expand examples with air-gapped usage patterns
- Document offline module support and requirements

Fixes air-gapped deployment documentation gaps for registry.coder.com
2025-08-19 05:42:34 +00:00

2.4 KiB

display_name description icon verified tags
MODULE_NAME Describe what this module does ../../../../.icons/<A_RELEVANT_ICON>.svg false
helper

MODULE_NAME

module "MODULE_NAME" {
  count   = data.coder_workspace.me.start_count
  source  = "registry.coder.com/NAMESPACE/MODULE_NAME/coder"
  version = "1.0.0"
}

Examples

Example 1

Install the Dracula theme from OpenVSX:

module "MODULE_NAME" {
  count    = data.coder_workspace.me.start_count
  source   = "registry.coder.com/NAMESPACE/MODULE_NAME/coder"
  version  = "1.0.0"
  agent_id = coder_agent.example.id
  extensions = [
    "dracula-theme.theme-dracula"
  ]
}

Enter the <author>.<name> into the extensions array and code-server will automatically install on start.

Example 2

Configure VS Code's settings.json file:

module "MODULE_NAME" {
  count      = data.coder_workspace.me.start_count
  source     = "registry.coder.com/NAMESPACE/MODULE_NAME/coder"
  version    = "1.0.0"
  agent_id   = coder_agent.example.id
  extensions = ["dracula-theme.theme-dracula"]
  settings = {
    "workbench.colorTheme" = "Dracula"
  }
}

Example 3

Run code-server in the background, don't fetch it from GitHub:

module "MODULE_NAME" {
  source   = "registry.coder.com/NAMESPACE/MODULE_NAME/coder"
  version  = "1.0.0"
  agent_id = coder_agent.example.id
  offline  = true
}

Example 4: Air-Gapped Deployment with Git Source

For air-gapped environments, reference modules from internal Git repositories:

module "code_server" {
  source   = "git::https://internal-git.company.com/coder-modules.git//modules/code-server?ref=v1.0.19"
  agent_id = coder_agent.example.id
  offline  = true  # Prevent external downloads
}

Example 5: Air-Gapped Deployment with Local Path

Vendor modules directly in your template repository:

module "code_server" {
  source   = "./modules/code-server"  # Relative path to vendored module
  agent_id = coder_agent.example.id
}

Example 6: Private Registry

Use a private Terraform registry for air-gapped deployments:

module "code_server" {
  source   = "private-registry.company.com/coder/code-server/coder"
  version  = "1.0.19"
  agent_id = coder_agent.example.id
}