Skip to content

Commit 0578151

Browse files
authored
Merge pull request #458 from sap-contributions/helm-kubernetes-version-normalization
Align helm & kubernetes provider usage with resolved schema
2 parents 69d9c0a + 484ac59 commit 0578151

File tree

2 files changed

+64
-66
lines changed

2 files changed

+64
-66
lines changed

terraform-modules/concourse/app/concourse.tf

Lines changed: 50 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -3,74 +3,62 @@ data "helm_template" "concourse" {
33
repository = "https://concourse-charts.storage.googleapis.com/"
44
chart = "concourse"
55
version = var.concourse_helm_version
6-
values = ["${file("files/${var.gke_workers_pool_machine_type}.yml")}"]
7-
8-
set {
9-
name = "concourse.web.externalUrl"
10-
value = "https://${var.load_balancer_dns}"
11-
}
12-
13-
set {
14-
name = "web.service.api.loadBalancerIP"
15-
value = var.load_balancer_ip
16-
}
17-
18-
set {
19-
name = "concourse.web.auth.mainTeam.github.team"
20-
value = var.concourse_github_mainTeam
21-
}
22-
23-
set {
24-
name = "concourse.web.auth.mainTeam.github.user"
25-
value = var.concourse_github_mainTeamUser
26-
}
27-
28-
set {
29-
# For security reasons, remove any local users
30-
name = "concourse.web.auth.mainTeam.localUser"
31-
value = ""
32-
}
33-
34-
set {
35-
name = "concourse.web.containerPlacementStrategy"
36-
value = var.concourse_container_placement_strategy
37-
}
38-
39-
set {
40-
name = "worker.replicas"
41-
value = var.gke_workers_pool_node_count
42-
}
43-
44-
set {
45-
name = "worker.resources.requests.memory"
46-
value = var.gke_workers_min_memory
47-
}
48-
49-
set {
50-
name = "web.replicas"
51-
value = var.gke_default_pool_node_count
52-
}
53-
54-
set {
55-
name = "concourse.worker.runtime"
56-
value = "containerd"
57-
}
58-
59-
dynamic "set" {
60-
for_each = var.concourse_max_days_to_retain_build_logs != null ? [1] : []
61-
content {
6+
values = [file("files/${var.gke_workers_pool_machine_type}.yml")]
7+
8+
# Provider version selected expects 'set' as an argument list of maps
9+
set = concat([
10+
{
11+
name = "concourse.web.externalUrl"
12+
value = "https://${var.load_balancer_dns}"
13+
},
14+
{
15+
name = "web.service.api.loadBalancerIP"
16+
value = var.load_balancer_ip
17+
},
18+
{
19+
name = "concourse.web.auth.mainTeam.github.team"
20+
value = var.concourse_github_mainTeam
21+
},
22+
{
23+
name = "concourse.web.auth.mainTeam.github.user"
24+
value = var.concourse_github_mainTeamUser
25+
},
26+
{
27+
# For security reasons, remove any local users
28+
name = "concourse.web.auth.mainTeam.localUser"
29+
value = ""
30+
},
31+
{
32+
name = "concourse.web.containerPlacementStrategy"
33+
value = var.concourse_container_placement_strategy
34+
},
35+
{
36+
name = "worker.replicas"
37+
value = var.gke_workers_pool_node_count
38+
},
39+
{
40+
name = "worker.resources.requests.memory"
41+
value = var.gke_workers_min_memory
42+
},
43+
{
44+
name = "web.replicas"
45+
value = var.gke_default_pool_node_count
46+
},
47+
{
48+
name = "concourse.worker.runtime"
49+
value = "containerd"
50+
}
51+
], var.concourse_max_days_to_retain_build_logs != null ? [
52+
{
6253
name = "concourse.web.maxDaysToRetainBuildLogs"
6354
value = var.concourse_max_days_to_retain_build_logs
6455
}
65-
}
66-
67-
dynamic "set" {
68-
for_each = var.concourse_max_build_logs_to_retain != null ? [1] : []
69-
content {
56+
] : [], var.concourse_max_build_logs_to_retain != null ? [
57+
{
7058
name = "concourse.web.maxBuildLogsToRetain"
7159
value = var.concourse_max_build_logs_to_retain
7260
}
73-
}
61+
] : [])
7462
}
7563

7664
data "carvel_ytt" "concourse_app" {

terraform-modules/concourse/app/providers.tf

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,15 @@ terraform {
44
source = "hashicorp/google"
55
}
66
carvel = {
7-
source = "registry.terraform.io/carvel-dev/carvel"
7+
source = "carvel-dev/carvel"
8+
}
9+
helm = {
10+
source = "hashicorp/helm"
11+
version = ">= 3.0.0"
12+
}
13+
kubernetes = {
14+
source = "hashicorp/kubernetes"
15+
version = ">= 2.15.0"
816
}
917
}
1018
}
@@ -34,9 +42,11 @@ provider "carvel" {
3442
}
3543

3644
provider "helm" {
37-
kubernetes {
38-
host = "https://${data.google_container_cluster.wg_ci.endpoint}"
39-
token = data.google_client_config.provider.access_token
45+
# Using argument map style due to provider version resolution picking a schema
46+
# that expects "kubernetes" as an argument rather than a nested block.
47+
kubernetes = {
48+
host = "https://${data.google_container_cluster.wg_ci.endpoint}"
49+
token = data.google_client_config.provider.access_token
4050
cluster_ca_certificate = base64decode(data.google_container_cluster.wg_ci.master_auth[0].cluster_ca_certificate)
4151
}
4252
}

0 commit comments

Comments
 (0)