Skip to content

Commit a1debe5

Browse files
authored
fix: update kube_version description and only allow latest instead of default (#286)
BREAKING CHANGE: The variable `kube_version` no longer accepts the value "default". It has been replaced with the string "latest" because the logic has actually always deployed latest and not the default version. Best practise is to lock into a specific version anyway.
1 parent 3e8c2a9 commit a1debe5

File tree

8 files changed

+15
-15
lines changed

8 files changed

+15
-15
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -960,7 +960,7 @@ statement instead the previous block.
960960
| <a name="input_add_kms_block_storage_s2s"></a> [add\_kms\_block\_storage\_s2s](#input\_add\_kms\_block\_storage\_s2s) | add kms to block storage s2s authorization | `bool` | `true` | no |
961961
| <a name="input_appid"></a> [appid](#input\_appid) | The App ID instance to be used for the teleport vsi deployments | <pre>object({<br> name = optional(string)<br> resource_group = optional(string)<br> use_data = optional(bool)<br> keys = optional(list(string))<br> use_appid = bool<br> })</pre> | <pre>{<br> "use_appid": false<br>}</pre> | no |
962962
| <a name="input_atracker"></a> [atracker](#input\_atracker) | atracker variables | <pre>object({<br> resource_group = string<br> receive_global_events = bool<br> collector_bucket_name = string<br> add_route = bool<br> })</pre> | n/a | yes |
963-
| <a name="input_clusters"></a> [clusters](#input\_clusters) | A list describing clusters workloads to create | <pre>list(<br> object({<br> name = string # Name of Cluster<br> vpc_name = string # Name of VPC<br> subnet_names = list(string) # List of vpc subnets for cluster<br> workers_per_subnet = number # Worker nodes per subnet.<br> machine_type = string # Worker node flavor<br> kube_type = string # iks or openshift<br> kube_version = optional(string) # Can be a version from `ibmcloud ks versions` or `default`<br> entitlement = optional(string) # entitlement option for openshift<br> pod_subnet = optional(string) # Portable subnet for pods<br> service_subnet = optional(string) # Portable subnet for services<br> resource_group = string # Resource Group used for cluster<br> cos_name = optional(string) # Name of COS instance Required only for OpenShift clusters<br> update_all_workers = optional(bool) # If true force workers to update<br> kms_config = optional(<br> object({<br> crk_name = string # Name of key<br> private_endpoint = optional(bool) # Private endpoint<br> })<br> )<br> worker_pools = optional(<br> list(<br> object({<br> name = string # Worker pool name<br> vpc_name = string # VPC name<br> workers_per_subnet = number # Worker nodes per subnet<br> flavor = string # Worker node flavor<br> subnet_names = list(string) # List of vpc subnets for worker pool<br> entitlement = optional(string) # entitlement option for openshift<br> })<br> )<br> )<br> })<br> )</pre> | n/a | yes |
963+
| <a name="input_clusters"></a> [clusters](#input\_clusters) | A list describing clusters workloads to create | <pre>list(<br> object({<br> name = string # Name of Cluster<br> vpc_name = string # Name of VPC<br> subnet_names = list(string) # List of vpc subnets for cluster<br> workers_per_subnet = number # Worker nodes per subnet.<br> machine_type = string # Worker node flavor<br> kube_type = string # iks or openshift<br> kube_version = optional(string) # Can be a version from `ibmcloud ks versions` or `latest`<br> entitlement = optional(string) # entitlement option for openshift<br> pod_subnet = optional(string) # Portable subnet for pods<br> service_subnet = optional(string) # Portable subnet for services<br> resource_group = string # Resource Group used for cluster<br> cos_name = optional(string) # Name of COS instance Required only for OpenShift clusters<br> update_all_workers = optional(bool) # If true force workers to update<br> kms_config = optional(<br> object({<br> crk_name = string # Name of key<br> private_endpoint = optional(bool) # Private endpoint<br> })<br> )<br> worker_pools = optional(<br> list(<br> object({<br> name = string # Worker pool name<br> vpc_name = string # VPC name<br> workers_per_subnet = number # Worker nodes per subnet<br> flavor = string # Worker node flavor<br> subnet_names = list(string) # List of vpc subnets for worker pool<br> entitlement = optional(string) # entitlement option for openshift<br> })<br> )<br> )<br> })<br> )</pre> | n/a | yes |
964964
| <a name="input_cos"></a> [cos](#input\_cos) | Object describing the cloud object storage instance, buckets, and keys. Set `use_data` to false to create instance | <pre>list(<br> object({<br> name = string<br> use_data = optional(bool)<br> resource_group = string<br> plan = optional(string)<br> random_suffix = optional(bool) # Use a random suffix for COS instance<br> buckets = list(object({<br> name = string<br> storage_class = string<br> endpoint_type = string<br> force_delete = bool<br> single_site_location = optional(string)<br> region_location = optional(string)<br> cross_region_location = optional(string)<br> kms_key = optional(string)<br> allowed_ip = optional(list(string))<br> hard_quota = optional(number)<br> archive_rule = optional(object({<br> days = number<br> enable = bool<br> rule_id = optional(string)<br> type = string<br> }))<br> activity_tracking = optional(object({<br> activity_tracker_crn = string<br> read_data_events = bool<br> write_data_events = bool<br> }))<br> metrics_monitoring = optional(object({<br> metrics_monitoring_crn = string<br> request_metrics_enabled = optional(bool)<br> usage_metrics_enabled = optional(bool)<br> }))<br> }))<br> keys = optional(<br> list(object({<br> name = string<br> role = string<br> enable_HMAC = bool<br> }))<br> )<br><br> })<br> )</pre> | n/a | yes |
965965
| <a name="input_enable_transit_gateway"></a> [enable\_transit\_gateway](#input\_enable\_transit\_gateway) | Create transit gateway | `bool` | `true` | no |
966966
| <a name="input_f5_template_data"></a> [f5\_template\_data](#input\_f5\_template\_data) | Data for all f5 templates | <pre>object({<br> tmos_admin_password = optional(string)<br> license_type = optional(string)<br> byol_license_basekey = optional(string)<br> license_host = optional(string)<br> license_username = optional(string)<br> license_password = optional(string)<br> license_pool = optional(string)<br> license_sku_keyword_1 = optional(string)<br> license_sku_keyword_2 = optional(string)<br> license_unit_of_measure = optional(string)<br> do_declaration_url = optional(string)<br> as3_declaration_url = optional(string)<br> ts_declaration_url = optional(string)<br> phone_home_url = optional(string)<br> template_source = optional(string)<br> template_version = optional(string)<br> app_id = optional(string)<br> tgactive_url = optional(string)<br> tgstandby_url = optional(string)<br> tgrefresh_url = optional(string)<br> })</pre> | <pre>{<br> "license_type": "none"<br>}</pre> | no |

cluster.tf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ data "ibm_container_cluster_versions" "cluster_versions" {}
1414
locals {
1515
worker_pools_map = module.dynamic_values.worker_pools_map # Convert list to map
1616
clusters_map = module.dynamic_values.clusters_map # Convert list to map
17-
default_kube_version = {
17+
latest_kube_version = {
1818
openshift = "${data.ibm_container_cluster_versions.cluster_versions.valid_openshift_versions[length(data.ibm_container_cluster_versions.cluster_versions.valid_openshift_versions) - 1]}_openshift"
1919
iks = data.ibm_container_cluster_versions.cluster_versions.valid_kube_versions[length(data.ibm_container_cluster_versions.cluster_versions.valid_kube_versions) - 1]
2020
}
@@ -35,10 +35,10 @@ resource "ibm_container_vpc_cluster" "cluster" {
3535
flavor = each.value.machine_type
3636
worker_count = each.value.workers_per_subnet
3737
kube_version = (
38-
lookup(each.value, "kube_version", null) == "default" # if version is default
39-
|| lookup(each.value, "kube_version", null) == null # or if version is null
40-
? local.default_kube_version[each.value.kube_type] # use default
41-
: each.value.kube_version # otherwise use value
38+
lookup(each.value, "kube_version", null) == "latest" # if version is latest
39+
|| lookup(each.value, "kube_version", null) == null # or if version is null
40+
? local.latest_kube_version[each.value.kube_type] # use latest
41+
: each.value.kube_version # otherwise use value
4242
)
4343
update_all_workers = lookup(each.value, "update_all_workers", null)
4444
tags = var.tags

module-metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
},
6161
"clusters": {
6262
"name": "clusters",
63-
"type": "list(\n object({\n name = string # Name of Cluster\n vpc_name = string # Name of VPC\n subnet_names = list(string) # List of vpc subnets for cluster\n workers_per_subnet = number # Worker nodes per subnet.\n machine_type = string # Worker node flavor\n kube_type = string # iks or openshift\n kube_version = optional(string) # Can be a version from `ibmcloud ks versions` or `default`\n entitlement = optional(string) # entitlement option for openshift\n pod_subnet = optional(string) # Portable subnet for pods\n service_subnet = optional(string) # Portable subnet for services\n resource_group = string # Resource Group used for cluster\n cos_name = optional(string) # Name of COS instance Required only for OpenShift clusters\n update_all_workers = optional(bool) # If true force workers to update\n kms_config = optional(\n object({\n crk_name = string # Name of key\n private_endpoint = optional(bool) # Private endpoint\n })\n )\n worker_pools = optional(\n list(\n object({\n name = string # Worker pool name\n vpc_name = string # VPC name\n workers_per_subnet = number # Worker nodes per subnet\n flavor = string # Worker node flavor\n subnet_names = list(string) # List of vpc subnets for worker pool\n entitlement = optional(string) # entitlement option for openshift\n })\n )\n )\n })\n )",
63+
"type": "list(\n object({\n name = string # Name of Cluster\n vpc_name = string # Name of VPC\n subnet_names = list(string) # List of vpc subnets for cluster\n workers_per_subnet = number # Worker nodes per subnet.\n machine_type = string # Worker node flavor\n kube_type = string # iks or openshift\n kube_version = optional(string) # Can be a version from `ibmcloud ks versions` or `latest`\n entitlement = optional(string) # entitlement option for openshift\n pod_subnet = optional(string) # Portable subnet for pods\n service_subnet = optional(string) # Portable subnet for services\n resource_group = string # Resource Group used for cluster\n cos_name = optional(string) # Name of COS instance Required only for OpenShift clusters\n update_all_workers = optional(bool) # If true force workers to update\n kms_config = optional(\n object({\n crk_name = string # Name of key\n private_endpoint = optional(bool) # Private endpoint\n })\n )\n worker_pools = optional(\n list(\n object({\n name = string # Worker pool name\n vpc_name = string # VPC name\n workers_per_subnet = number # Worker nodes per subnet\n flavor = string # Worker node flavor\n subnet_names = list(string) # List of vpc subnets for worker pool\n entitlement = optional(string) # entitlement option for openshift\n })\n )\n )\n })\n )",
6464
"description": "A list describing clusters workloads to create",
6565
"required": true,
6666
"source": [

patterns/mixed/override.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"cos_name": "cos",
1111
"entitlement": "cloud_pak",
1212
"kube_type": "openshift",
13-
"kube_version": "default",
13+
"kube_version": "latest",
1414
"machine_type": "bx2.16x64",
1515
"name": "workload-cluster",
1616
"resource_group": "slz-workload-rg",

patterns/mixed/variables.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,9 @@ variable "cluster_zones" {
153153
}
154154

155155
variable "kube_version" {
156-
description = "Kubernetes version to use for cluster. To get available versions, use the IBM Cloud CLI command `ibmcloud ks versions`. To use the default version, leave as default. Updates to the default versions may force this to change."
156+
description = "Kubernetes version to use for cluster. To get available versions, use the IBM Cloud CLI command `ibmcloud ks versions`. To use the latest version, leave as latest. Updates to the latest versions may force this to change."
157157
type = string
158-
default = "default"
158+
default = "latest"
159159
}
160160

161161
variable "flavor" {

patterns/roks/override.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"cos_name": "cos",
1111
"entitlement": "cloud_pak",
1212
"kube_type": "openshift",
13-
"kube_version": "default",
13+
"kube_version": "latest",
1414
"machine_type": "bx2.16x64",
1515
"name": "management-cluster",
1616
"resource_group": "slz-management-rg",
@@ -45,7 +45,7 @@
4545
"cos_name": "cos",
4646
"entitlement": "cloud_pak",
4747
"kube_type": "openshift",
48-
"kube_version": "default",
48+
"kube_version": "latest",
4949
"machine_type": "bx2.16x64",
5050
"name": "workload-cluster",
5151
"resource_group": "slz-workload-rg",

patterns/roks/variables.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,9 @@ variable "cluster_zones" {
119119
}
120120

121121
variable "kube_version" {
122-
description = "Kubernetes version to use for cluster. To get available versions, use the IBM Cloud CLI command `ibmcloud ks versions`. To use the default version, leave as default. Updates to the default versions may force this to change."
122+
description = "Kubernetes version to use for cluster. To get available versions, use the IBM Cloud CLI command `ibmcloud ks versions`. To use the latest version, leave as latest. Updates to the latest versions may force this to change."
123123
type = string
124-
default = "default"
124+
default = "latest"
125125
}
126126

127127
variable "flavor" {

variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -757,7 +757,7 @@ variable "clusters" {
757757
workers_per_subnet = number # Worker nodes per subnet.
758758
machine_type = string # Worker node flavor
759759
kube_type = string # iks or openshift
760-
kube_version = optional(string) # Can be a version from `ibmcloud ks versions` or `default`
760+
kube_version = optional(string) # Can be a version from `ibmcloud ks versions` or `latest`
761761
entitlement = optional(string) # entitlement option for openshift
762762
pod_subnet = optional(string) # Portable subnet for pods
763763
service_subnet = optional(string) # Portable subnet for services

0 commit comments

Comments
 (0)