shuttles #2

Open
thomas wants to merge 27 commits from shuttles into main
1 changed files with 106 additions and 82 deletions
Showing only changes of commit 852c60a540 - Show all commits

View File

@ -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