users_props.yml 1.1 KB

12345678910111213141516171819202122232425
  1. ---
  2. - name: Ensure PostgreSQL users are configured correctly.
  3. postgresql_user:
  4. name: "{{ item.name }}"
  5. password: "{{ item.password | default(omit) }}"
  6. encrypted: "{{ item.encrypted | default(omit) }}"
  7. priv: "{{ item.priv | default(omit) }}"
  8. role_attr_flags: "{{ item.role_attr_flags | default(omit) }}"
  9. db: "{{ item.db | default(omit) }}"
  10. login_host: "{{ item.login_host | default('localhost') }}"
  11. login_password: "{{ item.login_password | default(omit) }}"
  12. login_user: "{{ item.login_user | default(postgresql_user) }}"
  13. login_unix_socket: "{{ item.login_unix_socket | default(postgresql_unix_socket_directories[0]) }}"
  14. port: "{{ item.port | default(omit) }}"
  15. state: "{{ item.state | default('present') }}"
  16. with_items: "{{ postgresql_users }}"
  17. no_log: "{{ postgres_users_no_log }}"
  18. become: true
  19. become_user: "{{ postgresql_user }}"
  20. # See: https://github.com/ansible/ansible/issues/16048#issuecomment-229012509
  21. vars:
  22. ansible_ssh_pipelining: true
  23. environment:
  24. PGOPTIONS: "{{ (postgresql_auth_method == 'scram-sha-256') | ternary('-c password_encryption=scram-sha-256', '') }}"