terraform { required_providers { proxmox = { source = "bpg/proxmox" version = ">= 0.70.0" } } required_version = ">=1.6.2" } provider "proxmox" { endpoint = var.pve_api_base_url api_token = var.pve_api_token } # module "netboot_server" { # source = "./modules/netboot_server" # hostname = "netboot_server" # prod_network_name = var.admin_network_name # dhcp_iface = "ens18" # dhcp_server_ip_addr = cidrhost(var.admin_network_prefix, 2) # dhcp_gateway = cidrhost(var.admin_network_prefix, 1) # dhcp_range = var.admin_network_prefix # ssh_public_key_opentofu_netboot_server = var.ssh_public_key_opentofu_netboot_server # pve_api_base_url = var.pve_api_base_url # pve_api_token = var.pve_api_token # pve_node_name = var.pve_node_name # pve_storage_id = var.pve_storage_id # pve_vm_id = 108 # } # module "poc" { # depends_on = [module.netboot_server] # source = "./modules/poc" # pve_vm_id = 110 # pve_storage_id = "local" # pve_node_name = "ns3152888" # pve_ssh_user = var.pve_ssh_user # pve_ssh_host = var.pve_ssh_host # netboot_server_ip_address = cidrhost(var.admin_network_prefix, 2) # admin_network = { # name = var.admin_network_name # prefix = var.admin_network_prefix # mac_address = "1c:69:7a:ff:ff:01" # } # prod_network = { # name = var.prod_network_name # prefix = var.prod_network_prefix # mac_address = "1c:69:7a:ef:ff:01" # } # monitoring_network = { # name = var.monit_network_name # prefix = var.monit_network_prefix # mac_address = "1c:69:7a:df:ff:01" # } # admin_ssh_public_key = var.ssh_public_key_admin_netboot_server # } locals { castopod_domain = "pod.broken-by-design.fr" castopod_upstream_port = 8000 } module "castopod_config" { source = "./modules/castopod" base_url = "https://pod.broken-by-design.fr/" castopod_domain = local.castopod_domain castopod_upstream_port = local.castopod_upstream_port ssh_authorized_keys = [ file("/var/home/fmaury/.ssh/fma_ovh_rise2.pub") ] } module "caddy_config" { source = "./modules/caddy_reverse" vhosts = [ { domain = local.castopod_domain upstreams = [ "10.109.0.13:${local.castopod_upstream_port}" ] }, { domain = "nextcloud.broken-by-design.fr" upstreams = [ "10.109.0.16:8443" ] } ] ssh_authorized_keys = var.ssh_authorized_keys } module "nextcloud_config" { source = "./modules/nextcloud" ssh_authorized_keys = var.ssh_authorized_keys nextcloud_domain = "nextcloud.broken-by-design.fr" reverse_proxy_ip_address = "10.109.0.14" nextcloud_trusted_domains = [ "nextcloud.broken-by-design.fr", ] luks_passphrase = var.nextcloud_luks_passphrase luks_use_tpm2 = false }