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 }
+}