# Configure the Packet Provider provider "packet" { } resource "packet_ssh_key" "k8s" { count = "${var.public_key_path != "" ? 1 : 0}" name = "kubernetes-${var.cluster_name}" public_key = "${chomp(file(var.public_key_path))}" } resource "packet_device" "k8s_master" { depends_on = ["packet_ssh_key.k8s"] count = "${var.number_of_k8s_masters}" hostname = "${var.cluster_name}-k8s-master-${count.index+1}" plan = "${var.plan_k8s_masters}" facility = "${var.facility}" operating_system = "${var.operating_system}" billing_cycle = "${var.billing_cycle}" project_id = "${var.packet_project_id}" tags = ["cluster-${var.cluster_name}", "k8s-cluster", "kube-master", "etcd", "kube-node"] } resource "packet_device" "k8s_master_no_etcd" { depends_on = ["packet_ssh_key.k8s"] count = "${var.number_of_k8s_masters_no_etcd}" hostname = "${var.cluster_name}-k8s-master-${count.index+1}" plan = "${var.plan_k8s_masters_no_etcd}" facility = "${var.facility}" operating_system = "${var.operating_system}" billing_cycle = "${var.billing_cycle}" project_id = "${var.packet_project_id}" tags = ["cluster-${var.cluster_name}", "k8s-cluster", "kube-master"] } resource "packet_device" "k8s_etcd" { depends_on = ["packet_ssh_key.k8s"] count = "${var.number_of_etcd}" hostname = "${var.cluster_name}-etcd-${count.index+1}" plan = "${var.plan_etcd}" facility = "${var.facility}" operating_system = "${var.operating_system}" billing_cycle = "${var.billing_cycle}" project_id = "${var.packet_project_id}" tags = ["cluster-${var.cluster_name}", "etcd"] } resource "packet_device" "k8s_node" { depends_on = ["packet_ssh_key.k8s"] count = "${var.number_of_k8s_nodes}" hostname = "${var.cluster_name}-k8s-node-${count.index+1}" plan = "${var.plan_k8s_nodes}" facility = "${var.facility}" operating_system = "${var.operating_system}" billing_cycle = "${var.billing_cycle}" project_id = "${var.packet_project_id}" tags = ["cluster-${var.cluster_name}", "k8s-cluster", "kube-node"] }