aboutsummaryrefslogtreecommitdiff
path: root/ansible/minio-policies.yml
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/minio-policies.yml')
-rw-r--r--ansible/minio-policies.yml49
1 files changed, 49 insertions, 0 deletions
diff --git a/ansible/minio-policies.yml b/ansible/minio-policies.yml
new file mode 100644
index 0000000..536314c
--- /dev/null
+++ b/ansible/minio-policies.yml
@@ -0,0 +1,49 @@
+- hosts: localhost
+ tasks:
+ - command: mc admin user list --json "{{ minio_config }}"
+ register: cmd_users
+ # - debug: var=cmd_users.stdout
+
+- hosts: localhost
+ tasks:
+ - with_items: "{{ backup_policies }}"
+ include_tasks: minio/backup-policy.yml
+ vars:
+ hostname: "{{ item }}"
+ host: "{{ minio_users['backup-' + item] }}"
+
+- hosts: localhost
+ vars:
+ registered_minio_users: "{{ cmd_users.stdout_lines | map('from_json') | list }}"
+ present_users: "{{ minio_users | dict2items | json_query('[] | [?value.state == `present`]') | items2dict }}"
+ absent_users: "{{ minio_users | dict2items | json_query('[] | [?value.state == `absent`]') | items2dict }}"
+ tasks:
+ - name: all present users
+ debug:
+ msg: "{{ present_users | join(', ') }}"
+ when: false
+
+ - name: all absent users
+ debug:
+ msg: "{{ absent_users | join(', ') }}"
+ when: false
+
+ - name: all minio users
+ debug:
+ msg: "{{ registered_minio_users }}"
+ when: false
+
+ - name: Adding user to Minio
+ command: "mc admin user add {{ minio_config }} {{ item }} {{ user.secret }} {{ user.policy }}"
+ when: user_count == "0"
+ vars:
+ user: "{{ minio_users[item] }}"
+ user_count: "{{ registered_minio_users | json_query('[] | [?accessKey == `' + item + '`]') | length }}"
+ with_items: "{{ present_users }}"
+
+ - name: Removing user from Minio
+ command: "mc admin user remove {{ minio_config }} {{ item }}"
+ when: user_count
+ vars:
+ user_count: "{{ registered_minio_users | json_query('[] | [?accessKey == `' + item + '`]') | length }}"
+ with_items: "{{ absent_users }}"