Skip to content

Commit 1cf79a6

Browse files
authored
Merge pull request #35 from junior/v0.9.2-patch
V0.9.2 patch
2 parents bf7fd57 + 6ead9da commit 1cf79a6

File tree

8 files changed

+139
-47
lines changed

8 files changed

+139
-47
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.9.1
1+
0.9.2

examples/basic-cluster/oke.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ module "oke-quickstart" {
2828
node_pool_initial_num_worker_nodes_1 = 3 # Minimum number of nodes in the node pool
2929
node_pool_max_num_worker_nodes_1 = 10 # Maximum number of nodes in the node pool
3030
node_pool_instance_shape_1 = { "instanceShape" = "VM.Standard.E4.Flex", "ocpus" = 2, "memory" = 64 } # If not using a Flex shape, ocpus and memory are ignored
31-
node_pool_boot_volume_size_in_gbs_1 = 120
31+
node_pool_boot_volume_size_in_gbs_1 = 60
3232

3333
# VCN for OKE arguments
3434
vcn_cidr_blocks = "10.22.0.0/16"

examples/basic-cluster/providers.tf

Lines changed: 75 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,79 @@
1-
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
1+
# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
22
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
3-
#
4-
5-
terraform {
6-
required_version = ">= 1.1"
7-
required_providers {
8-
oci = {
9-
source = "oracle/oci"
10-
version = "~> 4, < 5"
11-
# https://registry.terraform.io/providers/oracle/oci/
12-
}
13-
kubernetes = {
14-
source = "hashicorp/kubernetes"
15-
version = "~> 2"
16-
# https://registry.terraform.io/providers/hashicorp/kubernetes/
17-
}
18-
helm = {
19-
source = "hashicorp/helm"
20-
version = "~> 2"
21-
# https://registry.terraform.io/providers/hashicorp/helm/
22-
}
23-
tls = {
24-
source = "hashicorp/tls"
25-
version = "~> 4"
26-
# https://registry.terraform.io/providers/hashicorp/tls/
27-
}
28-
local = {
29-
source = "hashicorp/local"
30-
version = "~> 2"
31-
# https://registry.terraform.io/providers/hashicorp/local/
32-
}
33-
random = {
34-
source = "hashicorp/random"
35-
version = "~> 3"
36-
# https://registry.terraform.io/providers/hashicorp/random/
3+
#
4+
5+
provider "oci" {
6+
tenancy_ocid = var.tenancy_ocid
7+
region = var.region
8+
9+
user_ocid = var.user_ocid
10+
fingerprint = var.fingerprint
11+
private_key_path = var.private_key_path
12+
}
13+
14+
provider "oci" {
15+
alias = "home_region"
16+
tenancy_ocid = var.tenancy_ocid
17+
region = local.home_region
18+
19+
user_ocid = var.user_ocid
20+
fingerprint = var.fingerprint
21+
private_key_path = var.private_key_path
22+
}
23+
24+
# New configuration to avoid Terraform Kubernetes provider interpolation. https://registry.terraform.io/providers/hashicorp/kubernetes/2.2.0/docs#stacking-with-managed-kubernetes-cluster-resources
25+
# Currently need to uncheck to refresh (--refresh=false) when destroying or else the terraform destroy will fail
26+
27+
# https://docs.cloud.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengdownloadkubeconfigfile.htm#notes
28+
provider "kubernetes" {
29+
host = local.cluster_endpoint
30+
cluster_ca_certificate = local.cluster_ca_certificate
31+
insecure = local.external_private_endpoint
32+
exec {
33+
api_version = "client.authentication.k8s.io/v1beta1"
34+
args = ["ce", "cluster", "generate-token", "--cluster-id", local.cluster_id, "--region", local.cluster_region]
35+
command = "oci"
36+
}
37+
}
38+
39+
# https://docs.cloud.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengdownloadkubeconfigfile.htm#notes
40+
provider "helm" {
41+
kubernetes {
42+
host = local.cluster_endpoint
43+
cluster_ca_certificate = local.cluster_ca_certificate
44+
insecure = local.external_private_endpoint
45+
exec {
46+
api_version = "client.authentication.k8s.io/v1beta1"
47+
args = ["ce", "cluster", "generate-token", "--cluster-id", local.cluster_id, "--region", local.cluster_region]
48+
command = "oci"
3749
}
3850
}
3951
}
52+
53+
locals {
54+
cluster_endpoint = yamldecode(module.oke-quickstart.kubeconfig)["clusters"][0]["cluster"]["server"]
55+
external_private_endpoint = false
56+
# cluster_endpoint = (var.cluster_endpoint_visibility == "Private") ? (
57+
# "https://${module.oke.orm_private_endpoint_oke_api_ip_address}:6443") : (
58+
# yamldecode(module.oke.kubeconfig)["clusters"][0]["cluster"]["server"])
59+
# external_private_endpoint = (var.cluster_endpoint_visibility == "Private") ? true : false
60+
cluster_ca_certificate = base64decode(yamldecode(module.oke-quickstart.kubeconfig)["clusters"][0]["cluster"]["certificate-authority-data"])
61+
cluster_id = yamldecode(module.oke-quickstart.kubeconfig)["users"][0]["user"]["exec"]["args"][4]
62+
cluster_region = yamldecode(module.oke-quickstart.kubeconfig)["users"][0]["user"]["exec"]["args"][6]
63+
}
64+
65+
# Gets home and current regions
66+
data "oci_identity_tenancy" "tenant_details" {
67+
tenancy_id = var.tenancy_ocid
68+
}
69+
data "oci_identity_regions" "home_region" {
70+
filter {
71+
name = "key"
72+
values = [data.oci_identity_tenancy.tenant_details.home_region_key]
73+
}
74+
75+
count = var.home_region != "" ? 0 : 1
76+
}
77+
locals {
78+
home_region = var.home_region != "" ? var.home_region : lookup(data.oci_identity_regions.home_region.0.regions.0, "name")
79+
}

examples/basic-cluster/versions.tf

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
2+
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
3+
#
4+
5+
terraform {
6+
required_version = ">= 1.1"
7+
required_providers {
8+
oci = {
9+
source = "oracle/oci"
10+
version = "~> 4, < 5"
11+
# https://registry.terraform.io/providers/oracle/oci/
12+
configuration_aliases = [oci.home_region]
13+
}
14+
kubernetes = {
15+
source = "hashicorp/kubernetes"
16+
version = "~> 2"
17+
# https://registry.terraform.io/providers/hashicorp/kubernetes/
18+
}
19+
helm = {
20+
source = "hashicorp/helm"
21+
version = "~> 2"
22+
# https://registry.terraform.io/providers/hashicorp/helm/
23+
}
24+
tls = {
25+
source = "hashicorp/tls"
26+
version = "~> 4"
27+
# https://registry.terraform.io/providers/hashicorp/tls/
28+
}
29+
local = {
30+
source = "hashicorp/local"
31+
version = "~> 2"
32+
# https://registry.terraform.io/providers/hashicorp/local/
33+
}
34+
random = {
35+
source = "hashicorp/random"
36+
version = "~> 3"
37+
# https://registry.terraform.io/providers/hashicorp/random/
38+
}
39+
}
40+
}

main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ module "oke_node_pools" {
117117
node_pool_shape = each.value.node_pool_shape
118118
node_pool_shape_specific_ad = try(each.value.node_pool_shape_specific_ad, 0)
119119
node_pool_node_shape_config_ocpus = try(each.value.node_pool_node_shape_config_ocpus, 4)
120+
node_pool_boot_volume_size_in_gbs = try(each.value.node_pool_boot_volume_size_in_gbs, 80)
120121
node_pool_node_shape_config_memory_in_gbs = try(each.value.node_pool_node_shape_config_memory_in_gbs, 48)
121122
existent_oke_nodepool_id_for_autoscaler = try(each.value.existent_oke_nodepool_id_for_autoscaler, null)
122123
node_pool_autoscaler_enabled = try(each.value.node_pool_autoscaler_enabled, true)

modules/oke-node-pool/main.tf

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ resource "oci_containerengine_node_pool" "oke_node_pool" {
3030
pod_subnet_ids = [var.vcn_native_pod_networking_subnet_ocid]
3131
}
3232
# nsg_ids = []
33-
size = var.node_pool_min_nodes
33+
size = var.node_pool_min_nodes
34+
# is_pv_encryption_in_transit_enabled = var.node_pool_node_config_details_is_pv_encryption_in_transit_enabled
3435
kms_key_id = var.oci_vault_key_id_oke_node_boot_volume != "" ? var.oci_vault_key_id_oke_node_boot_volume : null
3536
freeform_tags = var.worker_nodes_tags.freeformTags
3637
defined_tags = var.worker_nodes_tags.definedTags
@@ -49,14 +50,22 @@ resource "oci_containerengine_node_pool" "oke_node_pool" {
4950
image_id = lookup(data.oci_core_images.node_pool_images.images[0], "id")
5051
boot_volume_size_in_gbs = var.node_pool_boot_volume_size_in_gbs
5152
}
53+
5254
# node_eviction_node_pool_settings {
53-
# eviction_grace_duration = "PT1H"
54-
# is_force_delete_after_grace_duration = false
55+
# eviction_grace_duration = var.node_pool_node_eviction_node_pool_settings_eviction_grace_duration #PT60M
56+
# is_force_delete_after_grace_duration = var.node_pool_node_eviction_node_pool_settings_is_force_delete_after_grace_duration #false
5557
# }
58+
5659
node_metadata = {
5760
user_data = anytrue([var.node_pool_oke_init_params != "", var.node_pool_cloud_init_parts != []]) ? data.cloudinit_config.nodes.rendered : null
5861
}
5962

63+
# node_pool_cycling_details {
64+
# is_node_cycling_enabled = var.node_pool_node_pool_cycling_details_is_node_cycling_enabled
65+
# maximum_surge = var.node_pool_node_pool_cycling_details_maximum_surge
66+
# maximum_unavailable = var.node_pool_node_pool_cycling_details_maximum_unavailable
67+
# }
68+
6069
initial_node_labels {
6170
key = "name"
6271
value = var.node_pool_name

modules/oke-node-pool/variables.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
1+
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
22
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
3-
#
3+
#
44

55
# OKE Variables
66
variable "oke_cluster_ocid" {

modules/oke/main.tf

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
# Copyright (c) 2021, 2022, Oracle and/or its affiliates. All rights reserved.
1+
# Copyright (c) 2021-2023 Oracle and/or its affiliates. All rights reserved.
22
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
3-
#
3+
#
4+
5+
# File Version: 0.9.2
46

57
resource "oci_containerengine_cluster" "oke_cluster" {
68
compartment_id = local.oke_compartment_ocid
79
kubernetes_version = (var.k8s_version == "Latest") ? local.cluster_k8s_latest_version : var.k8s_version
810
name = "${local.app_name} (${local.deploy_id})"
911
vcn_id = var.vcn_id
1012
kms_key_id = var.oci_vault_key_id_oke_secrets != "" ? var.oci_vault_key_id_oke_secrets : null
11-
# type = var.cluster_type
12-
freeform_tags = var.cluster_tags.freeformTags
13-
defined_tags = var.cluster_tags.definedTags
13+
type = var.cluster_type
14+
freeform_tags = var.cluster_tags.freeformTags
15+
defined_tags = var.cluster_tags.definedTags
1416

1517
endpoint_config {
1618
is_public_ip_enabled = (var.cluster_endpoint_visibility == "Private") ? false : true

0 commit comments

Comments
 (0)