-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
Version: v0.18.1+e3a4861
We see struggle with prospects wanting to install the Coder control plane in an air-gapped fashion, because of the manual steps required to create a custom Coder image.
As an aside, Coder v2 installs the Terraform binary as our workspace provisioner. Running air-gapped (aka no Internet), we cannot contact the terraform.io website to download Terraform and the providers to interact with infrastructure resources.
Therefore, we require Terraform and the providers get bundled into the Coder control plane image before installation.
While specific Terraform providers may vary, we should create an image we maintain on DockerHub like our workspace images that includes:
- Terraform binary
- Coder Terraform provider
- Kubernetes Terraform provider
- kreuzwerker Docker Terraform provider
- filesystem-mirror-example.tfrc
See attached Dockerfile with the most recent providers and Terraform 1.3.4
(maximum release that Coder supports)
Dockerfile.txt
The goal is to reduce friction of prospects evaluating Coder to make a purchase decision.
Coder will generate this air-gapped image as part of its release CI, so people get the latest. It will pull the latest providers as well but honor the Terraform binary release restrictions.
In its existing form, we document the manual custom image build steps, but the majority of evaluators may not have:
- Access to container infrastructure to do a Docker image build
- Technical skills to figure out this custom image build step