Minio Genesis Kit
The Minio Genesis kit gives you the ability to deploy Minio, a high performance distributed object storage server (S3 alternative).
For more information about Minio, visit their Git Repo on GitHub or read their Docs on Minio.io
Quick Start
To use it, you don't even need to clone this repository! Just run the following (using Genesis v2):
# create a minio-deployments repo using the latest version of the minio kit
genesis init --kit minio
# create a minio-deployments repo using v1.0.0 of the minio kit
genesis init --kit minio/1.0.0
# create a my-minio-configs repo using the latest version of the minio kit
genesis init --kit minio -d my-minio-configs
Once created, refer to the deployment repository README for information on provisioning and deploying new environments.
Features
SSL Certificates
self-signed-certs
If you wish to have Genesis generate self-signed certs for you.provided-cert
If you have SSL cert/key to provide, which is grabbed from Vault via path:$GENESIS_VAULT_PATH/ssl/server:certificate
and$GENESIS_VAULT_PATH/ssl/server:key
HA
distributed
If you desire to have Minio run in a distributed cluster, increasing your storage as well as protecting against downtime and data rot. Requires thenum_minio_nodes
parameter set
Params
General Infrastructure Configuration
disk_type
- Thepersistent_disk_type
that Minio should use for object storage. (default:minio
)vm_type
- Thevm_type
that Minio should be deployed on. (default:default
)network
- Thenetwork
that Minio should be deployed on. (default:minio
)stemcell_os
- The operating system stemcell you want to deploy on. (default:ubuntu-trusty
)stemcell_version
- The specific version of the stemcell you want to deploy on. (default:latest
)
Minio Related Configuration
port
- The port for Minio to listen on (default:443
)num_minio_nodes
- The amount of desired Minio nodes in a cluster. (default:1
,4
for distributed clusters). If Minio deployment is distributed, value must be greater than 4, less than 32, and evenly divisible by 2.
Cloud Config
The Minio Genesis Kit expects a defined persistent_disk_type
named minio
.
The size for this varies depending on your needs, but Minio themselves recommend
a minimum of 2GB.
The Minio Genesis Kit also expected a defined network
named minio
with at
least 1 IP, or num_minio_nodes
IPs.