diff --git a/bare-metal/container-linux/kubernetes/groups.tf b/bare-metal/container-linux/kubernetes/groups.tf index 5d587f236..6a467af37 100644 --- a/bare-metal/container-linux/kubernetes/groups.tf +++ b/bare-metal/container-linux/kubernetes/groups.tf @@ -3,7 +3,7 @@ resource "matchbox_group" "install" { name = "${format("install-%s", element(concat(var.controller_names, var.worker_names), count.index))}" - profile = "${local.flavor == "flatcar" ? element(matchbox_profile.flatcar-install.*.name, count.index) : var.cached_install == "true" ? element(matchbox_profile.cached-container-linux-install.*.name, count.index) : element(matchbox_profile.container-linux-install.*.name, count.index)}" + profile = "${local.flavor == "flatcar" ? var.cached_install == "true" ? element(matchbox_profile.cached-flatcar-linux-install.*.name, count.index) : element(matchbox_profile.flatcar-install.*.name, count.index) : var.cached_install == "true" ? element(matchbox_profile.cached-container-linux-install.*.name, count.index) : element(matchbox_profile.container-linux-install.*.name, count.index)}" selector { mac = "${element(concat(var.controller_macs, var.worker_macs), count.index)}" diff --git a/bare-metal/container-linux/kubernetes/profiles.tf b/bare-metal/container-linux/kubernetes/profiles.tf index 51e5977c5..1b95bb555 100644 --- a/bare-metal/container-linux/kubernetes/profiles.tf +++ b/bare-metal/container-linux/kubernetes/profiles.tf @@ -49,7 +49,7 @@ data "template_file" "container-linux-install-configs" { } // Container Linux Install profile (from matchbox /assets cache) -// Note: Admin must have downloaded os_version into matchbox assets. +// Note: Admin must have downloaded os_version into matchbox assets/coreos. resource "matchbox_profile" "cached-container-linux-install" { count = "${length(var.controller_names) + length(var.worker_names)}" name = "${format("%s-cached-container-linux-install-%s", var.cluster_name, element(concat(var.controller_names, var.worker_names), count.index))}" @@ -87,7 +87,7 @@ data "template_file" "cached-container-linux-install-configs" { ssh_authorized_key = "${var.ssh_authorized_key}" # profile uses -b baseurl to install from matchbox cache - baseurl_flag = "-b ${var.matchbox_http_endpoint}/assets/coreos" + baseurl_flag = "-b ${var.matchbox_http_endpoint}/assets/${local.flavor}" } } @@ -114,6 +114,30 @@ resource "matchbox_profile" "flatcar-install" { container_linux_config = "${element(data.template_file.container-linux-install-configs.*.rendered, count.index)}" } +// Flatcar Linux Install profile (from matchbox /assets cache) +// Note: Admin must have downloaded os_version into matchbox assets/flatcar. +resource "matchbox_profile" "cached-flatcar-linux-install" { + count = "${length(var.controller_names) + length(var.worker_names)}" + name = "${format("%s-cached-flatcar-linux-install-%s", var.cluster_name, element(concat(var.controller_names, var.worker_names), count.index))}" + + kernel = "/assets/flatcar/${var.os_version}/flatcar_production_pxe.vmlinuz" + + initrd = [ + "/assets/flatcar/${var.os_version}/flatcar_production_pxe_image.cpio.gz", + ] + + args = [ + "initrd=flatcar_production_pxe_image.cpio.gz", + "flatcar.config.url=${var.matchbox_http_endpoint}/ignition?uuid=$${uuid}&mac=$${mac:hexhyp}", + "flatcar.first_boot=yes", + "console=tty0", + "console=ttyS0", + "${var.kernel_args}", + ] + + container_linux_config = "${element(data.template_file.cached-container-linux-install-configs.*.rendered, count.index)}" +} + // Kubernetes Controller profiles resource "matchbox_profile" "controllers" { count = "${length(var.controller_names)}"