variable "nixos-anywhere" { type = string } variable "domain" { type = string default = "fediversity.net" } variable "mastodon" { type = object({ enable = bool }) default = { enable = false } } variable "pixelfed" { type = object({ enable = bool }) default = { enable = false } } variable "peertube" { type = object({ enable = bool }) default = { enable = false } } variable "initialUser" { type = object({ displayName = string username = string email = string # TODO: mark (nested) credentials as sensitive # https://discuss.hashicorp.com/t/is-it-possible-to-mark-an-attribute-of-an-object-as-sensitive/24649/2 password = string }) default = { displayName = "Testy McTestface" username = "test" email = "test@test.com" password = "testtest" } } # module "garage" { # source = "./vm" # count = var.mastodon.enable || var.pixelfed.enable || var.peertube.enable ? 1 : 0 # domain = var.domain # hostname = "test01" # config = "garage" # initialUser = var.initialUser # nixos-anywhere = var.nixos-anywhere # } module "mastodon" { source = "./vm" count = var.mastodon.enable ? 1 : 0 domain = var.domain hostname = "test06" config = "mastodon" initialUser = var.initialUser nixos-anywhere = var.nixos-anywhere } module "pixelfed" { source = "./vm" count = var.pixelfed.enable ? 1 : 0 domain = var.domain hostname = "test04" config = "pixelfed" initialUser = var.initialUser nixos-anywhere = var.nixos-anywhere } module "peertube" { source = "./vm" count = var.peertube.enable ? 1 : 0 domain = var.domain hostname = "test03" config = "peertube" initialUser = var.initialUser nixos-anywhere = var.nixos-anywhere }