Compare commits
3 Commits
b316d0baf8
...
4d0146d6c2
| Author | SHA1 | Date | |
|---|---|---|---|
| 4d0146d6c2 | |||
| 70e979eae7 | |||
| a3bdb3f81b |
@ -59,6 +59,8 @@ write_files:
|
|||||||
sleep 20
|
sleep 20
|
||||||
if [ "$RUN_MIGRATIONS" = "true" ]; then
|
if [ "$RUN_MIGRATIONS" = "true" ]; then
|
||||||
$COMPOSE exec -T php php bin/console doctrine:migrations:migrate --no-interaction || true
|
$COMPOSE exec -T php php bin/console doctrine:migrations:migrate --no-interaction || true
|
||||||
|
# Erst-Befüllung (idempotent: überspringt, wenn admin@vcard4reseller.de existiert)
|
||||||
|
$COMPOSE exec -T php php bin/console app:seed || true
|
||||||
fi
|
fi
|
||||||
$COMPOSE exec -T php php bin/console cache:clear || true
|
$COMPOSE exec -T php php bin/console cache:clear || true
|
||||||
runcmd:
|
runcmd:
|
||||||
|
|||||||
@ -1,32 +1,28 @@
|
|||||||
# Optional: DNS-Records über die Hetzner DNS API anlegen (manage_dns = true).
|
# DNS über die Hetzner Cloud DNS API (manage_dns = true) — gleicher Cloud-Token,
|
||||||
# Voraussetzung: Zone liegt bei Hetzner DNS, separater DNS-API-Token.
|
# DNS ist inzwischen in die Cloud-API integriert. Die Zone muss bereits in
|
||||||
|
# Hetzner DNS existieren (Lookup per Name).
|
||||||
|
|
||||||
data "hetznerdns_zone" "zone" {
|
data "hcloud_zone" "zone" {
|
||||||
count = var.manage_dns ? 1 : 0
|
count = var.manage_dns ? 1 : 0
|
||||||
name = var.dns_zone_name
|
name = var.dns_zone_name
|
||||||
}
|
}
|
||||||
|
|
||||||
locals {
|
# Portal-Domain (Apex "@" wenn domain == zone, sonst Subdomain-Teil) → Caddy
|
||||||
# Relativer Record-Name: "@" wenn Portal == Zone, sonst der Subdomain-Teil
|
resource "hcloud_zone_rrset" "portal" {
|
||||||
portal_record_name = var.domain == var.dns_zone_name ? "@" : replace(var.domain, ".${var.dns_zone_name}", "")
|
|
||||||
}
|
|
||||||
|
|
||||||
# Portal-Domain → Caddy
|
|
||||||
resource "hetznerdns_record" "portal" {
|
|
||||||
count = var.manage_dns ? 1 : 0
|
count = var.manage_dns ? 1 : 0
|
||||||
zone_id = data.hetznerdns_zone.zone[0].id
|
zone = data.hcloud_zone.zone[0].id
|
||||||
name = local.portal_record_name
|
name = var.domain == var.dns_zone_name ? "@" : replace(var.domain, ".${var.dns_zone_name}", "")
|
||||||
type = "A"
|
type = "A"
|
||||||
value = hcloud_server.caddy.ipv4_address
|
|
||||||
ttl = 300
|
ttl = 300
|
||||||
|
records = [{ value = hcloud_server.caddy.ipv4_address }]
|
||||||
}
|
}
|
||||||
|
|
||||||
# Wildcard für Firmen-Subdomains (KONZEPT §11) → Caddy (On-Demand-TLS)
|
# Wildcard für Firmen-Subdomains (KONZEPT §11) → Caddy (On-Demand-TLS)
|
||||||
resource "hetznerdns_record" "wildcard" {
|
resource "hcloud_zone_rrset" "wildcard" {
|
||||||
count = var.manage_dns ? 1 : 0
|
count = var.manage_dns ? 1 : 0
|
||||||
zone_id = data.hetznerdns_zone.zone[0].id
|
zone = data.hcloud_zone.zone[0].id
|
||||||
name = "*"
|
name = "*"
|
||||||
type = "A"
|
type = "A"
|
||||||
value = hcloud_server.caddy.ipv4_address
|
|
||||||
ttl = 300
|
ttl = 300
|
||||||
|
records = [{ value = hcloud_server.caddy.ipv4_address }]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,11 +3,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
hcloud = {
|
hcloud = {
|
||||||
source = "hetznercloud/hcloud"
|
source = "hetznercloud/hcloud"
|
||||||
version = "~> 1.48"
|
version = "~> 1.64" # >= 1.64 für integriertes DNS (hcloud_zone_rrset)
|
||||||
}
|
|
||||||
hetznerdns = {
|
|
||||||
source = "germanbrew/hetznerdns"
|
|
||||||
version = "~> 3.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -15,7 +11,3 @@ terraform {
|
|||||||
provider "hcloud" {
|
provider "hcloud" {
|
||||||
token = var.hcloud_token
|
token = var.hcloud_token
|
||||||
}
|
}
|
||||||
|
|
||||||
provider "hetznerdns" {
|
|
||||||
api_token = var.hetzner_dns_token
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user