Add: minio-operator TF management (v4.5.8 downgrade) - WIP due to helm conflicts
This commit is contained in:
@@ -0,0 +1,78 @@
|
|||||||
|
# MinIO Operator - v4.5.8 (compatible with installed CRD)
|
||||||
|
# v5.0.0 has credential validation bug that breaks tenants
|
||||||
|
# Downgrading to stable v4.5.8 until upstream fixes validation logic
|
||||||
|
|
||||||
|
resource "kubernetes_namespace" "minio_operator" {
|
||||||
|
metadata {
|
||||||
|
name = "minio-operator"
|
||||||
|
labels = {
|
||||||
|
"pod-security.kubernetes.io/enforce" = "baseline"
|
||||||
|
"pod-security.kubernetes.io/enforce-version" = "latest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "helm_release" "minio_operator" {
|
||||||
|
name = "minio-operator"
|
||||||
|
repository = "https://operator.min.io"
|
||||||
|
chart = "operator"
|
||||||
|
version = "4.5.8"
|
||||||
|
namespace = kubernetes_namespace.minio_operator.metadata[0].name
|
||||||
|
|
||||||
|
values = [
|
||||||
|
yamlencode({
|
||||||
|
operator = {
|
||||||
|
image = {
|
||||||
|
repository = "minio/operator"
|
||||||
|
tag = "v4.5.8"
|
||||||
|
}
|
||||||
|
replicaCount = 1
|
||||||
|
}
|
||||||
|
console = {
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
]
|
||||||
|
|
||||||
|
depends_on = [
|
||||||
|
kubernetes_namespace.minio_operator
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
# MinIO credentials secret - v4.5.8 format (credsSecret with individual keys)
|
||||||
|
resource "kubernetes_secret" "minio_creds" {
|
||||||
|
metadata {
|
||||||
|
name = "minio-creds"
|
||||||
|
namespace = "storage"
|
||||||
|
}
|
||||||
|
type = "Opaque"
|
||||||
|
|
||||||
|
data = {
|
||||||
|
accesskey = base64encode("minioadmin")
|
||||||
|
secretkey = base64encode(var.minio_root_password)
|
||||||
|
}
|
||||||
|
|
||||||
|
depends_on = [
|
||||||
|
kubernetes_namespace.storage
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Placeholder: kubernetes_namespace.storage should exist from bootstrap
|
||||||
|
# If not, create:
|
||||||
|
resource "kubernetes_namespace" "storage" {
|
||||||
|
count = var.create_storage_namespace ? 1 : 0
|
||||||
|
|
||||||
|
metadata {
|
||||||
|
name = "storage"
|
||||||
|
labels = {
|
||||||
|
"pod-security.kubernetes.io/enforce" = "baseline"
|
||||||
|
"pod-security.kubernetes.io/enforce-version" = "latest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "create_storage_namespace" {
|
||||||
|
description = "Create storage namespace if it doesn't exist"
|
||||||
|
type = bool
|
||||||
|
default = false
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user