Demonstration of how to configure Minio, a S3 compatible Cloud Storage Server for DigitalOcean in a highly available fashion.
This installation requires Terraform and Ansible.
Install Terraform on your system. If you are using
MacOS X and Homebrew, you can install it with brew install terraform
Install Ansible on your system. If
you are using MacOS X and Homebrew, you can install it with brew install ansible
Since inventory is managed by Terraform, you can use terraform-inventory to supply
Ansible with the Droplet configuration. If you are using MacOS X and Homebrew, you can
install it with brew install terraform-inventory
.
-
Terraform is configured through
terraform.tvfars
. A sample file,terraform.tfvars.sample
, has been included. -
Use Terraform to build Droplets and Floating IP.
terraform apply
. -
Once Droplets and Floating IP have been created, retrieve the assigned Floating IP.
-
Assign a hostname to the Floating IP that was created. This hostname will be used to automatically generate a TLS certificate when configuring the Droplet.
- Copy
group_vars/node.sample
togroup_vars/node
. - Create Ansible node configuration:
- Un-comment and fill in
floating_ip
. - Un-comment and fill in
do_token
with your DigitalOcean Access Token. - Un-comment and fill in
minio_host
with the hostname you assigned to your Floating IP. - Use
gen_auth_key
to generate an auth key for the cluster. Un-comment and fill inha_auth_key
with the generated key.
- Un-comment and fill in
- Use Ansible to configure the Droplets for Minio.
ansible-playbook -i /usr/local/bin/terraform-inventory site.yml
Once Ansible has completed running your Cloud Storage site will be available at https://.
Generating a fingerprint for your public ssh key:
ssh-keygen -E md5 -lf ~/.ssh/id_rsa.pub