Allow the userdata template to be replaced (#565)

* Allow the userdata template to be replaced

* Address fmt issue

* Rename 'customer_userdata' name to 'userdata_template_file'

* Add support for userdata_template_extra_args

* Add support for userdata_template_extra_args

* fix merge conflicts

* Fix merge problem that dropped the file load
Add `platform` to the template expansion context
Add `userdata_launch_template` to `launch_template_userdata`
This commit is contained in:
Scott Stanton
2019-10-29 04:12:47 -07:00
committed by Max Williams
parent c46d5fcb00
commit 4f552891ff
3 changed files with 37 additions and 12 deletions

46
data.tf
View File

@@ -105,13 +105,18 @@ EOF
data "template_file" "userdata" {
count = local.worker_group_count
template = file(
lookup(var.worker_groups[count.index], "platform", local.workers_group_defaults["platform"]) == "windows" ?
"${path.module}/templates/userdata_windows.tpl" :
"${path.module}/templates/userdata.sh.tpl"
template = lookup(
var.worker_groups[count.index],
"userdata_template_file",
file(
lookup(var.worker_groups[count.index], "platform", local.workers_group_defaults["platform"]) == "windows"
? "${path.module}/templates/userdata_windows.tpl"
: "${path.module}/templates/userdata.sh.tpl"
)
)
vars = {
vars = merge({
platform = lookup(var.worker_groups[count.index], "platform", local.workers_group_defaults["platform"])
cluster_name = aws_eks_cluster.this.name
endpoint = aws_eks_cluster.this.endpoint
cluster_auth_base64 = aws_eks_cluster.this.certificate_authority[0].data
@@ -135,18 +140,29 @@ data "template_file" "userdata" {
"kubelet_extra_args",
local.workers_group_defaults["kubelet_extra_args"],
)
}
},
lookup(
var.worker_groups[count.index],
"userdata_template_extra_args",
local.workers_group_defaults["userdata_template_extra_args"]
)
)
}
data "template_file" "launch_template_userdata" {
count = local.worker_group_launch_template_count
template = file(
lookup(var.worker_groups_launch_template[count.index], "platform", local.workers_group_defaults["platform"]) == "windows" ?
"${path.module}/templates/userdata_windows.tpl" :
"${path.module}/templates/userdata.sh.tpl"
template = lookup(
var.worker_groups_launch_template[count.index],
"userdata_template_file",
file(
lookup(var.worker_groups_launch_template[count.index], "platform", local.workers_group_defaults["platform"]) == "windows"
? "${path.module}/templates/userdata_windows.tpl"
: "${path.module}/templates/userdata.sh.tpl"
)
)
vars = {
vars = merge({
platform = lookup(var.worker_groups_launch_template[count.index], "platform", local.workers_group_defaults["platform"])
cluster_name = aws_eks_cluster.this.name
endpoint = aws_eks_cluster.this.endpoint
cluster_auth_base64 = aws_eks_cluster.this.certificate_authority[0].data
@@ -170,7 +186,13 @@ data "template_file" "launch_template_userdata" {
"kubelet_extra_args",
local.workers_group_defaults["kubelet_extra_args"],
)
}
},
lookup(
var.worker_groups_launch_template[count.index],
"userdata_template_extra_args",
local.workers_group_defaults["userdata_template_extra_args"]
)
)
}
data "aws_iam_role" "custom_cluster_iam_role" {