ansible-minio/README.md

131 lines
2.9 KiB
Markdown
Raw Normal View History

2018-06-25 15:20:50 +02:00
<p><img src="https://avatars0.githubusercontent.com/u/695951?s=200&v=4" alt="minio logo" title="minio" align="right" height="60" /></p>
# Ansible Role: Minio
2017-01-02 17:52:58 +01:00
[![Build Status](https://travis-ci.org/atosatto/ansible-minio.svg?branch=master)](https://travis-ci.org/atosatto/ansible-minio)
2018-06-25 15:20:50 +02:00
[![License](https://img.shields.io/badge/license-MIT%20License-brightgreen.svg)](https://opensource.org/licenses/MIT)
[![Ansible Role](https://img.shields.io/badge/ansible%20role-atosatto.minio-blue.svg)](https://galaxy.ansible.com/atosatto/minio/)
[![GitHub tag](https://img.shields.io/github/tag/atosatto/ansible-minio.svg)](https://github.com/atosatto/ansible-minio/tags)
2017-01-02 17:52:58 +01:00
2017-01-02 17:54:27 +01:00
Install and configure the [Minio](https://minio.io/) S3 compatible object storage server
on RHEL/CentOS and Debian/Ubuntu.
2017-01-02 17:52:58 +01:00
2018-06-25 15:20:50 +02:00
## Requirements
2017-01-02 17:52:58 +01:00
None.
2018-06-25 15:20:50 +02:00
## Role Variables
2017-01-02 17:52:58 +01:00
Available variables are listed below, along with default values (see `defaults/main.yml`):
2018-06-25 15:20:50 +02:00
```yaml
minio_server_bin: /usr/local/bin/minio
minio_client_bin: /usr/local/bin/mc
```
2017-01-02 17:52:58 +01:00
Installation path of the Minio server and client binaries.
2018-06-25 15:20:50 +02:00
```yaml
minio_user: minio
minio_group: minio
```
2017-01-02 17:52:58 +01:00
Name and group of the user running the minio server.
**NB**: This role automatically creates the minio user and/or group if these does not exist in the system.
2018-06-25 15:20:50 +02:00
```yaml
minio_server_envfile: /etc/default/minio
```
2017-01-02 17:52:58 +01:00
Path to the file containing the minio server configuration ENV variables.
2018-06-25 15:20:50 +02:00
```yaml
minio_server_addr: ":9091"
```
2017-01-02 17:52:58 +01:00
The Minio server listen address.
2018-06-25 15:20:50 +02:00
```yaml
minio_server_datadirs:
- /var/lib/minio
2018-06-25 15:20:50 +02:00
```
2017-01-02 17:52:58 +01:00
Directories of the folder containing the minio server data
```yaml
minio_server_make_datadirs: true
```
Create directories from `minio_server_datadirs`
```yaml
minio_server_cluster_nodes: [ ]
```
Set a list of nodes to create a [distributed cluster](https://docs.minio.io/docs/distributed-minio-quickstart-guide).
2018-06-25 22:58:09 +02:00
In this mode, ansible will create your server datadirs, but use this list for the server startup. Note you will need a number of disks to satisfy Minio's distributed storage requirements.
Example:
```yaml
minio_server_datadirs:
- '/minio-data'
2018-06-25 22:58:09 +02:00
- ...
minio_server_cluster_nodes:
- 'https://server1/minio-data'
- 'https://server2/minio-data'
- 'https://server3/minio-data'
2018-06-25 22:58:09 +02:00
- ...
```
```yaml
minio_server_env_extra: ""
```
Additional environment variables to be set in Minio server environment
2018-06-25 15:20:50 +02:00
```yaml
minio_server_opts: ""
```
2017-01-02 17:52:58 +01:00
Additional CLI options that must be appended to the minio server start command.
2018-06-25 15:20:50 +02:00
```yaml
minio_access_key: ""
minio_secret_key: ""
```
2017-01-02 17:52:58 +01:00
Minio access and secret keys.
2018-06-25 15:20:50 +02:00
```yaml
minio_install_server: true
minio_install_client: true
```
2017-01-02 17:52:58 +01:00
Switches to disable minio server and/or minio client installation.
2018-06-25 15:20:50 +02:00
## Dependencies
2017-01-02 17:52:58 +01:00
None.
2018-06-25 15:20:50 +02:00
## Example Playbook
```yaml
- name: "Install Minio"
hosts: all
become: yes
2018-06-25 15:20:50 +02:00
roles:
- { role: atosatto.minio }
2018-06-25 15:53:20 +02:00
vars:
minio_server_datadirs: [ "/minio-test" ]
2018-06-25 15:20:50 +02:00
```
## Changelog
2017-01-02 17:52:58 +01:00
2018-06-25 15:20:50 +02:00
See [changelog](CHANGELOG.md).
2017-01-02 17:52:58 +01:00
2018-06-25 15:20:50 +02:00
## License
2017-01-02 17:52:58 +01:00
MIT