added missing vars
Some checks failed
Deployment / deploy-docker (push) Failing after 5s

This commit is contained in:
Melchior Reimers
2026-02-04 13:33:02 +01:00
parent ab248c4dbe
commit 8be40136e4
2 changed files with 36 additions and 30 deletions

View File

@@ -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 <<EOF > ./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 }}

11
main.tf
View File

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