Skip to content

Commit dedcd19

Browse files
committed
docs: Add comprehensive air-gapped registry modules guide
- Add Coder Registry row to offline deployment comparison table - Add detailed 'Using Registry Modules Offline' section with three deployment options: - Git repository (recommended) - Private Terraform registry - Vendored modules - Include code examples and offline parameter usage - Reference existing modules documentation Addresses customer needs for using registry.coder.com modules in network-restricted environments.
1 parent e67f0f6 commit dedcd19

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

docs/install/offline.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ offline with Kubernetes or Docker.
1010
|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
1111
| Terraform binary | By default, Coder downloads Terraform binary from [releases.hashicorp.com](https://releases.hashicorp.com) | Terraform binary must be included in `PATH` for the VM or container image. [Supported versions](https://github.com/coder/coder/blob/main/provisioner/terraform/install.go#L23-L24) |
1212
| Terraform registry | Coder templates will attempt to download providers from [registry.terraform.io](https://registry.terraform.io) or [custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) specified in each template | [Custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) can be specified in each Coder template, or a custom registry/mirror can be used. More details below |
13+
| Coder Registry | Templates can use modules from [registry.coder.com](https://registry.coder.com) for IDEs, tools, and integrations | Use Git repositories, private registries, or vendored modules. See [Using Registry Modules Offline](#using-registry-modules-offline) below |
1314
| STUN | By default, Coder uses Google's public STUN server for direct workspace connections | STUN can be safely [disabled](../reference/cli/server.md#--derp-server-stun-addresses) users can still connect via [relayed connections](../admin/networking/index.md#-geo-distribution). Alternatively, you can set a [custom DERP server](../reference/cli/server.md#--derp-server-stun-addresses) |
1415
| DERP | By default, Coder's built-in DERP relay can be used, or [Tailscale's public relays](../admin/networking/index.md#relayed-connections). | By default, Coder's built-in DERP relay can be used, or [custom relays](../admin/networking/index.md#custom-relays). |
1516
| PostgreSQL | If no [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) is specified, Coder will download Postgres from [repo1.maven.org](https://repo1.maven.org) | An external database is required, you must specify a [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) |
@@ -234,6 +235,76 @@ server, as demonstrated in the example below:
234235
With these steps, you'll have the Coder documentation hosted on your server and
235236
accessible for your team to use.
236237

238+
## Using Registry Modules Offline
239+
240+
Coder Registry modules from [registry.coder.com](https://registry.coder.com) provide IDEs, tools, and integrations for workspaces. In air-gapped environments, you have several options:
241+
242+
### Option 1: Git Repository (Recommended)
243+
244+
Mirror registry modules in an internal Git repository:
245+
246+
1. **Download modules** from [registry.coder.com](https://registry.coder.com) while connected to the internet
247+
2. **Store modules** in your internal Git repository:
248+
```
249+
internal-registry/
250+
├── modules/
251+
│ ├── code-server/
252+
│ ├── cursor/
253+
│ └── vscode-web/
254+
└── templates/
255+
```
256+
3. **Reference modules** using Git source addresses:
257+
```tf
258+
module "code_server" {
259+
source = "git::https://your-internal-git.com/coder-modules.git//modules/code-server?ref=v1.0.19"
260+
agent_id = coder_agent.example.id
261+
offline = true # Prevent external downloads
262+
}
263+
```
264+
265+
### Option 2: Private Terraform Registry
266+
267+
Set up a private Terraform registry mirror:
268+
269+
1. **Configure a private registry** (such as Terraform Enterprise or Artifactory)
270+
2. **Mirror modules** from the public registry to your private registry
271+
3. **Update templates** to use custom source addresses:
272+
```tf
273+
module "code_server" {
274+
source = "your-registry.com/coder/code-server/coder"
275+
version = "1.0.19"
276+
agent_id = coder_agent.example.id
277+
}
278+
```
279+
280+
### Option 3: Vendored Modules
281+
282+
Include modules directly in your template repositories:
283+
284+
1. **Download modules** and include them in your template repository
285+
2. **Reference with relative paths**:
286+
```tf
287+
module "code_server" {
288+
source = "./modules/code-server" # Relative path to vendored module
289+
agent_id = coder_agent.example.id
290+
}
291+
```
292+
293+
### Module Offline Support
294+
295+
Many registry modules support offline operation with the `offline` parameter:
296+
297+
```tf
298+
module "code_server" {
299+
source = "registry.coder.com/coder/code-server/coder"
300+
version = "1.0.19"
301+
agent_id = coder_agent.example.id
302+
offline = true # Prevents downloading from external sources
303+
}
304+
```
305+
306+
For more information, see the [Terraform Modules documentation](../admin/templates/extending-templates/modules.md).
307+
237308
## Coder Modules
238309

239310
To use Coder modules in offline installations please follow the instructions

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy