forked from CCCHH/ansible-infra
		
	
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			849 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			849 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
- name: Ensure postgresql is installed
 | 
						|
  ansible.builtin.apt:
 | 
						|
    name:
 | 
						|
      - postgresql
 | 
						|
  become: true
 | 
						|
 | 
						|
- name: Ensure Python library for community.postgresql is installed if needed
 | 
						|
  ansible.builtin.apt:
 | 
						|
    name:
 | 
						|
      - python3-psycopg
 | 
						|
  become: true
 | 
						|
  when: postgresql__dbs != [ ] or postgresql__users != [ ]
 | 
						|
 | 
						|
- name: Ensure users
 | 
						|
  community.postgresql.postgresql_user:
 | 
						|
    name: "{{ item.name }}"
 | 
						|
    password: "{{ item.password | default('') }}"
 | 
						|
  become: true
 | 
						|
  become_user: postgres
 | 
						|
  loop: "{{ postgresql__users }}"
 | 
						|
  loop_control:
 | 
						|
    label: "user {{ item.name }} with {{ 'a password' if item.password is defined else 'no password' }}"
 | 
						|
 | 
						|
- name: Ensure dbs with owners
 | 
						|
  community.postgresql.postgresql_db:
 | 
						|
    name: "{{ item.name }}"
 | 
						|
    owner: "{{ item.owner }}"
 | 
						|
  become: true
 | 
						|
  become_user: postgres
 | 
						|
  loop: "{{ postgresql__dbs }}"
 |