80 lines
1.6 KiB
HCL
80 lines
1.6 KiB
HCL
resource "random_password" "minio_access_key" {
|
|
length = 20
|
|
special = false
|
|
}
|
|
|
|
resource "random_password" "minio_secret_key" {
|
|
length = 40
|
|
special = true
|
|
}
|
|
|
|
resource "helm_release" "minio" {
|
|
name = "minio"
|
|
repository = "https://charts.bitnami.com/bitnami"
|
|
chart = "minio"
|
|
namespace = var.namespace
|
|
create_namespace = true
|
|
version = "14.7.16"
|
|
|
|
set_sensitive {
|
|
name = "auth.rootUser"
|
|
value = random_password.minio_access_key.result
|
|
}
|
|
|
|
set_sensitive {
|
|
name = "auth.rootPassword"
|
|
value = random_password.minio_secret_key.result
|
|
}
|
|
|
|
set {
|
|
name = "mode"
|
|
value = var.mode
|
|
}
|
|
|
|
set {
|
|
name = "resourcesPreset"
|
|
value = "nano"
|
|
}
|
|
|
|
set {
|
|
name = "statefulset.replicaCount"
|
|
value = var.replicas
|
|
}
|
|
|
|
set {
|
|
name = "statefulset.drivesPerNode"
|
|
value = var.replicas < 4 ? 2 : 1
|
|
}
|
|
|
|
set {
|
|
name = "persistence.size"
|
|
value = var.storageSize
|
|
}
|
|
|
|
values = [
|
|
templatefile("${path.module}/values.yaml.tftpl", {
|
|
service_uri = local.service_uri,
|
|
admin_service_uri = local.admin_service_uri,
|
|
admin = var.admin,
|
|
tls = var.mode == "distributed" ? false : var.tls
|
|
ingressClass = var.ingressClass
|
|
displayOnHomepage = var.displayOnHomepage
|
|
})
|
|
]
|
|
}
|
|
|
|
output "installed" {
|
|
value = true
|
|
depends_on = [helm_release.minio]
|
|
}
|
|
|
|
output "access_key" {
|
|
value = random_password.minio_access_key.result
|
|
sensitive = true
|
|
}
|
|
|
|
output "secret_key" {
|
|
value = random_password.minio_secret_key.result
|
|
sensitive = true
|
|
}
|