76 lines
1.9 KiB
Terraform
76 lines
1.9 KiB
Terraform
![]() |
resource "matchbox_group" "server" {
|
||
|
name = "server"
|
||
|
profile = matchbox_profile.server.name
|
||
|
selector = {
|
||
|
#mac = "52:54:00:c5:88:ad"
|
||
|
mac = "c0:3f:d5:6a:02:a3"
|
||
|
}
|
||
|
}
|
||
|
resource "matchbox_profile" "server" {
|
||
|
name = "server"
|
||
|
kernel = local.kernel
|
||
|
initrd = [
|
||
|
"--name main ${local.initrd}"
|
||
|
]
|
||
|
args = [
|
||
|
"ip=dhcp",
|
||
|
"initrd=main",
|
||
|
"coreos.live.rootfs_url=${local.rootfs}",
|
||
|
"coreos.inst.install_dev=/dev/sda",
|
||
|
"coreos.inst.ignition_url=${var.matchbox_http_endpoint}/ignition?uuid=$${uuid}&mac=$${mac:hexhyp}",
|
||
|
"console=tty0",
|
||
|
"console=ttyS0",
|
||
|
]
|
||
|
raw_ignition = data.ignition_config.server.rendered
|
||
|
}
|
||
|
|
||
|
data "ignition_config" "server" {
|
||
|
users = [
|
||
|
data.ignition_user.core.rendered
|
||
|
]
|
||
|
systemd = [
|
||
|
#data.ignition_systemd_unit.qemu_ga.rendered,
|
||
|
data.ignition_systemd_unit.k3s_server_install.rendered,
|
||
|
]
|
||
|
files = [
|
||
|
# data.ignition_file.worker-options.rendered,
|
||
|
data.ignition_file.k3s_server_install_script.rendered,
|
||
|
data.ignition_file.k3s_server_hostname.rendered,
|
||
|
data.ignition_file.k3s_server_updates.rendered,
|
||
|
]
|
||
|
}
|
||
|
|
||
|
data "ignition_file" "k3s_server_updates" {
|
||
|
path = "/etc/zincati/config.d/55-updates-strategy.toml"
|
||
|
content {
|
||
|
content = file("${path.module}/files/55-updates-strategy.toml")
|
||
|
}
|
||
|
}
|
||
|
data "ignition_file" "k3s_server_install_script" {
|
||
|
path = "/opt/k3s-server-install.sh"
|
||
|
mode = 700
|
||
|
content {
|
||
|
content = templatefile(
|
||
|
"${path.module}/files/k3s-server-install.sh",
|
||
|
{
|
||
|
"k3s_token" = var.k3s_agent_token
|
||
|
}
|
||
|
)
|
||
|
}
|
||
|
}
|
||
|
data "ignition_systemd_unit" "k3s_server_install" {
|
||
|
name = "k3s-install.service"
|
||
|
depends_on = [
|
||
|
data.ignition_file.k3s_server_install_script
|
||
|
]
|
||
|
content = file("${path.module}/units/k3s-server-install.service")
|
||
|
}
|
||
|
|
||
|
data "ignition_file" "k3s_server_hostname" {
|
||
|
path = "/etc/hostname"
|
||
|
mode = 0644
|
||
|
content {
|
||
|
content = "kubemaster0.lab.cowley.tech"
|
||
|
}
|
||
|
}
|