108a6297e9
* Update parsing of terraform state file for 0.12.12 * Resource does not seem to have a module element but instead has provider * Return the boolean right way if it is already a bool since a bool does not have an lower method * Remove the setting of ansible_ssh_user to root for all Packet Not all servers in packet are accessed as root by default. CoreOS systems use the `core` user. Removing this allows the user to specify the remote user with an extra_var or in an ansible.cfg file. * Default to root user for packet devices except on CoreOS * Update TF_VERSION for packet in tf-validate-packet Update TV_VERSION to 0.12.12 for gitlab-ci tf-validate-packet tests * convert packet terraform files to TV_VERSION 4 * initalize terraform before copying the variable file to the top level dir
63 lines
2.1 KiB
HCL
63 lines
2.1 KiB
HCL
# Configure the Packet Provider
|
|
provider "packet" {
|
|
version = "~> 2.0"
|
|
}
|
|
|
|
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
|
|
facilities = [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
|
|
facilities = [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
|
|
facilities = [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
|
|
facilities = [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"]
|
|
}
|
|
|