/terraform-k8s-minio

Minio terraform module for combinator.ml

Primary LanguageHCLApache License 2.0Apache-2.0

terraform-k8s-minio

Minio terraform module for combinator.ml

Usage

module "minio" {
  source  = "combinator-ml/minio/k8s"
  version = "0.0.1"
}

See the full configuration options below.

Stack Creation

KUBE_CONFIG_PATH=~/.kube/config terraform apply

Stack Deletion

KUBE_CONFIG_PATH=~/.kube/config terraform destroy

Known Issues

  • Why do you have to explicitly export the Kubernetes config?

I found that hardcoding the kubeconfig led to this terraform bug.

Requirements

Name Version
kubectl >= 1.7.0
provider >= 2.0.0

Providers

Name Version
helm n/a
kubectl >= 1.7.0
kubernetes n/a
random n/a

Modules

No Modules.

Resources

Name
helm_release
kubectl_file_documents
kubectl_manifest
kubernetes_secret
random_password

Inputs

Name Description Type Default Required
CONSOLE_ACCESS_KEY (Optional) The Minio console username. string "admin" no
MINIO_ROOT_USER (Optional) The tenant's root username. Defaults to minio string "minio" no
enable_tenant (Optional) Enable the deployment of an example minio client. bool true no
operator_namespace (Optional) The namespace to install the minio operator into. Defaults to minio-operator string "minio-operator" no
tenant_namespace (Optional) The namespace to install the minio tenant into. Defaults to default string "default" no
values (Optional) List of values in raw yaml to pass to helm. See https://github.com/pachyderm/helmchart/blob/master/pachyderm/values.yaml. list(string)
[
"operator:\n clusterDomain: ""\n nsToWatch: ""\n image:\n repository: minio/operator\n tag: v4.0.5\n pullPolicy: IfNotPresent\n imagePullSecrets: []\n replicaCount: 1\n securityContext:\n runAsUser: 1000\n runAsGroup: 1000\n runAsNonRoot: true\n resources:\n requests:\n cpu: 200m\n memory: 256Mi\n ephemeral-storage: 500Mi\nconsole:\n image:\n repository: minio/console\n tag: v0.6.3\n pullPolicy: IfNotPresent\n replicaCount: 1\n resources: {}\ntenants: {}\n"
]
no

Outputs

Name Description
CONSOLE_ACCESS_KEY Minio console username
CONSOLE_SECRET_KEY Minio console password
MINIO_ROOT_PASSWORD Minio root password.
MINIO_ROOT_USER Minio root username.
minio_endpoint Minio endpoint
minio_port Minio port
minio_tenant_secret_key_ref Name of the kubernetes secret that stores the minio credentials
tenant_namespace Namespace of the minio tenant.