Reorganize structure of Terraform manifests

This commit is contained in:
Dennis Hoppe 2022-01-13 10:01:59 +01:00
parent 01d568baf1
commit 453bdb0be5
No known key found for this signature in database
GPG Key ID: F0DCF4EC6237CDD2
4 changed files with 63 additions and 67 deletions

16
locals.tf Normal file
View File

@ -0,0 +1,16 @@
locals {
first_control_plane_network_ip = cidrhost(hcloud_network.k3s.ip_range, 2)
ssh_public_key = trimspace(file(var.public_key))
hcloud_image_name = "ubuntu-20.04"
k3os_install_commands = [
"apt install -y grub-efi grub-pc-bin mtools xorriso",
"latest=$(curl -s https://api.github.com/repos/rancher/k3os/releases | jq '.[0].tag_name')",
"curl -Lo ./install.sh https://raw.githubusercontent.com/rancher/k3os/$(echo $latest | xargs)/install.sh",
"chmod +x ./install.sh",
"./install.sh --config /tmp/config.yaml /dev/sda https://github.com/rancher/k3os/releases/download/$(echo $latest | xargs)/k3os-amd64.iso",
"shutdown -r +1",
"sleep 3",
"exit 0"
]
}

67
main.tf
View File

@ -1,52 +1,3 @@
variable "hcloud_token" {
description = "Hetzner API tokey"
type = string
}
variable "public_key" {
description = "SSH public Key."
type = string
}
variable "private_key" {
description = "SSH private Key."
type = string
}
variable "location" {
description = "Default server location"
type = string
}
variable "control_plane_server_type" {
description = "Default control plane server type"
type = string
}
variable "agent_server_type" {
description = "Default agent server type"
type = string
}
variable "lb_server_type" {
description = "Default load balancer server type"
type = string
}
variable "servers_num" {
description = "Number of control plane nodes."
type = number
}
variable "agents_num" {
description = "Number of agent nodes."
type = number
}
provider "hcloud" {
token = var.hcloud_token
}
resource "random_password" "k3s_token" { resource "random_password" "k3s_token" {
length = 48 length = 48
special = false special = false
@ -193,24 +144,6 @@ resource "hcloud_firewall" "k3s" {
} }
locals {
first_control_plane_network_ip = cidrhost(hcloud_network.k3s.ip_range, 2)
ssh_public_key = trimspace(file(var.public_key))
hcloud_image_name = "ubuntu-20.04"
k3os_install_commands = [
"apt install -y grub-efi grub-pc-bin mtools xorriso",
"latest=$(curl -s https://api.github.com/repos/rancher/k3os/releases | jq '.[0].tag_name')",
"curl -Lo ./install.sh https://raw.githubusercontent.com/rancher/k3os/$(echo $latest | xargs)/install.sh",
"chmod +x ./install.sh",
"./install.sh --config /tmp/config.yaml /dev/sda https://github.com/rancher/k3os/releases/download/$(echo $latest | xargs)/k3os-amd64.iso",
"shutdown -r +1",
"sleep 3",
"exit 0"
]
}
data "hcloud_image" "linux" { data "hcloud_image" "linux" {
name = local.hcloud_image_name name = local.hcloud_image_name
} }

3
providers.tf Normal file
View File

@ -0,0 +1,3 @@
provider "hcloud" {
token = var.hcloud_token
}

44
variables.tf Normal file
View File

@ -0,0 +1,44 @@
variable "hcloud_token" {
description = "Hetzner API tokey"
type = string
}
variable "public_key" {
description = "SSH public Key."
type = string
}
variable "private_key" {
description = "SSH private Key."
type = string
}
variable "location" {
description = "Default server location"
type = string
}
variable "control_plane_server_type" {
description = "Default control plane server type"
type = string
}
variable "agent_server_type" {
description = "Default agent server type"
type = string
}
variable "lb_server_type" {
description = "Default load balancer server type"
type = string
}
variable "servers_num" {
description = "Number of control plane nodes."
type = number
}
variable "agents_num" {
description = "Number of agent nodes."
type = number
}