From 0864eedc9e6f3e52e5f7cf3077540490513a8a3e Mon Sep 17 00:00:00 2001 From: Tine <tine@tjo.space> Date: Thu, 6 Mar 2025 20:31:24 +0100 Subject: [PATCH] feat(id.tjo.space): changes --- id.tjo.space/install.sh | 3 +++ id.tjo.space/justfile | 13 ++++++++++--- id.tjo.space/terraform/main.tf | 6 +++--- id.tjo.space/terraform/ouputs.tf | 7 +++++++ 4 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 id.tjo.space/terraform/ouputs.tf diff --git a/id.tjo.space/install.sh b/id.tjo.space/install.sh index fc150a3..3a534e1 100755 --- a/id.tjo.space/install.sh +++ b/id.tjo.space/install.sh @@ -28,3 +28,6 @@ ufw allow 22/tcp # SSH ufw allow 443/tcp # HTTPS ufw allow 636/tcp # LDAPS ufw enable + +echo "=== Setup Containers" +cp -r /id.tjo.space/containers /etc/containers/systemd/ diff --git a/id.tjo.space/justfile b/id.tjo.space/justfile index 5116ae1..5875c20 100644 --- a/id.tjo.space/justfile +++ b/id.tjo.space/justfile @@ -63,13 +63,20 @@ outputs: cd {{source_directory()}}/terraform tofu output -configure: +ssh node: + #!/usr/bin/env sh + pushd {{source_directory()}}/terraform > /dev/null + IPV4=$(tofu output -json | jq -r '.ipv4[{{node}}]') + popd > /dev/null + ssh root@${IPV4} + +configure node: #!/usr/bin/env sh set -eou pipefail pushd {{source_directory()}}/terraform > /dev/null - IPV4=$(tofu output -json | jq -r '.ipv4') + IPV4=$(tofu output -json | jq -r '.ipv4[{{node}}]') popd > /dev/null echo "= Provisioning id.tjo.space" - cat install.sh | ssh ubuntu@${IPV4} 'sudo bash -s' + cat install.sh | ssh root@${IPV4} 'sudo bash -s' diff --git a/id.tjo.space/terraform/main.tf b/id.tjo.space/terraform/main.tf index c6a7378..7384eaf 100644 --- a/id.tjo.space/terraform/main.tf +++ b/id.tjo.space/terraform/main.tf @@ -26,7 +26,7 @@ resource "hcloud_server" "main" { user_data = <<-EOF #cloud-config - hostname: ${each.key} + hostname: "${each.key}" fqdn: id.tjo.space prefer_fqdn_over_hostname: true packages: @@ -40,8 +40,8 @@ resource "hcloud_server" "main" { filename: /swapfile size: 512M runcmd: - - bash <(curl -s https://raw.githubusercontent.com/tjo-space/tjo-space-infrastructure/refs/heads/main/install.sh) - EOF + - "curl -sL https://raw.githubusercontent.com/tjo-space/tjo-space-infrastructure/refs/heads/main/id.tjo.space/install.sh | bash" + EOF } resource "dnsimple_zone_record" "a" { diff --git a/id.tjo.space/terraform/ouputs.tf b/id.tjo.space/terraform/ouputs.tf new file mode 100644 index 0000000..77b0b65 --- /dev/null +++ b/id.tjo.space/terraform/ouputs.tf @@ -0,0 +1,7 @@ +output "ipv4" { + value = { for node in var.nodes: node => hcloud_server.main[node].ipv4_address } +} + +output "ipv6" { + value = { for node in var.nodes: node => hcloud_server.main[node].ipv6_address } +}