self-hosting/terraform/main.tf

57 lines
1.5 KiB
Terraform
Raw Normal View History

2019-04-09 00:37:28 +02:00
locals {
2019-08-15 17:51:57 +02:00
environment = terraform.workspace != "" ? terraform.workspace : "test"
2019-04-09 00:37:28 +02:00
}
terraform {
backend "s3" {
2019-08-15 17:51:57 +02:00
bucket = "banditlair-k8s-tfstate"
key = "banditlair.tfstate"
region = "nl-ams"
endpoint = "https://s3.nl-ams.scw.cloud"
profile = "default"
2019-04-09 00:37:28 +02:00
skip_credentials_validation = true
2019-08-15 17:51:57 +02:00
skip_region_validation = true
2019-04-09 00:37:28 +02:00
}
}
2019-04-04 02:25:38 +02:00
provider "scaleway" {
2019-08-15 17:51:57 +02:00
region = var.region
2019-04-04 02:25:38 +02:00
}
data "scaleway_image" "ubuntu" {
2019-08-15 17:51:57 +02:00
architecture = var.architecture
name = var.image
2019-04-04 02:25:38 +02:00
}
resource "scaleway_server" "node" {
2019-08-15 17:51:57 +02:00
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
tags = ["${local.environment}-node"]
2019-04-04 02:25:38 +02:00
}
resource "scaleway_server" "master" {
2019-08-15 17:51:57 +02:00
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
tags = [
2019-04-09 00:37:28 +02:00
"${local.environment}-master",
2019-08-15 17:51:57 +02:00
"${local.environment}-etcd",
]
2019-04-04 02:25:38 +02:00
}
output "node_private_ips" {
2019-08-15 17:51:57 +02:00
value = [scaleway_server.node.*.private_ip]
2019-04-04 02:25:38 +02:00
}
output "master_private_ips" {
2019-08-15 17:51:57 +02:00
value = [scaleway_server.master.*.private_ip]
2019-04-04 02:25:38 +02:00
}