-
Notifications
You must be signed in to change notification settings - Fork 265
/
minio.yml
executable file
·76 lines (74 loc) · 3.01 KB
/
minio.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/usr/bin/env ansible-playbook
---
#==============================================================#
# File : minio.yml
# Desc : setup minio service
# Ctime : 2022-11-10
# Mtime : 2023-10-04
# Path : minio.yml
# Author : Ruohang Feng (rh@vonng.com)
# License : AGPLv3
#==============================================================#
- name: MINIO
become: yes
hosts: all
gather_facts: no
roles:
- { role: node_id , tags: node-id } # get node identity (always)
- { role: minio , tags: minio ,when: minio_cluster is defined and minio_seq is defined }
#---------------------------------------------------------------
# Usage
#---------------------------------------------------------------
# 1. Make sure all nodes/disks are identical, and mounted properly
# 2. Define minio cluster in pigsty.yml
# 3. run ./minio.yml -l <cls> to deploy minio cluster
#
#---------------------------------------------------------------
# Example
#---------------------------------------------------------------
# Single Node Single Driver (DEFAULT)
# minio: { hosts: { 10.10.10.10: { minio_seq: 1 } }, vars: { minio_cluster: minio } }
#
# Multi Node x Multi Driver Example
# minio:
# hosts:
# 10.10.10.10: { minio_seq: 1 }
# 10.10.10.11: { minio_seq: 2 }
# 10.10.10.12: { minio_seq: 3 }
# vars:
# minio_cluster: minio
# minio_data: '/data{1...2}' # use two disk per node
# minio_node: '${minio_cluster}-${minio_seq}.pigsty' # minio node name pattern
# haproxy_services:
# - name: minio
# port: 9002
# options:
# - option httpchk
# - option http-keep-alive
# - http-check send meth OPTIONS uri /minio/health/live
# - http-check expect status 200
# servers:
# - { name: minio-1 ,ip: 10.10.10.10 , port: 9000 , options: 'check-ssl ca-file /etc/pki/ca.crt check port 9000' }
# - { name: minio-2 ,ip: 10.10.10.11 , port: 9000 , options: 'check-ssl ca-file /etc/pki/ca.crt check port 9000' }
# - { name: minio-3 ,ip: 10.10.10.12 , port: 9000 , options: 'check-ssl ca-file /etc/pki/ca.crt check port 9000' }
#
#---------------------------------------------------------------
# Tasks
#---------------------------------------------------------------
# minio-id : generate minio identity
# minio_os_user : create os user minio
# minio_install : install minio/mcli rpm
# minio_clean : remove minio data (not default)
# minio_dir : create minio directories
# minio_config : generate minio config
# - minio_conf : minio main config
# - minio_cert : minio ssl cert
# - minio_dns : write minio dns records
# minio_launch : launch minio service
# minio_register : register minio to prometheus
# minio_provision : create minio aliases/buckets/users
# - minio_alias : create minio client alias
# - minio_bucket : create minio buckets
# - minio_user : create minio biz users
#---------------------------------------------------------------
...