BOSH allows users to easily version, package and deploy software in a reproducible manner. This repo provides BOSH release of Minio Object Storage Server. You can use this release to deploy Minio in standalone, single-node mode as well as in distributed mode on multiple nodes.
To get started from scratch with the BOSH Minio release locally, you can follow the steps below starting with installing bosh-lite
. If you already have a BOSH installation available, you can jump straight to the Create and upload BOSH release section.
- bosh-lite installation instructions.
- bosh_cli installation instructions.
Stemcell is a versioned Operating System image wrapped with IaaS specific packaging. You'll need to provide the bosh-lite Warden stemcell. You can download it from here.
Once downloaded, use the command below to upload it to your VM:
bosh upload stemcell ~/Downloads/bosh-stemcell-3363.12-warden-boshlite-ubuntu-trusty-go_agent.tgz --skip-if-exists
bosh create release --force
Please enter development release name: minio
bosh upload release
Copy a manifest from the manifests/
directory and replace the
director_uuid
field with the one from your BOSH director.
The UUID to put in the manifest can be found with:
bosh status
Set the deployment manifest by providing the name of your manifest, for example:
bosh deployment manifest/manifest-fs.yml
Then run the deploy command:
bosh deploy
With the default settings (in example manifest), you should be able to access the minio server at http://10.244.0.2:9001
.
Test with the mc tool:
###### Using settings in the example manifest ######
mc config host add boshminio http://10.244.0.2:9001 minio minio123
# Test it out:
mc ls boshminio
mc mb boshminio/bucket
mc cp /etc/issue boshminio/bucket/
For deploying a distributed version, set the number of desired instances in the manifest file along with that many static_ips
in
the jobs
section of the manifest, as shown in the example manifest.
With the default settings (in example manifest), you can test the deployment with mc as follows:
mc config host add boshminio1 http://10.244.0.2:9001 minio minio123
mc config host add boshminio2 http://10.244.0.3:9001 minio minio123
mc config host add boshminio3 http://10.244.0.4:9001 minio minio123
mc config host add boshminio4 http://10.244.0.5:9001 minio minio123
mc mb boshminio1/bucket # Create a bucket
mc ls boshminio{1..4} # List all the 4 minio endpoints. Should see the
# bucket printed four times.