{"id":13690448,"url":"https://github.com/bryanl/ha-minio","last_synced_at":"2025-04-13T07:13:48.341Z","repository":{"id":66319959,"uuid":"54678324","full_name":"bryanl/ha-minio","owner":"bryanl","description":null,"archived":false,"fork":false,"pushed_at":"2016-03-25T02:04:27.000Z","size":7,"stargazers_count":47,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-13T07:13:42.402Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bryanl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-03-24T22:28:40.000Z","updated_at":"2024-06-04T05:00:39.000Z","dependencies_parsed_at":"2024-01-12T19:47:55.324Z","dependency_job_id":"52ce8788-c616-41a3-9c42-8d0dd472d39b","html_url":"https://github.com/bryanl/ha-minio","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanl%2Fha-minio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanl%2Fha-minio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanl%2Fha-minio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanl%2Fha-minio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bryanl","download_url":"https://codeload.github.com/bryanl/ha-minio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248675422,"owners_count":21143768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T17:00:19.008Z","updated_at":"2025-04-13T07:13:48.294Z","avatar_url":"https://github.com/bryanl.png","language":"Python","funding_links":[],"categories":["Contribution Guidelines"],"sub_categories":["Cloud - IaaS"],"readme":"# HA Minio\n\nDemonstration of how to configure [Minio](https://minio.io/), a S3 compatible\nCloud Storage Server for DigitalOcean in a highly available fashion.\n\nThis installation requires Terraform and Ansible.\n\n# Prerequisites\n\n## Terraform\n \nInstall [Terraform](https://www.terraform.io/downloads.html) on your system. If you are using\nMacOS X and Homebrew, you can install it with `brew install terraform`\n\n## Ansible\n\nInstall [Ansible](http://docs.ansible.com/ansible/intro_installation.html) on your system. If\nyou are using MacOS X and Homebrew, you can install it with `brew install ansible`\n\nSince inventory is managed by Terraform, you can use [terraform-inventory](https://github.com/adammck/terraform-inventory) to supply \nAnsible with the Droplet configuration. If you are using MacOS X and Homebrew, you can\ninstall it with `brew install terraform-inventory`. \n\n# Install Minio on Droplets\n\n## Provision Droplets\n\n1. Terraform is configured through `terraform.tvfars`. A sample file, `terraform.tfvars.sample`,\nhas been included.\n\n1. Use Terraform to build Droplets and Floating IP. `terraform apply`.\n1. Once Droplets and Floating IP have been created, retrieve the assigned Floating IP.\n1. Assign a hostname to the Floating IP that was created. This hostname will be used to\n   automatically generate a TLS certificate when configuring the Droplet.\n\n## Configure Droplets\n\n1. Copy `group_vars/node.sample` to `group_vars/node`.\n1. Create Ansible node configuration:\n    1. Un-comment and fill in `floating_ip`.\n    1. Un-comment and fill in `do_token` with your DigitalOcean Access Token.\n    1. Un-comment and fill in `minio_host` with the hostname you assigned to your Floating IP.\n    1. Use `gen_auth_key` to generate an auth key for the cluster. Un-comment and \n       fill in `ha_auth_key` with the generated key.\n1. Use Ansible to configure the Droplets for Minio. `ansible-playbook -i /usr/local/bin/terraform-inventory site.yml`\n\n## Using Minio\n\nOnce Ansible has completed running your Cloud Storage site will be available at \nhttps://\u003cfloating ip hostname\u003e.  \n\n  \n\n ## Extras\n \n Generating a fingerprint for your public ssh key:\n \n ```sh\n ssh-keygen -E md5 -lf ~/.ssh/id_rsa.pub\n ```\n\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbryanl%2Fha-minio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbryanl%2Fha-minio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbryanl%2Fha-minio/lists"}