mirror of
https://gitlab.sarex.io/infra/terraform-contour-mirror.git
synced 2026-08-05 18:31:00 +03:00
49 lines
1.5 KiB
HCL
49 lines
1.5 KiB
HCL
# `buckets` contract is byte-identical to modules/yc-s3 so a single declaration in
|
|
# infrastructure.yaml drives both the Yandex Object Storage and the in-cluster
|
|
# MinIO backend. YC-only fields (versioning/cors) are accepted for schema parity;
|
|
# MinIO applies what it supports (versioning) and ignores the rest.
|
|
|
|
variable "buckets" {
|
|
description = "List of S3 buckets to create"
|
|
type = list(object({
|
|
name = string
|
|
acl = optional(string, "private")
|
|
role = optional(string, null)
|
|
versioning = optional(object({
|
|
enabled = bool
|
|
}), { enabled = false })
|
|
cors = optional(object({
|
|
enabled = optional(bool, false)
|
|
allowed_headers = optional(list(string), [])
|
|
allowed_methods = optional(list(string), [])
|
|
allowed_origins = optional(list(string), [])
|
|
expose_headers = optional(list(string), [])
|
|
max_age_seconds = optional(number, 3600)
|
|
}), { enabled = false })
|
|
}))
|
|
}
|
|
|
|
variable "user_suffix" {
|
|
description = "Suffix for the per-bucket MinIO access user (access_key = <bucket><suffix>)."
|
|
type = string
|
|
default = "-sa"
|
|
}
|
|
|
|
variable "minio_endpoint" {
|
|
description = "MinIO S3 endpoint URL (scheme decides ssl). E.g. https://minio.contour.infra.sarex.tech"
|
|
type = string
|
|
}
|
|
|
|
variable "minio_user" {
|
|
description = "MinIO admin access key."
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "minio_password" {
|
|
description = "MinIO admin secret key."
|
|
type = string
|
|
default = ""
|
|
sensitive = true
|
|
}
|