diff --git a/ships/mars/main.tf b/ships/mars/main.tf index 4554d71..331045a 100644 --- a/ships/mars/main.tf +++ b/ships/mars/main.tf @@ -1,10 +1,10 @@ variable "hcloud_token" { - type = string + type = string sensitive = true } variable "hdns_token" { - type = string + type = string sensitive = true } @@ -19,7 +19,7 @@ variable "ssh_private_key_path" { } variable "server" { - default = "mars" + default = "mars" } variable "server_domain" { @@ -31,12 +31,12 @@ variable "ghcr_token" {} resource "null_resource" "is_up" { connection { - type = "ssh" - host = var.server - user = "fourlights" - timeout = "10m" - agent = true - agent_identity = var.ssh_private_key_path + type = "ssh" + host = var.server + user = "fourlights" + timeout = "10m" + agent = true + agent_identity = var.ssh_private_key_path } provisioner "remote-exec" { @@ -48,68 +48,68 @@ resource "null_resource" "is_up" { module "containers-network" { wait_on = null_resource.is_up - source = "../../quadlets/network" + source = "../../quadlets/network" - server_ip = var.server + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path name = "containers" } module "minio" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/minio" - server_ip = var.server - server_domain = var.server_domain + wait_on = null_resource.is_up + source = "../../quadlets/modules/minio" + server_ip = var.server + server_domain = var.server_domain ssh_private_key_path = var.ssh_private_key_path - https = true + https = true } module "valkey" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/valkey" - server_ip = var.server + wait_on = null_resource.is_up + source = "../../quadlets/modules/valkey" + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path } module "affine" { - wait_on = module.postgres.installed - source = "../../quadlets/modules/affine" - server_ip = var.server - server_domain = var.server_domain + wait_on = module.postgres.installed + source = "../../quadlets/modules/affine" + server_ip = var.server + server_domain = var.server_domain ssh_private_key_path = var.ssh_private_key_path - + # Pass postgres password for database connection postgres_password = module.postgres.password } module "oci-proxy" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/oci-proxy" - server_ip = var.server + wait_on = null_resource.is_up + source = "../../quadlets/modules/oci-proxy" + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path } module "arcane" { - wait_on = module.oci-proxy.installed - source = "../../quadlets/modules/arcane" - server_domain = var.server_domain - server_ip = var.server + wait_on = module.oci-proxy.installed + source = "../../quadlets/modules/arcane" + server_domain = var.server_domain + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path } module "qdrant" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/qdrant" - server_ip = var.server + wait_on = null_resource.is_up + source = "../../quadlets/modules/qdrant" + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path - server_domain = var.server_domain + server_domain = var.server_domain } module "documentdb" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/documentdb" - server_ip = var.server + wait_on = null_resource.is_up + source = "../../quadlets/modules/documentdb" + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path } @@ -122,16 +122,16 @@ module "documentdb" { #} module "postgres" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/postgres" - server_ip = var.server + wait_on = null_resource.is_up + source = "../../quadlets/modules/postgres" + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path } module "rabbitmq" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/rabbitmq" - server_ip = var.server + wait_on = null_resource.is_up + source = "../../quadlets/modules/rabbitmq" + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path } @@ -153,44 +153,44 @@ module "rabbitmq" { #} module "gonic" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/gonic" - server_ip = var.server - server_domain = var.server_domain + wait_on = null_resource.is_up + source = "../../quadlets/modules/gonic" + server_ip = var.server + server_domain = var.server_domain ssh_private_key_path = var.ssh_private_key_path } module "tmail-web" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/tmail-web" - server_ip = var.server - server_domain = var.server_domain + wait_on = null_resource.is_up + source = "../../quadlets/modules/tmail-web" + server_ip = var.server + server_domain = var.server_domain ssh_private_key_path = var.ssh_private_key_path - server_url = "https://mail.binarysunset.dev" + server_url = "https://mail.binarysunset.dev" } module "navidrome" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/navidrome" - server_ip = var.server + wait_on = null_resource.is_up + source = "../../quadlets/modules/navidrome" + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path - server_domain = var.server_domain + server_domain = var.server_domain } module "mopidy" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/mopidy" - server_ip = var.server + wait_on = null_resource.is_up + source = "../../quadlets/modules/mopidy" + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path - server_domain = var.server_domain + server_domain = var.server_domain } module "zot" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/zot" - server_ip = var.server + wait_on = null_resource.is_up + source = "../../quadlets/modules/zot" + server_ip = var.server ssh_private_key_path = var.ssh_private_key_path - server_domain = var.server_domain + server_domain = var.server_domain } # Deploy Plane after all dependencies are ready @@ -211,35 +211,51 @@ module "zot" { # rabbitmq_password = module.rabbitmq.password #} +module "kosync" { + wait_on = null_resource.is_up + source = "../../quadlets/modules/kosync" + server_ip = var.server + server_domain = var.server_domain + ssh_private_key_path = var.ssh_private_key_path +} + +module "calibre-web-automated" { + wait_on = null_resource.is_up + source = "../../quadlets/modules/calibre-web-automated" + server_ip = var.server + server_domain = var.server_domain + ssh_private_key_path = var.ssh_private_key_path +} + module "beets" { - wait_on = null_resource.is_up - source = "../../quadlets/modules/beets" - server_ip = var.server - server_domain = var.server_domain + wait_on = null_resource.is_up + source = "../../quadlets/modules/beets" + server_ip = var.server + server_domain = var.server_domain ssh_private_key_path = var.ssh_private_key_path } module "deeptutor" { - count = 0 - wait_on = null_resource.is_up - source = "../../quadlets/modules/deeptutor" - server_ip = var.server - server_domain = var.server_domain + count = 0 + wait_on = null_resource.is_up + source = "../../quadlets/modules/deeptutor" + server_ip = var.server + server_domain = var.server_domain ssh_private_key_path = var.ssh_private_key_path } output "psql_pw" { - value = module.postgres.password + value = module.postgres.password sensitive = true } module "forgejo" { - wait_on = module.postgres.installed - source = "../../quadlets/modules/forgejo" - server_ip = var.server - server_domain = var.server_domain + wait_on = module.postgres.installed + source = "../../quadlets/modules/forgejo" + server_ip = var.server + server_domain = var.server_domain ssh_private_key_path = var.ssh_private_key_path - + # Pass postgres password for database connection postgres_password = module.postgres.password } @@ -249,8 +265,8 @@ output "minio_app_urls" { } output "qdrant_api_key" { - value = module.qdrant.api_key - sensitive = true + value = module.qdrant.api_key + sensitive = true } #output "plane_app_urls" { @@ -282,6 +298,14 @@ output "tmail_web_app_urls" { value = module.tmail-web.app_urls } +output "kosync_app_urls" { + value = module.kosync.app_urls +} + +output "calibre_web_automated_app_urls" { + value = module.calibre-web-automated.app_urls +} + #output "plane_credentials" { #value = module.plane.credentials #sensitive = true