Skip to content

Commit 775ef58

Browse files
committed
Add support for setting node pool metadata key/value pairs.
1 parent 2e83582 commit 775ef58

File tree

5 files changed

+24
-0
lines changed

5 files changed

+24
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
Session.vim
2020
.netrwhist
2121

22+
# IntelliJ IDEA files:
23+
.idea/
24+
2225
### https://raw.github.com/github/gitignore/90f149de451a5433aebd94d02d11b0e28843a1af/Terraform.gitignore
2326

2427
# Local .terraform directories

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ module "gke" {
5151
}
5252
}
5353
54+
node_pools_metadata = {
55+
all = {}
56+
57+
default-node-pool = {
58+
shutdown-script = "${file(var.kube_shutdown_script)}"
59+
}
60+
}
61+
5462
node_pools_taints = {
5563
all = []
5664
@@ -105,6 +113,7 @@ Then perform the following commands on the root folder:
105113
| network_project_id | The project ID of the shared VPC's host (for shared vpc support) | string | `` | no |
106114
| node_pools | List of maps containing node pools | list | `<list>` | no |
107115
| node_pools_labels | Map of maps containing node labels by node-pool name | map | `<map>` | no |
116+
| node_pools_metadata | Map of maps containing node metadata by node-pool name | map | `<map>` | no |
108117
| node_pools_tags | Map of lists containing node network tags by node-pool name | map | `<map>` | no |
109118
| node_pools_taints | Map of lists containing node taints by node-pool name | map | `<map>` | no |
110119
| node_version | The Kubernetes version of the node pools. Defaults kubernetes_version (master) variable and can be overridden for individual node pools by setting the `version` key on them. Must be empyty or set the same as master at cluster creation. | string | `` | no |

cluster_regional.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ resource "google_container_node_pool" "pools" {
109109
image_type = "${lookup(var.node_pools[count.index], "image_type", "COS")}"
110110
machine_type = "${lookup(var.node_pools[count.index], "machine_type", "n1-standard-2")}"
111111
labels = "${merge(map("cluster_name", var.name), map("node_pool", lookup(var.node_pools[count.index], "name")), var.node_pools_labels["all"], var.node_pools_labels[lookup(var.node_pools[count.index], "name")])}"
112+
metadata = "${merge(map("cluster_name", var.name), map("node_pool", lookup(var.node_pools[count.index], "name")), var.node_pools_metadata["all"], var.node_pools_metadata[lookup(var.node_pools[count.index], "name")])}"
112113
taint = "${concat(var.node_pools_taints["all"], var.node_pools_taints[lookup(var.node_pools[count.index], "name")])}"
113114
tags = "${concat(list("gke-${var.name}"), list("gke-${var.name}-${lookup(var.node_pools[count.index], "name")}"), var.node_pools_tags["all"], var.node_pools_tags[lookup(var.node_pools[count.index], "name")])}"
114115

cluster_zonal.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ resource "google_container_node_pool" "zonal_pools" {
109109
image_type = "${lookup(var.node_pools[count.index], "image_type", "COS")}"
110110
machine_type = "${lookup(var.node_pools[count.index], "machine_type", "n1-standard-2")}"
111111
labels = "${merge(map("cluster_name", var.name), map("node_pool", lookup(var.node_pools[count.index], "name")), var.node_pools_labels["all"], var.node_pools_labels[lookup(var.node_pools[count.index], "name")])}"
112+
metadata = "${merge(map("cluster_name", var.name), map("node_pool", lookup(var.node_pools[count.index], "name")), var.node_pools_metadata["all"], var.node_pools_metadata[lookup(var.node_pools[count.index], "name")])}"
112113
taint = "${concat(var.node_pools_taints["all"], var.node_pools_taints[lookup(var.node_pools[count.index], "name")])}"
113114
tags = "${concat(list("gke-${var.name}"), list("gke-${var.name}-${lookup(var.node_pools[count.index], "name")}"), var.node_pools_tags["all"], var.node_pools_tags[lookup(var.node_pools[count.index], "name")])}"
114115

variables.tf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,16 @@ variable "node_pools_labels" {
138138
}
139139
}
140140

141+
variable "node_pools_metadata" {
142+
type = "map"
143+
description = "Map of maps containing node metadata by node-pool name"
144+
145+
default = {
146+
all = {}
147+
default-node-pool = {}
148+
}
149+
}
150+
141151
variable "node_pools_taints" {
142152
type = "map"
143153
description = "Map of lists containing node taints by node-pool name"

0 commit comments

Comments
 (0)