@@ -2,17 +2,21 @@ terraform {
2
2
required_providers {
3
3
coder = {
4
4
source = " coder/coder"
5
- version = " ~> 0.6.14 "
5
+ version = " ~> 0.6.17 "
6
6
}
7
7
kubernetes = {
8
8
source = " hashicorp/kubernetes"
9
- version = " ~> 2.12 "
9
+ version = " ~> 2.18 "
10
10
}
11
11
}
12
12
}
13
13
14
- data "coder_parameter" "use_kubeconfig" {
15
- name = " Use host kubeconfig? (true/false)"
14
+ provider "coder" {
15
+ feature_use_managed_variables = true
16
+ }
17
+
18
+ variable "use_kubeconfig" {
19
+ type = bool
16
20
description = <<- EOF
17
21
Use host kubeconfig? (true/false)
18
22
@@ -22,14 +26,12 @@ data "coder_parameter" "use_kubeconfig" {
22
26
Set this to true if the Coder host is running outside the Kubernetes cluster
23
27
for workspaces. A valid "~/.kube/config" must be present on the Coder host.
24
28
EOF
25
- type = " bool"
26
- default = " false"
27
- mutable = false
29
+ default = false
28
30
}
29
31
30
- data "coder_parameter" "namespace" {
31
- name = " The Kubernetes namespace to create workspaces in (must exist prior to creating workspaces) "
32
- mutable = false
32
+ variable "namespace" {
33
+ type = string
34
+ description = " The Kubernetes namespace to create workspaces in (must exist prior to creating workspaces) "
33
35
}
34
36
35
37
data "coder_parameter" "cpu" {
@@ -91,15 +93,14 @@ data "coder_parameter" "home_disk_size" {
91
93
92
94
provider "kubernetes" {
93
95
# Authenticate via ~/.kube/config or a Coder-specific ServiceAccount, depending on admin preferences
94
- config_path = " data.coder_parameter.use_kubeconfig.value " == " true" ? " ~/.kube/config" : null
96
+ config_path = var . namespace == true ? " ~/.kube/config" : null
95
97
}
96
98
97
99
data "coder_workspace" "me" {}
98
100
99
101
resource "coder_agent" "main" {
100
- os = " linux"
101
- arch = " amd64"
102
-
102
+ os = " linux"
103
+ arch = " amd64"
103
104
login_before_ready = false
104
105
startup_script_timeout = 180
105
106
startup_script = <<- EOT
@@ -131,7 +132,7 @@ resource "coder_app" "code-server" {
131
132
resource "kubernetes_persistent_volume_claim" "home" {
132
133
metadata {
133
134
name = " coder-${ lower (data. coder_workspace . me . owner )} -${ lower (data. coder_workspace . me . name )} -home"
134
- namespace = data . coder_parameter . namespace . value
135
+ namespace = var . namespace
135
136
labels = {
136
137
" app.kubernetes.io/name" = " coder-pvc"
137
138
" app.kubernetes.io/instance" = " coder-pvc-${ lower (data. coder_workspace . me . owner )} -${ lower (data. coder_workspace . me . name )} "
@@ -162,7 +163,7 @@ resource "kubernetes_pod" "main" {
162
163
count = data. coder_workspace . me . start_count
163
164
metadata {
164
165
name = " coder-${ lower (data. coder_workspace . me . owner )} -${ lower (data. coder_workspace . me . name )} "
165
- namespace = data . coder_parameter . namespace . value
166
+ namespace = var . namespace
166
167
labels = {
167
168
" app.kubernetes.io/name" = " coder-workspace"
168
169
" app.kubernetes.io/instance" = " coder-workspace-${ lower (data. coder_workspace . me . owner )} -${ lower (data. coder_workspace . me . name )} "
0 commit comments