minio
=========


- Create minio user
- Create minio disque pool
- Install and configure Minio service
- If necessary, install ssl certificat 
- Install client mc

Requirements
------------

Package minio.rpm and mc binary (client minio) must be located in role files directory
Certificats could be located in files/certs ( optionnal)
```
tree roles/minio/files/
roles/minio/files/
├── certs
│   ├── Minio.crt
│   ├── Minio.key
│   └── zen6ca.crt
├── mc
└── minio.rpm
```
Role Variables
--------------
## System information defined in vars/main.yml
```
minio_user: minio-user
minio_group: minio-user
minio_rootdir: /opt/minio
```

## LVM Vars
Must de defined un hosts_vars or group_vars
```
lvm:
    pvname: /dev/nvme0n1 # PV to create  ( unique)
    vgname: vg_minio # VG to create  ( unique)
    lvs:
      - lvname: lv_minio01 # Fist lv to create
        size: 10g
        fstype: xfs
        mountpoint: "{{minio_rootdir}}/disk01" 
        owner: "{{minio_user}}"   # not change
        group: "{{minio_group}}"  # not change
        ...
        ...
        ...
      - lvname: lv_minio04 # Last LV to create
        size: 10g
        fstype: xfs
        mountpoint: /opt/minio/disk04
        owner: "{{minio_user}}"
        group: "{{minio_group}}"
```
## Minio vars
Must de defined un hosts_vars or group_vars
```
minio:
  admin_user: adminminio    # Minio Root user
  admin_passwd: adminminio  # Minio Root user password
  root_dir: "{{minio_rootdir}}"    
  disks_pool: "{{minio_rootdir}}/opt/minio/disk0{1...4}" # Disk pool : must be coherant with lvm data
  url: "https://myminio.my.lan:9000" # APi S3 url
  console_port: 9001
  key: certs/Minio.key  # minio ssl key local path in ansible file dir (optionnal)
  cert: certs/Minio.crt  # minio ssl cert local path in ansible file dir (optionnal)
  cacert: certs/zen6ca.crt # minio ssl CA local path in ansible file dir (optionnal)
```
Dependencies
------------

none

Example Playbook
----------------

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
```
---
- name: Install minio
  hosts: 
   - minio
  roles:
    - minio 
```

License
-------

BSD

Author Information
------------------

An optional section for the role authors to include contact information, or a website (HTML is not allowed).
