diff --git a/prepare-labs/terraform/one-kubernetes/aws/provider.tf b/prepare-labs/terraform/one-kubernetes/aws/provider.tf index f2702bf6..4090e0bc 100644 --- a/prepare-labs/terraform/one-kubernetes/aws/provider.tf +++ b/prepare-labs/terraform/one-kubernetes/aws/provider.tf @@ -1,7 +1,8 @@ terraform { required_providers { aws = { - source = "hashicorp/aws" + source = "hashicorp/aws" + version = "~> 4.47.0" } } } diff --git a/prepare-labs/terraform/one-kubernetes/azure/main.tf b/prepare-labs/terraform/one-kubernetes/azure/main.tf index 7e434196..be23614b 100644 --- a/prepare-labs/terraform/one-kubernetes/azure/main.tf +++ b/prepare-labs/terraform/one-kubernetes/azure/main.tf @@ -4,19 +4,19 @@ resource "azurerm_resource_group" "_" { } resource "azurerm_kubernetes_cluster" "_" { - name = var.cluster_name - location = var.location + name = var.cluster_name + location = var.location dns_prefix = var.cluster_name identity { - type = "SystemAssigned" + type = "SystemAssigned" } resource_group_name = azurerm_resource_group._.name default_node_pool { - name = "x86" - node_count = var.min_nodes_per_pool - min_count = var.min_nodes_per_pool - max_count = var.max_nodes_per_pool - vm_size = local.node_size + name = "x86" + node_count = var.min_nodes_per_pool + min_count = var.min_nodes_per_pool + max_count = var.max_nodes_per_pool + vm_size = local.node_size enable_auto_scaling = true } } diff --git a/prepare-labs/terraform/one-kubernetes/oci/main.tf b/prepare-labs/terraform/one-kubernetes/oci/main.tf index e0fde132..015cdb9a 100644 --- a/prepare-labs/terraform/one-kubernetes/oci/main.tf +++ b/prepare-labs/terraform/one-kubernetes/oci/main.tf @@ -11,17 +11,23 @@ data "oci_containerengine_cluster_option" "_" { locals { compartment_id = oci_identity_compartment._.id kubernetes_version = data.oci_containerengine_cluster_option._.kubernetes_versions[0] + images = [ + for image in data.oci_containerengine_node_pool_option._.sources : image + if can(regex("OKE", image.source_name)) + && can(regex(substr(local.kubernetes_version, 1, -1), image.source_name)) + && !can(regex("GPU", image.source_name)) + && !can(regex("aarch64", image.source_name)) + ] + } data "oci_identity_availability_domains" "_" { compartment_id = local.compartment_id } -data "oci_core_images" "_" { - compartment_id = local.compartment_id - operating_system = "Oracle Linux" - operating_system_version = "8" - shape = local.shape +data "oci_containerengine_node_pool_option" "_" { + compartment_id = local.compartment_id + node_pool_option_id = oci_containerengine_cluster._.id } resource "oci_containerengine_cluster" "_" { @@ -56,7 +62,7 @@ resource "oci_containerengine_node_pool" "_" { } } node_source_details { - image_id = data.oci_core_images._.images[0].id + image_id = local.images[0].image_id source_type = "image" } } diff --git a/prepare-labs/terraform/one-kubernetes/vcluster/outputs.tf b/prepare-labs/terraform/one-kubernetes/vcluster/outputs.tf index bdc1b03a..3b3b44b5 100644 --- a/prepare-labs/terraform/one-kubernetes/vcluster/outputs.tf +++ b/prepare-labs/terraform/one-kubernetes/vcluster/outputs.tf @@ -44,5 +44,5 @@ locals { guest_api_server_port = local.node_port guest_api_server_url_new = "https://${local.guest_api_server_host}:${local.guest_api_server_port}" guest_api_server_url_old = yamldecode(local.kubeconfig_raw).clusters[0].cluster.server - kubeconfig = replace(local.kubeconfig_raw, local.guest_api_server_url_old, local.guest_api_server_url_new) + kubeconfig = replace(local.kubeconfig_raw, local.guest_api_server_url_old, local.guest_api_server_url_new) } diff --git a/prepare-labs/terraform/providers/vcluster/variables.tf b/prepare-labs/terraform/providers/vcluster/variables.tf index da95df2b..d665bad0 100644 --- a/prepare-labs/terraform/providers/vcluster/variables.tf +++ b/prepare-labs/terraform/providers/vcluster/variables.tf @@ -1,5 +1,5 @@ variable "node_sizes" { - type = map(any) + type = map(any) default = {} }