yesod-mirror/k8s/bootstrap/cluster.tf

96 lines
3.9 KiB
Terraform
Raw Permalink Normal View History

module "dominion" {
# kube: v1.32.3
source = "git::https://github.com/poseidon/typhoon//bare-metal/flatcar-linux/kubernetes?ref=4c2c6d5029a51ed6fa04f61e6c7bb0db2ac03679"
# bare-metal
cluster_name = "dominion"
matchbox_http_endpoint = "http://matchbox.dominion.lan:8080"
os_channel = "flatcar-stable"
#os_version = "4081.2.1"
os_version = "4152.2.2"
# configuration
k8s_domain_name = "k8s.dominion.lan"
ssh_authorized_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpnYmsUDSkhvy1imOLee/3qlySIRUn9kKkTGaet2wjNSQ4n8muFhjMtXI6+qWW0Vv6edY4MLEwegXGbaZA/7yAbSOpPmQ+Z4d0GE1Kns/1OoTt5XhXpr8OhgqPL3S/foqQlf5RXywlqzYJkJL0yk1jg2CguIYVMTE4aJwd0Mt2t25fwzEuDvSGJ41wVWrueKy6EELYXbQ5FMcN/bZLERNLGp4hTsdXdBtSX7vq0VC+qG+EmTTXOt5+DvWu6UkLq8Mb1540Mi3AK7+vsXUTPghIS7BLLrU8bb4QQ0z0IZjI39wXeSegoPRt6y2f0yrBR+S+vQ1qrGB1riYZ6f4ZUzQh acmcarther@gmail.com"
cached_install = "false"
# machines
controllers = [
{
name = "controller1"
#mac = "b8:ae:ed:7d:c3:56"
mac = "94:c6:91:19:c0:2a",
domain = "controller1.dominion.lan"
}
]
workers = [
{
name = "worker1"
mac = "94:c6:91:19:8e:98"
domain = "worker1.dominion.lan"
},
{
name = "worker2",
#mac = "94:c6:91:19:c0:2a",
mac = "b8:ae:ed:7d:c3:56"
domain = "worker2.dominion.lan",
},
]
# set to http only if you cannot chainload to iPXE firmware with https support
# (I can't)
download_protocol = "http"
}
# Separate because it has a different install disk
module "dominion-big-worker-1" {
source = "git::https://github.com/poseidon/typhoon//bare-metal/flatcar-linux/kubernetes/worker?ref=4c2c6d5029a51ed6fa04f61e6c7bb0db2ac03679"
# bare metal
cluster_name = "dominion"
matchbox_http_endpoint = "http://matchbox.dominion.lan:8080"
os_channel = "flatcar-stable"
os_version = "4152.2.1"
# configuration
name = "big-worker-1"
mac = "f4:6b:8c:90:1f:3f"
domain = "big-worker-1.dominion.lan"
kubeconfig = module.dominion.kubeconfig
ssh_authorized_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpnYmsUDSkhvy1imOLee/3qlySIRUn9kKkTGaet2wjNSQ4n8muFhjMtXI6+qWW0Vv6edY4MLEwegXGbaZA/7yAbSOpPmQ+Z4d0GE1Kns/1OoTt5XhXpr8OhgqPL3S/foqQlf5RXywlqzYJkJL0yk1jg2CguIYVMTE4aJwd0Mt2t25fwzEuDvSGJ41wVWrueKy6EELYXbQ5FMcN/bZLERNLGp4hTsdXdBtSX7vq0VC+qG+EmTTXOt5+DvWu6UkLq8Mb1540Mi3AK7+vsXUTPghIS7BLLrU8bb4QQ0z0IZjI39wXeSegoPRt6y2f0yrBR+S+vQ1qrGB1riYZ6f4ZUzQh acmcarther@gmail.com"
cached_install = "false"
install_disk = "/dev/nvme0n1"
download_protocol = "http"
}
module "dominion-conscript-1" {
source = "git::https://github.com/poseidon/typhoon//bare-metal/flatcar-linux/kubernetes/worker?ref=4c2c6d5029a51ed6fa04f61e6c7bb0db2ac03679"
# bare metal
cluster_name = "dominion"
matchbox_http_endpoint = "http://matchbox.dominion.lan:8080"
os_channel = "flatcar-stable"
os_version = "4152.2.1"
# configuration
name = "conscript-1"
// "Alex-PC"
mac = "08:62:66:7F:5C:8E"
domain = "conscript-1.dominion.lan"
kubeconfig = module.dominion.kubeconfig
ssh_authorized_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpnYmsUDSkhvy1imOLee/3qlySIRUn9kKkTGaet2wjNSQ4n8muFhjMtXI6+qWW0Vv6edY4MLEwegXGbaZA/7yAbSOpPmQ+Z4d0GE1Kns/1OoTt5XhXpr8OhgqPL3S/foqQlf5RXywlqzYJkJL0yk1jg2CguIYVMTE4aJwd0Mt2t25fwzEuDvSGJ41wVWrueKy6EELYXbQ5FMcN/bZLERNLGp4hTsdXdBtSX7vq0VC+qG+EmTTXOt5+DvWu6UkLq8Mb1540Mi3AK7+vsXUTPghIS7BLLrU8bb4QQ0z0IZjI39wXeSegoPRt6y2f0yrBR+S+vQ1qrGB1riYZ6f4ZUzQh acmcarther@gmail.com"
cached_install = "false"
// TODO: Can we use the default?
//install_disk = "/dev/nvme0n1"
download_protocol = "http"
}
resource "local_file" "kubeconfig-dominion" {
content = module.dominion.kubeconfig-admin
#filename = "/home/acmcarther/.kube/configs/dominion-config"
filename = "/Users/acmcarther/.kube/configs/dominion-config"
}