iac/main.tf

108 lines
No EOL
3.1 KiB
HCL

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
}