Skip to content

Commit b01f91a

Browse files
authored
feat!: (IAC-1234) Update binaries & Terraform providers/modules (#206)
1 parent c9e76ce commit b01f91a

File tree

6 files changed

+25
-16
lines changed

6 files changed

+25
-16
lines changed

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Copyright © 2021-2023, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
ARG TERRAFORM_VERSION=1.7.0
5-
ARG GCP_CLI_VERSION=460.0.0
4+
ARG TERRAFORM_VERSION=1.7.3
5+
ARG GCP_CLI_VERSION=464.0.0
66

77
FROM hashicorp/terraform:$TERRAFORM_VERSION as terraform
88
FROM google/cloud-sdk:$GCP_CLI_VERSION-alpine
9-
ARG KUBECTL_VERSION=1.27.8
9+
ARG KUBECTL_VERSION=1.27.10
1010
ARG ENABLE_GKE_GCLOUD_AUTH_PLUGIN=True
1111
ARG INSTALL_COMPONENTS=""
1212

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ Operational knowledge of
3131

3232
- Terraform or Docker
3333
- #### Terraform
34-
- [Terraform](https://www.terraform.io/downloads.html) - v1.7.0
35-
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) - v1.27.8
34+
- [Terraform](https://www.terraform.io/downloads.html) - v1.7.3
35+
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) - v1.27.10
3636
- [jq](https://stedolan.github.io/jq/) - v1.6
37-
- [gcloud CLI](https://cloud.google.com/sdk/gcloud) - (optional - useful as an alternative to the Google Cloud Platform Portal) - v460.0.0
37+
- [gcloud CLI](https://cloud.google.com/sdk/gcloud) - (optional - useful as an alternative to the Google Cloud Platform Portal) - v464.0.0
3838
- [gke-gcloud-auth-plugin](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#install_plugin) - (optional - only for provider based Kubernetes configuration files) - >= v1.26
3939
- #### Docker
4040
- [Docker](https://docs.docker.com/get-docker/)

docs/CONFIG-VARS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ The application of a Kubernetes version in GCP has some limitations when assigni
107107
| enable_cluster_autoscaling | Per-cluster configuration of [Node Auto-Provisioning](https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning) with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload | bool | false | This is different from node autoscaling which is controlled by `max_node` & `min_node` in your [node pool definitions](#Nodepools)|
108108
| cluster_autoscaling_max_cpu_cores | MAX number of cores in the cluster | number | 500 | |
109109
| cluster_autoscaling_max_memory_gb | MAX number of gb of memory in the cluster | number | 10000 | |
110+
| cluster_autoscaling_profile | Configuration options for the [Autoscaling profile](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-autoscaler#autoscaling_profiles) feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster | string | "BALANCED" | |
110111
| create_static_kubeconfig | Allows the user to create a provider / service account based kube config file | bool | true | A value of `false` will default to using the cloud providers mechanism for generating the kubeconfig file. A value of `true` will create a static kubeconfig which utilizes a `Service Account` and `Cluster Role Binding` to provide credentials. |
111112
| regional | Create a regional GKE control plane | bool | true | If false a zonal GKE control plane is created. **WARNING: changing this after cluster creation is destructive** |
112113
| create_jump_vm | Create bastion host | bool | true | |

main.tf

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ data "google_container_engine_versions" "gke-version" {
9191

9292
module "gke" {
9393
source = "terraform-google-modules/kubernetes-engine/google//modules/private-cluster"
94-
version = "~> 29.0.0"
94+
version = "~> 30.0.0"
9595
project_id = var.project
9696
name = "${var.prefix}-gke"
9797
region = local.region
@@ -135,18 +135,20 @@ module "gke" {
135135
max_memory_gb : var.cluster_autoscaling_max_memory_gb,
136136
min_cpu_cores : 1,
137137
min_memory_gb : 1,
138-
gpu_resources = [],
139-
auto_repair = (var.kubernetes_channel == "UNSPECIFIED") ? false : true,
140-
auto_upgrade = (var.kubernetes_channel == "UNSPECIFIED") ? false : true
138+
gpu_resources = [],
139+
auto_repair = (var.kubernetes_channel == "UNSPECIFIED") ? false : true,
140+
auto_upgrade = (var.kubernetes_channel == "UNSPECIFIED") ? false : true
141+
autoscaling_profile = var.cluster_autoscaling_profile
141142
} : {
142143
enabled : false,
143144
max_cpu_cores : 0,
144145
max_memory_gb : 0,
145146
min_cpu_cores : 0,
146147
min_memory_gb : 0,
147-
gpu_resources = [],
148-
auto_repair = (var.kubernetes_channel == "UNSPECIFIED") ? false : true,
149-
auto_upgrade = (var.kubernetes_channel == "UNSPECIFIED") ? false : true
148+
gpu_resources = [],
149+
auto_repair = (var.kubernetes_channel == "UNSPECIFIED") ? false : true,
150+
auto_upgrade = (var.kubernetes_channel == "UNSPECIFIED") ? false : true
151+
autoscaling_profile = var.cluster_autoscaling_profile
150152
}
151153

152154
master_authorized_networks = concat([
@@ -239,7 +241,7 @@ resource "local_file" "kubeconfig" {
239241
# Module Registry - https://registry.terraform.io/modules/GoogleCloudPlatform/sql-db/google/12.0.0/submodules/postgresql
240242
module "postgresql" {
241243
source = "GoogleCloudPlatform/sql-db/google//modules/postgresql"
242-
version = "~> 18.2.0"
244+
version = "~> 19.0.0"
243245
project_id = var.project
244246

245247
for_each = local.postgres_servers != null ? length(local.postgres_servers) != 0 ? local.postgres_servers : {} : {}

variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,12 @@ variable "cluster_autoscaling_max_memory_gb" {
344344
default = 10000
345345
}
346346

347+
variable "cluster_autoscaling_profile" {
348+
description = "Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster"
349+
type = string
350+
default = "BALANCED"
351+
}
352+
347353
# PostgreSQL
348354

349355
# Defaults

versions.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ terraform {
77
required_providers {
88
google = {
99
source = "hashicorp/google"
10-
version = "5.12.0"
10+
version = "5.16.0"
1111
}
1212
google-beta = {
1313
source = "hashicorp/google-beta"
14-
version = "5.12.0"
14+
version = "5.16.0"
1515
}
1616
kubernetes = {
1717
source = "hashicorp/kubernetes"

0 commit comments

Comments
 (0)