terraform { required_providers { coder = { source = "coder/coder" version = "0.4.3" } docker = { source = "kreuzwerker/docker" version = "~> 2.16.0" } } } # Admin parameters # Comment this out if you are specifying a different docker # host on the "docker" provider below. variable "step1_docker_host_warning" { description = <<-EOF This template will use the Docker socket present on the Coder host, which is not necessarily your local machine. You can specify a different host in the template file and surpress this warning. EOF validation { condition = contains(["Continue using /var/run/docker.sock on the Coder host"], var.step1_docker_host_warning) error_message = "Cancelling template create." } sensitive = true } variable "step2_arch" { description = <<-EOF arch: What architecture is your Docker host on? note: codercom/enterprise-* images are only built for amd64 EOF validation { condition = contains(["amd64", "arm64", "armv7"], var.step2_arch) error_message = "Value must be amd64, arm64, or armv7." } sensitive = true } variable "step3_OS" { description = <<-EOF What operating system is your Coder host on? EOF validation { condition = contains(["MacOS", "Windows", "Linux"], var.step3_OS) error_message = "Value must be MacOS, Windows, or Linux." } sensitive = true } provider "docker" { host = var.step3_OS == "Windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" } provider "coder" { } data "coder_workspace" "me" { } resource "coder_agent" "dev" { arch = var.step2_arch os = "linux" startup_script = <