Removing multi-node config from terraform.

main
Thomas Hintz 2 weeks ago
parent 75cb5510f1
commit 052acf4173

@ -1,18 +0,0 @@
---
variant: flatcar
version: 1.1.0
passwd:
users:
- name: core
ssh_authorized_keys: ${ssh_keys}
storage:
files:
- path: /home/core/works
mode: 0755
contents:
inline: |
#!/bin/bash
set -euo pipefail
# This script demonstrates how templating and variable substitution works when using Terraform templates for Container Linux Configs.
hostname="$(hostname)"
echo My name is ${name} and the hostname is $${hostname} and this is updated, again 5x!

@ -1,4 +1,4 @@
mycluster-mynode.nassella.cc {
wg-easy.nassella.cc {
reverse_proxy http://wg-easy:80
# tls internal

@ -28,11 +28,6 @@ variable "do_token" {
type = string
}
variable "machines" {
type = list(string)
description = "Machine names, corresponding to machine-NAME.yaml.tmpl files"
}
variable "cluster_name" {
type = string
description = "Cluster name used as prefix for the machine names"
@ -99,24 +94,21 @@ resource "digitalocean_custom_image" "flatcar" {
}
resource "digitalocean_reserved_ip" "machine" {
for_each = toset(var.machines)
region = digitalocean_droplet.machine[each.key].region
region = digitalocean_droplet.machine.region
}
resource "cloudflare_dns_record" "machine" {
for_each = toset(var.machines)
zone_id = var.cloudflare_zone_id
name = "${var.cluster_name}-${each.key}"
content = digitalocean_reserved_ip.machine[each.key].ip_address
name = "wg-easy"
content = digitalocean_reserved_ip.machine.ip_address
type = "A"
proxied = false
ttl = 300
}
resource "digitalocean_volume" "machine" {
for_each = toset(var.machines)
region = var.datacenter
name = "${var.cluster_name}-${each.key}"
name = "${var.cluster_name}"
size = 30
initial_filesystem_type = "ext4"
initial_filesystem_label = "appstorage"
@ -124,57 +116,36 @@ resource "digitalocean_volume" "machine" {
}
resource "digitalocean_droplet" "machine" {
for_each = toset(var.machines)
name = "${var.cluster_name}-${each.key}"
name = "${var.cluster_name}"
image = digitalocean_custom_image.flatcar.id
region = var.datacenter
size = var.server_type
ssh_keys = [digitalocean_ssh_key.first.fingerprint]
# user_data = data.ct_config.machine-ignitions[each.key].rendered
user_data = file("flatcar/ignition.json")
lifecycle {
create_before_destroy = true
}
}
resource "time_sleep" "wait_5_seconds" {
create_duration = "5s"
resource "time_sleep" "wait_10_seconds" {
create_duration = "10s"
}
resource "digitalocean_reserved_ip_assignment" "machine" {
for_each = toset(var.machines)
ip_address = digitalocean_reserved_ip.machine[each.key].ip_address
droplet_id = digitalocean_droplet.machine[each.key].id
ip_address = digitalocean_reserved_ip.machine.ip_address
droplet_id = digitalocean_droplet.machine.id
# sometimes digital ocean throws an error for this resource
# saying the droplet has a pending event so we delay a few seconds
depends_on = [time_sleep.wait_5_seconds]
depends_on = [time_sleep.wait_10_seconds]
}
resource "digitalocean_volume_attachment" "machine" {
for_each = toset(var.machines)
droplet_id = digitalocean_droplet.machine[each.key].id
volume_id = digitalocean_volume.machine[each.key].id
}
# data "ct_config" "machine-ignitions" {
# for_each = toset(var.machines)
# content = templatefile("${path.module}/cl/machine-${each.key}.yaml.tmpl", {
# ssh_keys = jsonencode(var.ssh_keys),
# name = each.key
# })
# strict = true
# }
# output "ip-addresses" {
# value = {
# for key in var.machines :
# "${var.cluster_name}-${key}" => digitalocean_droplet.machine[key].ipv4_address
# }
# }
droplet_id = digitalocean_droplet.machine.id
volume_id = digitalocean_volume.machine.id
}
output "domain-mappings" {
value = {
for key in var.machines :
"${var.cluster_name}-${key}.${var.domain}" => digitalocean_reserved_ip.machine[key].ip_address
"wg-easy.${var.domain}" = digitalocean_reserved_ip.machine.ip_address
}
}

@ -7,7 +7,6 @@ cloudflare_zone_id = ""
cloudflare_account_id = ""
cluster_name = "mycluster"
machines = ["mynode"]
datacenter = "sfo3"
ssh_keys = [""] # paste contents of id_rsa.pub
flatcar_stable_version = "4230.2.1"

Loading…
Cancel
Save