commit
64be99308b
53 files changed
+1983
No files matched your search
@@ -0,0 +1,29 @@
|
||||
output "infra" {
|
||||
value = var.infra
|
||||
}
|
||||
|
||||
output "services" {
|
||||
value = var.services
|
||||
}
|
||||
|
||||
output "vault" {
|
||||
value = {
|
||||
address = "http://${var.infra.vault.host}:${var.infra.vault.port}"
|
||||
mount = var.infra.vault.mount
|
||||
database_mount = var.infra.vault.database_mount
|
||||
}
|
||||
}
|
||||
|
||||
output "silo" {
|
||||
value = {
|
||||
server = "${var.infra.silo.host}:${var.infra.silo.port}"
|
||||
internal_endpoint = "http://${var.infra.silo.internal_host}:${var.infra.silo.internal_port}"
|
||||
admin_user = var.infra.silo.admin_user
|
||||
state_bucket = var.infra.silo.state_bucket
|
||||
backup_bucket = var.infra.silo.backup_bucket
|
||||
}
|
||||
}
|
||||
|
||||
output "postgres" {
|
||||
value = var.infra.postgres
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
variable "infra" {
|
||||
type = object({
|
||||
postgres = object({
|
||||
image = string
|
||||
admin_user = string
|
||||
host = string
|
||||
port = number
|
||||
internal_host = string
|
||||
internal_port = number
|
||||
})
|
||||
pgadmin = object({
|
||||
image = string
|
||||
port = number
|
||||
email = string
|
||||
})
|
||||
silo = object({
|
||||
image = string
|
||||
admin_user = string
|
||||
host = string
|
||||
port = number
|
||||
console_port = number
|
||||
internal_host = string
|
||||
internal_port = number
|
||||
state_bucket = string
|
||||
backup_bucket = string
|
||||
})
|
||||
vault = object({
|
||||
image = string
|
||||
host = string
|
||||
port = number
|
||||
mount = string
|
||||
database_mount = string
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
variable "services" {
|
||||
type = map(object({
|
||||
postgres = optional(object({
|
||||
username = string
|
||||
name = string
|
||||
sslmode = optional(string, "disable")
|
||||
pgvector = optional(bool, false)
|
||||
}))
|
||||
buckets = optional(map(object({
|
||||
versioning = optional(bool, true)
|
||||
noncurrent_days = optional(number, 30)
|
||||
})), {})
|
||||
}))
|
||||
|
||||
validation {
|
||||
condition = alltrue(flatten([
|
||||
for svc in values(var.services) : [
|
||||
for name in keys(svc.buckets) :
|
||||
can(regex("^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$", name))
|
||||
]
|
||||
]))
|
||||
error_message = "Имя бакета: 3–63 символа, строчные латинские буквы, цифры, точки и дефисы."
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user