28 lines
1,009 B
YAML
28 lines
1,009 B
YAML
---
|
|
- name: shared/gen_userpass | Create the Username/Password combo for the role
|
|
uri:
|
|
url: "{{ hostvars[groups.vault|first]['vault_leader_url'] }}/v1/auth/userpass/users/{{ gen_userpass_username }}"
|
|
headers: "{{ hostvars[groups.vault|first]['vault_headers'] }}"
|
|
method: POST
|
|
body_format: json
|
|
body:
|
|
username: "{{ gen_userpass_username }}"
|
|
password: "{{ gen_userpass_password }}"
|
|
policies: "{{ gen_userpass_role }}"
|
|
status_code: 204
|
|
delegate_to: "{{ groups.vault|first }}"
|
|
run_once: true
|
|
|
|
- name: shared/gen_userpass | Ensure destination directory exists
|
|
file:
|
|
path: "{{ vault_roles_dir }}/{{ gen_userpass_role }}"
|
|
state: directory
|
|
|
|
- name: shared/gen_userpass | Copy credentials to all hosts in the group
|
|
copy:
|
|
content: >
|
|
{{
|
|
{'username': gen_userpass_username,
|
|
'password': gen_userpass_password} | to_nice_json(indent=4)
|
|
}}
|
|
dest: "{{ vault_roles_dir }}/{{ gen_userpass_role }}/userpass"
|