Skip to content

Commit ac44ad8

Browse files
authored
chore: update Kubernetes resources to v1 API for provider v3 compatibility (#616)
## Description As part of https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/guides/v3-upgrade-guide various resources change from non versioned to versioned. This PR changes the Coder authored templates to versioned resources. - Updated kubernetes_persistent_volume_claim to kubernetes_persistent_volume_claim_v1 - Updated kubernetes_deployment to kubernetes_deployment_v1 - Updated kubernetes_pod to kubernetes_pod_v1 - Updated kubernetes_secret to kubernetes_secret_v1 - Updated all resource references and dependencies I also had to fix up a couple of templates, i.e. remove `agent_name` as it wasn't valid usage, `agent_id` remains. The `source` parameter for jetbrains module in [registry/coder/templates/kubernetes-envbox/main.tf](https://github.com/coder/registry/pull/616/changes#diff-83996ad9def3fae3b69981faee7d682964acc8716a4d04edfd7c4374f0a1d15c) also had to be fixed. ## Type of Change - [ ] New module - [ ] New template - [ ] Bug fix - [x] Feature/enhancement - [ ] Documentation - [ ] Other ## Template Information **Path:** - registry/coder/templates/kubernetes - registry/coder/templates/kubernetes-devcontainer - registry/coder/templates/kubernetes-envbox ## Testing & Validation - [ ] Tests pass (`bun test`) - [ ] Code formatted (`bun fmt`) - [x] Changes tested locally ## Related Issues
1 parent ef5a903 commit ac44ad8

File tree

3 files changed

+20
-22
lines changed

3 files changed

+20
-22
lines changed

registry/coder/templates/kubernetes-devcontainer/main.tf

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ variable "cache_repo_secret_name" {
139139
type = string
140140
}
141141

142-
data "kubernetes_secret" "cache_repo_dockerconfig_secret" {
142+
data "kubernetes_secret_v1" "cache_repo_dockerconfig_secret" {
143143
count = var.cache_repo_secret_name == "" ? 0 : 1
144144
metadata {
145145
name = var.cache_repo_secret_name
@@ -166,7 +166,7 @@ locals {
166166
# Use the docker gateway if the access URL is 127.0.0.1
167167
"ENVBUILDER_INIT_SCRIPT" : replace(coder_agent.main.init_script, "/localhost|127\\.0\\.0\\.1/", "host.docker.internal"),
168168
"ENVBUILDER_FALLBACK_IMAGE" : data.coder_parameter.fallback_image.value,
169-
"ENVBUILDER_DOCKER_CONFIG_BASE64" : base64encode(try(data.kubernetes_secret.cache_repo_dockerconfig_secret[0].data[".dockerconfigjson"], "")),
169+
"ENVBUILDER_DOCKER_CONFIG_BASE64" : base64encode(try(data.kubernetes_secret_v1.cache_repo_dockerconfig_secret[0].data[".dockerconfigjson"], "")),
170170
"ENVBUILDER_PUSH_IMAGE" : var.cache_repo == "" ? "" : "true"
171171
# You may need to adjust this if you get an error regarding deleting files when building the workspace.
172172
# For example, when testing in KinD, it was necessary to set `/product_name` and `/product_uuid` in
@@ -186,7 +186,7 @@ resource "envbuilder_cached_image" "cached" {
186186
insecure = var.insecure_cache_repo
187187
}
188188

189-
resource "kubernetes_persistent_volume_claim" "workspaces" {
189+
resource "kubernetes_persistent_volume_claim_v1" "workspaces" {
190190
metadata {
191191
name = "coder-${lower(data.coder_workspace.me.id)}-workspaces"
192192
namespace = var.namespace
@@ -217,10 +217,10 @@ resource "kubernetes_persistent_volume_claim" "workspaces" {
217217
}
218218
}
219219

220-
resource "kubernetes_deployment" "main" {
220+
resource "kubernetes_deployment_v1" "main" {
221221
count = data.coder_workspace.me.start_count
222222
depends_on = [
223-
kubernetes_persistent_volume_claim.workspaces
223+
kubernetes_persistent_volume_claim_v1.workspaces
224224
]
225225
wait_for_rollout = false
226226
metadata {
@@ -300,7 +300,7 @@ resource "kubernetes_deployment" "main" {
300300
volume {
301301
name = "workspaces"
302302
persistent_volume_claim {
303-
claim_name = kubernetes_persistent_volume_claim.workspaces.metadata.0.name
303+
claim_name = kubernetes_persistent_volume_claim_v1.workspaces.metadata.0.name
304304
read_only = false
305305
}
306306
}

registry/coder/templates/kubernetes-envbox/main.tf

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -106,22 +106,20 @@ module "code-server" {
106106
# This ensures that the latest non-breaking version of the module gets downloaded, you can also pin the module version to prevent breaking changes in production.
107107
version = "~> 1.0"
108108

109-
agent_id = coder_agent.main.id
110-
agent_name = "main"
111-
order = 1
109+
agent_id = coder_agent.main.id
110+
order = 1
112111
}
113112

114113
# See https://registry.coder.com/modules/coder/jetbrains
115114
module "jetbrains" {
116-
count = data.coder_workspace.me.start_count
117-
source = "registry.coder.com/modules/coder/jetbrains/coder"
118-
version = "~> 1.0"
119-
agent_id = coder_agent.main.id
120-
agent_name = "main"
121-
folder = "/home/coder"
115+
count = data.coder_workspace.me.start_count
116+
source = "registry.coder.com/coder/jetbrains/coder"
117+
version = "~> 1.0"
118+
agent_id = coder_agent.main.id
119+
folder = "/home/coder"
122120
}
123121

124-
resource "kubernetes_persistent_volume_claim" "home" {
122+
resource "kubernetes_persistent_volume_claim_v1" "home" {
125123
metadata {
126124
name = "coder-${lower(data.coder_workspace_owner.me.name)}-${lower(data.coder_workspace.me.name)}-home"
127125
namespace = var.namespace
@@ -137,7 +135,7 @@ resource "kubernetes_persistent_volume_claim" "home" {
137135
}
138136
}
139137

140-
resource "kubernetes_pod" "main" {
138+
resource "kubernetes_pod_v1" "main" {
141139
count = data.coder_workspace.me.start_count
142140

143141
metadata {
@@ -284,7 +282,7 @@ resource "kubernetes_pod" "main" {
284282
volume {
285283
name = "home"
286284
persistent_volume_claim {
287-
claim_name = kubernetes_persistent_volume_claim.home.metadata.0.name
285+
claim_name = kubernetes_persistent_volume_claim_v1.home.metadata.0.name
288286
read_only = false
289287
}
290288
}

registry/coder/templates/kubernetes/main.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ resource "coder_app" "code-server" {
192192
}
193193
}
194194

195-
resource "kubernetes_persistent_volume_claim" "home" {
195+
resource "kubernetes_persistent_volume_claim_v1" "home" {
196196
metadata {
197197
name = "coder-${data.coder_workspace.me.id}-home"
198198
namespace = var.namespace
@@ -222,10 +222,10 @@ resource "kubernetes_persistent_volume_claim" "home" {
222222
}
223223
}
224224

225-
resource "kubernetes_deployment" "main" {
225+
resource "kubernetes_deployment_v1" "main" {
226226
count = data.coder_workspace.me.start_count
227227
depends_on = [
228-
kubernetes_persistent_volume_claim.home
228+
kubernetes_persistent_volume_claim_v1.home
229229
]
230230
wait_for_rollout = false
231231
metadata {
@@ -316,7 +316,7 @@ resource "kubernetes_deployment" "main" {
316316
volume {
317317
name = "home"
318318
persistent_volume_claim {
319-
claim_name = kubernetes_persistent_volume_claim.home.metadata.0.name
319+
claim_name = kubernetes_persistent_volume_claim_v1.home.metadata.0.name
320320
read_only = false
321321
}
322322
}

0 commit comments

Comments
 (0)