From 6aa6928c43be1109794a176e89bd1095b2337448 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Tue, 9 Aug 2022 23:25:48 +0000 Subject: [PATCH 1/5] fix: Reduce variables needed for Docker template This should make initial setup a bit simpler! --- examples/templates/docker-code-server/main.tf | 22 ++----- .../templates/docker-image-builds/main.tf | 48 ++------------ .../templates/docker-with-dotfiles/main.tf | 12 ++-- examples/templates/docker/main.tf | 62 ++----------------- 4 files changed, 21 insertions(+), 123 deletions(-) diff --git a/examples/templates/docker-code-server/main.tf b/examples/templates/docker-code-server/main.tf index 29be1ff990219..05ae7e6ea4017 100644 --- a/examples/templates/docker-code-server/main.tf +++ b/examples/templates/docker-code-server/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } docker = { source = "kreuzwerker/docker" @@ -11,32 +11,18 @@ terraform { } } -variable "docker_host" { - description = "Specify location of Docker socket (check `docker context ls` if you're not sure)" - sensitive = true -} - -variable "docker_arch" { - description = "Specify architecture of docker host (amd64, arm64, or armv7)" - validation { - condition = contains(["amd64", "arm64", "armv7"], var.docker_arch) - error_message = "Value must be amd64, arm64, or armv7." - } - sensitive = true -} - -provider "coder" { +data "coder_provisioner" "me" { } provider "docker" { - host = var.docker_host + host = data.coder_provisioner.me.os == "windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" } data "coder_workspace" "me" { } resource "coder_agent" "main" { - arch = var.docker_arch + arch = data.coder_provisioner.me.arch os = "linux" startup_script = "code-server --auth none" diff --git a/examples/templates/docker-image-builds/main.tf b/examples/templates/docker-image-builds/main.tf index c135a09c2112e..1057bb2e2a317 100644 --- a/examples/templates/docker-image-builds/main.tf +++ b/examples/templates/docker-image-builds/main.tf @@ -3,7 +3,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } docker = { source = "kreuzwerker/docker" @@ -12,56 +12,18 @@ terraform { } } -# Admin parameters -variable "step1_docker_host_warning" { - description = <<-EOF - Is Docker running on the Coder host? - - 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 - suppress 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 = "arch: What architecture is your Docker host on?" - 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 +data "coder_provisioner" "me" { } provider "docker" { - host = var.step3_OS == "Windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" -} - -provider "coder" { + host = data.coder_provisioner.me.os == "windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" } data "coder_workspace" "me" { } resource "coder_agent" "main" { - arch = var.step2_arch + arch = data.coder_provisioner.me.arch os = "linux" } @@ -84,7 +46,7 @@ variable "docker_image" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}-root" + name = "coder-${data.coder_workspace.me.owner_id}-${lower(data.coder_workspace.me.id)}-root" } resource "docker_image" "coder_image" { diff --git a/examples/templates/docker-with-dotfiles/main.tf b/examples/templates/docker-with-dotfiles/main.tf index afc91c34e326b..4b2e938e31425 100644 --- a/examples/templates/docker-with-dotfiles/main.tf +++ b/examples/templates/docker-with-dotfiles/main.tf @@ -9,7 +9,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } docker = { source = "kreuzwerker/docker" @@ -18,11 +18,11 @@ terraform { } } -provider "docker" { - host = "unix:///var/run/docker.sock" +data "coder_provisioner" "me" { } -provider "coder" { +provider "docker" { + host = data.coder_provisioner.me.os == "windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" } data "coder_workspace" "me" { @@ -38,13 +38,13 @@ variable "dotfiles_uri" { } resource "coder_agent" "main" { - arch = "amd64" + arch = data.coder_provisioner.me.arch os = "linux" startup_script = var.dotfiles_uri != "" ? "coder dotfiles -y ${var.dotfiles_uri}" : null } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner}-${data.coder_workspace.me.name}-root" + name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-root" } resource "docker_container" "workspace" { diff --git a/examples/templates/docker/main.tf b/examples/templates/docker/main.tf index 1aad84d324f76..287431bbcec60 100644 --- a/examples/templates/docker/main.tf +++ b/examples/templates/docker/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { coder = { source = "coder/coder" - version = "0.4.3" + version = "0.4.5" } docker = { source = "kreuzwerker/docker" @@ -11,62 +11,18 @@ terraform { } } -# 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 - suppress 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 +data "coder_provisioner" "me" { } provider "docker" { - host = var.step3_OS == "Windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" -} - -provider "coder" { + host = data.coder_provisioner.me.os == "windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" } data "coder_workspace" "me" { } resource "coder_agent" "main" { - arch = var.step2_arch + arch = data.coder_provisioner.me.arch os = "linux" startup_script = < Date: Wed, 10 Aug 2022 09:01:42 -0500 Subject: [PATCH 2/5] Fix for M2 Macbooks PostgreSQL 13 doesn't support the M series architecture. --- cli/server.go | 2 +- flake.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/server.go b/cli/server.go index 86016d9c9bd7a..fd8e41d2ebb37 100644 --- a/cli/server.go +++ b/cli/server.go @@ -1153,7 +1153,7 @@ func startBuiltinPostgres(ctx context.Context, cfg config.Root, logger slog.Logg stdlibLogger := slog.Stdlib(ctx, logger.Named("postgres"), slog.LevelDebug) ep := embeddedpostgres.NewDatabase( embeddedpostgres.DefaultConfig(). - Version(embeddedpostgres.V13). + Version(embeddedpostgres.V14). BinariesPath(filepath.Join(cfg.PostgresPath(), "bin")). DataPath(filepath.Join(cfg.PostgresPath(), "data")). RuntimePath(filepath.Join(cfg.PostgresPath(), "runtime")). diff --git a/flake.nix b/flake.nix index d3ce80f9562f8..a5e4816b19e63 100644 --- a/flake.nix +++ b/flake.nix @@ -19,13 +19,13 @@ bat drpc.defaultPackage.${system} exa + getopt git go-migrate go_1_19 golangci-lint gopls gotestsum - helm jq nfpm nodePackages.typescript From 7ba73f02ea62a670f8fbd75a619e00863791d833 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Wed, 10 Aug 2022 09:15:13 -0500 Subject: [PATCH 3/5] Fix name <-> id swap --- examples/templates/docker-image-builds/main.tf | 2 +- examples/templates/docker/main.tf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/templates/docker-image-builds/main.tf b/examples/templates/docker-image-builds/main.tf index 1057bb2e2a317..47cb5ea7106cf 100644 --- a/examples/templates/docker-image-builds/main.tf +++ b/examples/templates/docker-image-builds/main.tf @@ -46,7 +46,7 @@ variable "docker_image" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner_id}-${lower(data.coder_workspace.me.id)}-root" + name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}-root" } resource "docker_image" "coder_image" { diff --git a/examples/templates/docker/main.tf b/examples/templates/docker/main.tf index 287431bbcec60..11df56d6ee010 100644 --- a/examples/templates/docker/main.tf +++ b/examples/templates/docker/main.tf @@ -63,7 +63,7 @@ variable "docker_image" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-home" + name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}-home" } resource "docker_container" "workspace" { From 915372c22983f6419026889e082de810038b80c5 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Wed, 10 Aug 2022 09:26:40 -0500 Subject: [PATCH 4/5] Update Docker provider to remove host requirement --- examples/templates/docker-code-server/main.tf | 3 +-- examples/templates/docker-image-builds/main.tf | 3 +-- examples/templates/docker-with-dotfiles/main.tf | 3 +-- examples/templates/docker/main.tf | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/examples/templates/docker-code-server/main.tf b/examples/templates/docker-code-server/main.tf index 05ae7e6ea4017..33f6ee0485665 100644 --- a/examples/templates/docker-code-server/main.tf +++ b/examples/templates/docker-code-server/main.tf @@ -6,7 +6,7 @@ terraform { } docker = { source = "kreuzwerker/docker" - version = "~> 2.16.0" + version = "~> 2.20.2" } } } @@ -15,7 +15,6 @@ data "coder_provisioner" "me" { } provider "docker" { - host = data.coder_provisioner.me.os == "windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" } data "coder_workspace" "me" { diff --git a/examples/templates/docker-image-builds/main.tf b/examples/templates/docker-image-builds/main.tf index 47cb5ea7106cf..bdb8da5559d0b 100644 --- a/examples/templates/docker-image-builds/main.tf +++ b/examples/templates/docker-image-builds/main.tf @@ -7,7 +7,7 @@ terraform { } docker = { source = "kreuzwerker/docker" - version = "~> 2.16.0" + version = "~> 2.20.2" } } } @@ -16,7 +16,6 @@ data "coder_provisioner" "me" { } provider "docker" { - host = data.coder_provisioner.me.os == "windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" } data "coder_workspace" "me" { diff --git a/examples/templates/docker-with-dotfiles/main.tf b/examples/templates/docker-with-dotfiles/main.tf index 4b2e938e31425..3ccfb3bf0eacf 100644 --- a/examples/templates/docker-with-dotfiles/main.tf +++ b/examples/templates/docker-with-dotfiles/main.tf @@ -13,7 +13,7 @@ terraform { } docker = { source = "kreuzwerker/docker" - version = "~> 2.16.0" + version = "~> 2.20.2" } } } @@ -22,7 +22,6 @@ data "coder_provisioner" "me" { } provider "docker" { - host = data.coder_provisioner.me.os == "windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" } data "coder_workspace" "me" { diff --git a/examples/templates/docker/main.tf b/examples/templates/docker/main.tf index 11df56d6ee010..904e2f5907fb5 100644 --- a/examples/templates/docker/main.tf +++ b/examples/templates/docker/main.tf @@ -6,7 +6,7 @@ terraform { } docker = { source = "kreuzwerker/docker" - version = "~> 2.16.0" + version = "~> 2.20.2" } } } @@ -15,7 +15,6 @@ data "coder_provisioner" "me" { } provider "docker" { - host = data.coder_provisioner.me.os == "windows" ? "npipe:////.//pipe//docker_engine" : "unix:///var/run/docker.sock" } data "coder_workspace" "me" { From b9e315a64a4e7bf2f69fe91036b79b9d79775aa2 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Wed, 10 Aug 2022 09:34:21 -0500 Subject: [PATCH 5/5] Update examples/templates/docker-with-dotfiles/main.tf Co-authored-by: Mathias Fredriksson --- examples/templates/docker-with-dotfiles/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/templates/docker-with-dotfiles/main.tf b/examples/templates/docker-with-dotfiles/main.tf index 3ccfb3bf0eacf..9bee0ddf2142f 100644 --- a/examples/templates/docker-with-dotfiles/main.tf +++ b/examples/templates/docker-with-dotfiles/main.tf @@ -43,7 +43,7 @@ resource "coder_agent" "main" { } resource "docker_volume" "home_volume" { - name = "coder-${data.coder_workspace.me.owner_id}-${data.coder_workspace.me.id}-root" + name = "coder-${data.coder_workspace.me.owner}-${lower(data.coder_workspace.me.name)}-root" } resource "docker_container" "workspace" { 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