devops/quadlets/main.tf

78 lines
1.9 KiB
HCL

variable "hcloud_token" {
description = "Hetzner Cloud API Token"
type = string
sensitive = true
}
variable "hdns_token" {
type = string
sensitive = true
}
variable "ssh_public_key_path" {
description = "Path to SSH public key"
type = string
}
variable "ssh_private_key_path" {
description = "Path to SSH private key"
type = string
}
variable "ghcr_username" {}
variable "ghcr_token" {}
module "hetzner" {
source = "./modules/hetzner"
hcloud_token = var.hcloud_token
ssh_public_key_path = var.ssh_public_key_path
ssh_private_key_path = var.ssh_private_key_path
name = "vw-hub"
datacenter = "nbg1-dc3"
hdns_token = var.hdns_token
ghcr_token = var.ghcr_token
ghcr_username = var.ghcr_username
}
module "minio" {
wait_on = module.hetzner.installed
source = "./modules/minio"
server_ip = module.hetzner.server_ip
server_domain = module.hetzner.server_domain
ssh_private_key_path = var.ssh_private_key_path
}
module "valkey" {
wait_on = module.hetzner.installed
source = "./modules/valkey"
server_ip = module.hetzner.server_ip
ssh_private_key_path = var.ssh_private_key_path
}
module "airsonic-advanced" {
wait_on = module.hetzner.installed
source = "./modules/airsonic-advanced"
server_ip = module.hetzner.server_ip
ssh_private_key_path = var.ssh_private_key_path
server_domain = module.hetzner.server_domain
}
module "mopidy" {
wait_on = module.hetzner.installed
source = "./modules/mopidy"
server_ip = module.hetzner.server_ip
ssh_private_key_path = var.ssh_private_key_path
server_domain = module.hetzner.server_domain
}
module "beets" {
wait_on = module.hetzner.installed
source = "./modules/beets"
server_ip = module.hetzner.server_ip
server_domain = module.hetzner.server_domain
ssh_private_key_path = var.ssh_private_key_path
}
output "minio_app_urls" {
value = module.minio.app_urls
}