merge flake files
This commit is contained in:
@@ -1,34 +0,0 @@
|
||||
#cloud-config
|
||||
users:
|
||||
- name: workshop
|
||||
groups: [adm, docker]
|
||||
sudo: ['ALL=(ALL) NOPASSWD:ALL']
|
||||
shell: /bin/bash
|
||||
ssh_authorized_keys:
|
||||
- ${ssh_public_key}
|
||||
|
||||
packages:
|
||||
- docker.io
|
||||
- curl
|
||||
- git
|
||||
- jq
|
||||
|
||||
runcmd:
|
||||
# Setup Docker Swarm
|
||||
- systemctl enable docker
|
||||
- systemctl start docker
|
||||
- usermod -aG docker workshop
|
||||
- docker swarm init
|
||||
- docker network create -d overlay proxy
|
||||
|
||||
# Install abra
|
||||
- curl -fsSL https://install.abra.coopcloud.tech | bash
|
||||
- mv /root/.local/bin/abra /usr/local/bin/
|
||||
- chmod +x /usr/local/bin/abra
|
||||
|
||||
# Pre-configure abra server for this participant
|
||||
- sudo -u workshop mkdir -p /home/workshop/.abra/servers
|
||||
- sudo -u workshop abra server add ${participant_name}.${domain}
|
||||
|
||||
# Pre-setup Traefik
|
||||
- sudo -u workshop abra app new traefik --domain=traefik.${participant_name}.${domain} --server=${participant_name}.${domain}
|
||||
@@ -1,44 +0,0 @@
|
||||
locals {
|
||||
domain = "codecrispi.es"
|
||||
participants = [
|
||||
"hopper", "curie", "lovelace", "noether", "hamilton",
|
||||
"franklin", "johnson", "clarke", "goldberg", "liskov",
|
||||
"wing", "rosen", "shaw", "karp", "rich"
|
||||
]
|
||||
}
|
||||
|
||||
resource "hcloud_server" "participant" {
|
||||
for_each = toset(local.participants)
|
||||
|
||||
name = each.key
|
||||
image = "ubuntu-22.04"
|
||||
server_type = "cx21"
|
||||
location = "nbg1"
|
||||
|
||||
ssh_keys = [hcloud_ssh_key.workshop.id]
|
||||
|
||||
user_data = templatefile("${path.module}/cloud-init.yml", {
|
||||
participant_name = each.key
|
||||
domain = local.domain
|
||||
})
|
||||
}
|
||||
|
||||
resource "hcloud_dns_record" "participant_main" {
|
||||
for_each = toset(local.participants)
|
||||
|
||||
zone_id = var.dns_zone_id
|
||||
name = each.key
|
||||
type = "A"
|
||||
value = hcloud_server.participant[each.key].ipv4_address
|
||||
ttl = 60
|
||||
}
|
||||
|
||||
resource "hcloud_dns_record" "participant_wildcard" {
|
||||
for_each = toset(local.participants)
|
||||
|
||||
zone_id = var.dns_zone_id
|
||||
name = "*.${each.key}"
|
||||
type = "A"
|
||||
value = hcloud_server.participant[each.key].ipv4_address
|
||||
ttl = 60
|
||||
}
|
||||
Reference in New Issue
Block a user