Initial commit
terraform / check (push) Canceled after 0s

This commit is contained in:
stolzor committed 2026-10-11 20:30:21 +03:00
commit 64be99308b
53 files changed
+1983

No files matched your search

+29
View File
@@ -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
}
+60
View File
@@ -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 символа, строчные латинские буквы, цифры, точки и дефисы."
}
}