2019-04-09 00:37:28 +02:00
|
|
|
locals {
|
|
|
|
|
environment = "${terraform.workspace != "" ? terraform.workspace : "test"}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
terraform {
|
|
|
|
|
backend "s3" {
|
2019-06-15 22:53:23 +02:00
|
|
|
bucket = "banditlair-k8s-tfstate"
|
2019-04-09 00:37:28 +02:00
|
|
|
key = "k8s.tfstate"
|
|
|
|
|
region = "nl-ams"
|
|
|
|
|
endpoint = "https://s3.nl-ams.scw.cloud"
|
|
|
|
|
skip_credentials_validation = true
|
|
|
|
|
skip_region_validation = true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2019-04-04 02:25:38 +02:00
|
|
|
provider "scaleway" {
|
|
|
|
|
region = "${var.region}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
data "scaleway_image" "ubuntu" {
|
|
|
|
|
architecture = "${var.architecture}"
|
|
|
|
|
name = "${var.image}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource "scaleway_server" "node" {
|
|
|
|
|
count = "${var.node_instance_count}"
|
|
|
|
|
name = "node${count.index+1}"
|
|
|
|
|
image = "${data.scaleway_image.ubuntu.id}"
|
|
|
|
|
type = "${var.node_instance_type}"
|
|
|
|
|
state = "running"
|
|
|
|
|
dynamic_ip_required = true,
|
2019-04-09 00:37:28 +02:00
|
|
|
tags = ["${local.environment}-node"]
|
2019-04-04 02:25:38 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource "scaleway_server" "master" {
|
|
|
|
|
count = "${var.master_instance_count}"
|
|
|
|
|
name = "master${count.index+1}"
|
|
|
|
|
image = "${data.scaleway_image.ubuntu.id}"
|
|
|
|
|
type = "${var.master_instance_type}"
|
|
|
|
|
state = "running"
|
|
|
|
|
dynamic_ip_required = true,
|
2019-04-09 00:37:28 +02:00
|
|
|
tags = [
|
|
|
|
|
"${local.environment}-master",
|
|
|
|
|
"${local.environment}-etcd"
|
|
|
|
|
]
|
2019-04-04 02:25:38 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
output "node_private_ips" {
|
|
|
|
|
value = ["${scaleway_server.node.*.private_ip}"]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
output "master_private_ips" {
|
|
|
|
|
value = ["${scaleway_server.master.*.private_ip}"]
|
|
|
|
|
}
|
|
|
|
|
|