opentofu-demo-hcloud/main.tf
2026-03-12 22:39:59 +01:00

48 lines
1.1 KiB
HCL

terraform {
required_providers {
hcloud = {
source = "hetznercloud/hcloud"
version = "~> 1.60.1"
}
}
}
# Der Token sollte NIEMALS hart im Code stehen.
# Wir nutzen eine Variable dafür.
variable "hcloud_token" {
sensitive = true
}
provider "hcloud" {
token = var.hcloud_token
}
# 1. SSH-Key bei Hetzner registrieren (oder einen vorhandenen nutzen)
resource "hcloud_ssh_key" "default" {
name = "treff-key"
public_key = file("~/.ssh/id_ed25519.pub")
}
# 2. Den Server definieren
resource "hcloud_server" "web_server" {
name = "linux-treff-demo"
image = "fedora-43"
server_type = "cx23"
location = "nbg1" # Nürnberg
ssh_keys = [hcloud_ssh_key.default.id]
# Hier binden wir das Cloud-Init Skript ein
user_data = file("${path.module}/user_data.yaml")
# Optional: Labels für die Ordnung
labels = {
veranstaltung = "linuxtreff"
typ = "demo"
}
}
# Output der IP, damit man sich sofort verbinden kann
output "server_ip" {
value = hcloud_server.web_server.ipv4_address
}