Skip to content

Commit 97479ab

Browse files
authored
feat: updated required helm provider to >= 3.0.0, <4.0.0 and refacoted the logic to work with v3 of the helm provider (#597)
1 parent d883046 commit 97479ab

File tree

10 files changed

+115
-109
lines changed

10 files changed

+115
-109
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ You need the following permissions to run this module.
113113
| Name | Version |
114114
|------|---------|
115115
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.9.0 |
116-
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 2.15.0, <3.0.0 |
116+
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 3.0.0, <4.0.0 |
117117
| <a name="requirement_ibm"></a> [ibm](#requirement\_ibm) | >= 1.70.0, <2.0.0 |
118118

119119
### Modules

examples/obs-agent-iks/provider.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ provider "ibm" {
44
}
55

66
provider "helm" {
7-
kubernetes {
7+
kubernetes = {
88
host = data.ibm_container_cluster_config.cluster_config.host
99
token = data.ibm_container_cluster_config.cluster_config.token
1010
cluster_ca_certificate = data.ibm_container_cluster_config.cluster_config.ca_certificate
1111
}
1212
# IBM Cloud credentials are required to authenticate to the helm repo
13-
registry {
13+
registries = [{
1414
url = "oci://icr.io/ibm/observe/logs-agent-helm"
1515
username = "iamapikey"
1616
password = var.ibmcloud_api_key
17-
}
17+
}]
1818
}
1919

2020
provider "kubernetes" {

examples/obs-agent-iks/version.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ terraform {
1010
}
1111
helm = {
1212
source = "hashicorp/helm"
13-
version = "2.15.0"
13+
version = "3.0.2"
1414
}
1515
# The kubernetes provider is not actually required by the module itself, just this example, so OK to use ">=" here instead of locking into a version
1616
kubernetes = {

examples/obs-agent-ocp/provider.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ provider "ibm" {
44
}
55

66
provider "helm" {
7-
kubernetes {
7+
kubernetes = {
88
host = data.ibm_container_cluster_config.cluster_config.host
99
token = data.ibm_container_cluster_config.cluster_config.token
1010
cluster_ca_certificate = data.ibm_container_cluster_config.cluster_config.ca_certificate
1111
}
1212
# IBM Cloud credentials are required to authenticate to the helm repo
13-
registry {
13+
registries = [{
1414
url = "oci://icr.io/ibm/observe/logs-agent-helm"
1515
username = "iamapikey"
1616
password = var.ibmcloud_api_key
17-
}
17+
}]
1818
}
1919

2020
provider "kubernetes" {

examples/obs-agent-ocp/version.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ terraform {
1010
}
1111
helm = {
1212
source = "hashicorp/helm"
13-
version = ">= 2.15.0"
13+
version = ">= 3.0.0, <4.0.0"
1414
}
1515
kubernetes = {
1616
source = "hashicorp/kubernetes"

main.tf

Lines changed: 40 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -51,46 +51,49 @@ resource "helm_release" "cloud_monitoring_agent" {
5151
force_update = true
5252
reset_values = true
5353

54-
set {
55-
name = "metadata.name"
56-
type = "string"
57-
value = var.cloud_monitoring_agent_name
58-
}
59-
set {
60-
name = "image.version"
61-
type = "string"
62-
value = local.cloud_monitoring_image_tag_digest
63-
}
64-
set {
65-
name = "image.registry"
66-
type = "string"
67-
value = local.cloud_monitoring_agent_registry
68-
}
69-
set {
70-
name = "config.clustername"
71-
type = "string"
72-
value = local.cluster_name
73-
}
74-
set {
75-
name = "config.host"
76-
type = "string"
77-
value = local.cloud_monitoring_host
78-
}
79-
set {
80-
name = "secret.name"
81-
type = "string"
82-
value = var.cloud_monitoring_secret_name
83-
}
84-
set_sensitive {
54+
set = [
55+
{
56+
name = "metadata.name"
57+
type = "string"
58+
value = var.cloud_monitoring_agent_name
59+
},
60+
{
61+
name = "image.version"
62+
type = "string"
63+
value = local.cloud_monitoring_image_tag_digest
64+
},
65+
{
66+
name = "image.registry"
67+
type = "string"
68+
value = local.cloud_monitoring_agent_registry
69+
},
70+
{
71+
name = "config.clustername"
72+
type = "string"
73+
value = local.cluster_name
74+
},
75+
{
76+
name = "config.host"
77+
type = "string"
78+
value = local.cloud_monitoring_host
79+
},
80+
{
81+
name = "secret.name"
82+
type = "string"
83+
value = var.cloud_monitoring_secret_name
84+
},
85+
{
86+
name = "config.tags"
87+
type = "string"
88+
value = join("\\,", local.cloud_monitoring_agent_tags)
89+
}
90+
]
91+
92+
set_sensitive = [{
8593
name = "secret.key"
8694
type = "string"
8795
value = var.cloud_monitoring_access_key
88-
}
89-
set {
90-
name = "config.tags"
91-
type = "string"
92-
value = join("\\,", local.cloud_monitoring_agent_tags)
93-
}
96+
}]
9497

9598
values = [yamlencode({
9699
metrics_filter = var.cloud_monitoring_metrics_filter

modules/logs-agent/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ module "logs_agent_module" {
6060
| Name | Version |
6161
|------|---------|
6262
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.9.0 |
63-
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 2.11.0, <3.0.0 |
63+
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 3.0.0, <4.0.0 |
6464
| <a name="requirement_ibm"></a> [ibm](#requirement\_ibm) | >= 1.59.0, <2.0.0 |
6565

6666
### Modules

modules/logs-agent/main.tf

Lines changed: 63 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -48,69 +48,72 @@ resource "helm_release" "logs_agent" {
4848
recreate_pods = true
4949
force_update = true
5050

51-
set {
52-
name = "metadata.name"
53-
type = "string"
54-
value = var.logs_agent_name
55-
}
56-
set {
57-
name = "image.version"
58-
type = "string"
59-
value = local.logs_agent_version
60-
}
61-
set {
62-
name = "env.ingestionHost"
63-
type = "string"
64-
value = local.cloud_logs_ingress_endpoint
65-
}
66-
set {
67-
name = "env.ingestionPort"
68-
value = var.cloud_logs_ingress_port
69-
}
70-
set_sensitive {
51+
set = [
52+
{
53+
name = "metadata.name"
54+
type = "string"
55+
value = var.logs_agent_name
56+
},
57+
{
58+
name = "image.version"
59+
type = "string"
60+
value = local.logs_agent_version
61+
},
62+
{
63+
name = "env.ingestionHost"
64+
type = "string"
65+
value = local.cloud_logs_ingress_endpoint
66+
},
67+
{
68+
name = "env.ingestionPort"
69+
value = var.cloud_logs_ingress_port
70+
},
71+
{
72+
name = "env.trustedProfileID"
73+
type = "string"
74+
value = local.logs_agent_trusted_profile
75+
},
76+
{
77+
name = "env.iamMode"
78+
type = "string"
79+
value = var.logs_agent_iam_mode
80+
},
81+
{
82+
name = "env.iamEnvironment"
83+
type = "string"
84+
value = var.logs_agent_iam_environment
85+
},
86+
{
87+
name = "additionalLogSourcePaths"
88+
type = "string"
89+
value = join("\\,", var.logs_agent_additional_log_source_paths)
90+
},
91+
{
92+
name = "excludeLogSourcePaths"
93+
type = "string"
94+
value = join("\\,", var.logs_agent_exclude_log_source_paths)
95+
},
96+
{
97+
name = "selectedLogSourcePaths"
98+
type = "string"
99+
value = join("\\,", local.logs_agent_selected_log_source_paths)
100+
},
101+
{
102+
name = "clusterName"
103+
type = "string"
104+
value = local.cluster_name
105+
},
106+
{
107+
name = "scc.create"
108+
value = var.logs_agent_enable_scc
109+
}
110+
]
111+
112+
set_sensitive = [{
71113
name = "secret.iamAPIKey"
72114
type = "string"
73115
value = local.logs_agent_iam_api_key
74-
}
75-
set {
76-
name = "env.trustedProfileID"
77-
type = "string"
78-
value = local.logs_agent_trusted_profile
79-
}
80-
set {
81-
name = "env.iamMode"
82-
type = "string"
83-
value = var.logs_agent_iam_mode
84-
}
85-
set {
86-
name = "env.iamEnvironment"
87-
type = "string"
88-
value = var.logs_agent_iam_environment
89-
}
90-
set {
91-
name = "additionalLogSourcePaths"
92-
type = "string"
93-
value = join("\\,", var.logs_agent_additional_log_source_paths)
94-
}
95-
set {
96-
name = "excludeLogSourcePaths"
97-
type = "string"
98-
value = join("\\,", var.logs_agent_exclude_log_source_paths)
99-
}
100-
set {
101-
name = "selectedLogSourcePaths"
102-
type = "string"
103-
value = join("\\,", local.logs_agent_selected_log_source_paths)
104-
}
105-
set {
106-
name = "clusterName"
107-
type = "string"
108-
value = local.cluster_name
109-
}
110-
set {
111-
name = "scc.create"
112-
value = var.logs_agent_enable_scc
113-
}
116+
}]
114117

115118
# dummy value hack to force update https://github.com/hashicorp/terraform-provider-helm/issues/515#issuecomment-813088122
116119
values = [

modules/logs-agent/version.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ terraform {
99
}
1010
helm = {
1111
source = "hashicorp/helm"
12-
version = ">= 2.11.0, <3.0.0"
12+
version = ">= 3.0.0, <4.0.0"
1313
}
1414
}
1515
}

version.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ terraform {
99
}
1010
helm = {
1111
source = "hashicorp/helm"
12-
version = ">= 2.15.0, <3.0.0"
12+
version = ">= 3.0.0, <4.0.0"
1313
}
1414
}
1515
}

0 commit comments

Comments
 (0)