From 8be40136e4abf425db66a2b5fad9a3817d2a7eae Mon Sep 17 00:00:00 2001 From: Melchior Reimers Date: Wed, 4 Feb 2026 13:33:02 +0100 Subject: [PATCH] added missing vars --- .gitea/workflows/deploy.yaml | 55 ++++++++++++++++-------------------- main.tf | 11 ++++++++ 2 files changed, 36 insertions(+), 30 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 6178798..c448699 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -17,35 +17,30 @@ jobs: # Wir übergeben die Secrets als Environment-Variablen an den SSH-Befehl envs: HETZNER_TOKEN script: | - set-e - mkdir -p /root/iac - cd /root/iac - - # Repository aktualisieren - if [ ! -d ".git" ]; then - git clone https://git.bana.space/krumbelfix/iac.git . - else - git pull origin main - fi - - # Sicherstellen, dass die Datei existiert - mkdir -p ./hetzner - touch ./hetzner/terraform.tfvars - - # Token suchen und ersetzen oder hinzufügen - # Wir nutzen doppelte Anführungszeichen für den Bash-String und - # einfache für den sed-Befehl, um Konflikte zu vermeiden. - if grep -q "hcloud_token =" ./hetzner/terraform.tfvars; then - sed -i "s|^hcloud_token =.*|hcloud_token = \"${HETZNER_TOKEN}\"|" ./hetzner/terraform.tfvars - else - echo "hcloud_token = \"${HETZNER_TOKEN}\"" >> ./hetzner/terraform.tfvars - fi - - # Terraform - terraform init - terraform plan - terraform apply -auto-approve - - echo "Deployment successful" + set -e + mkdir -p /root/iac + cd /root/iac + + # Repository aktualisieren + if [ ! -d ".git" ]; then + git clone https://git.bana.space/krumbelfix/iac.git . + else + git pull origin main + fi + + # Datei komplett neu schreiben (verhindert Syntax-Chaos) + # Wir schreiben hier alle benötigten Variablen sauber rein + cat < ./hetzner/terraform.tfvars + hcloud_token = "${HETZNER_TOKEN}" + distro_id = "ubuntu" + EOF + + # Terraform ausführen + # Wir geben die Datei explizit mit -var-file an, um sicherzugehen + terraform init + terraform plan -var-file="./hetzner/terraform.tfvars" + terraform apply -auto-approve -var-file="./hetzner/terraform.tfvars" + + echo "Deployment successful" env: HETZNER_TOKEN : ${{ secrets.HETZNER_TOKEN }} diff --git a/main.tf b/main.tf index 1b779fd..1eab646 100644 --- a/main.tf +++ b/main.tf @@ -10,6 +10,7 @@ locals { username = var.username ssh_public_key = var.ssh_public_key distro_id = vars.distro_id + }) } @@ -73,4 +74,14 @@ resource "hcloud_firewall" "vps" { resource "hcloud_firewall_attachment" "vps" { firewall_id = hcloud_firewall.vps.id server_ids = [hcloud_server.vps.id] +} +variable "distro_id" { + type = string + default = "ubuntu" +} + +variable "hcloud_token" { + description = "Hetzner Cloud API token" + type = string + sensitive = true } \ No newline at end of file