xoxys.minio/tasks/setup.yml

72 lines
2.0 KiB
YAML

---
- name: Prepare base folder
file:
path: "{{ minio_base_dir }}"
state: directory
owner: "{{ minio_user }}"
group: "{{ minio_user }}"
mode: 0750
become: True
become_user: root
- block:
- name: Prepare folder structure
file:
path: "{{ item }}"
state: directory
loop: "{{ minio_data_dirs }}"
- name: Download Minio binary
get_url:
url: "{{ __minio_server_source }}{{ '/archive/minio.RELEASE.' + minio_server_version if minio_server_version != 'latest' else '/minio' }}"
dest: "{{ minio_base_dir }}/minio"
mode: 0750
notify: __minio_restart
become: True
become_user: "{{ minio_user }}"
- block:
- name: Download Minio client
get_url:
url: "{{ __minio_client_source }}{{ '/' + minio_client_version if minio_client_version != 'latest' else '/mc' }}"
dest: "/usr/local/bin/mc"
mode: 0755
- name: Create cronjobs
cron:
name: "{{ item.name }}"
minute: "{{ item.minute | default('*') }}"
hour: "{{ item.hour | default('*') }}"
day: "{{ item.day | default('*') }}"
month: "{{ item.month | default('*') }}"
weekday: "{{ item.weekday | default('*') }}"
job: "{{ item.job }}"
user: "{{ item.user | default(omit) }}"
cron_file: "{{ item.cron_file | default(omit) }}"
state: "{{ item.state | default('present') }}"
loop: "{{ minio_cronjobs }}"
loop_control:
label: "{{ item.name }}"
- name: Copy sysconfig file
template:
src: "etc/sysconfig/minio.j2"
dest: "{{ __minio_sysconfig }}"
mode: 0600
notify: __minio_restart
- name: Copy systemd unit file
template:
src: "etc/systemd/system/minio.service.j2"
dest: "/etc/systemd/system/minio.service"
notify: __minio_restart
- name: Ensure minio service is up and running
systemd:
name: minio
daemon_reload: yes
enabled: yes
state: started
become: True
become_user: root