Import
This commit is contained in:
commit
006bd84f60
4 changed files with 154 additions and 0 deletions
48
main.tf
Normal file
48
main.tf
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
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
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue