41 lines
1.2 KiB
YAML
Executable File
41 lines
1.2 KiB
YAML
Executable File
---
|
|
- name: install requirements for postgresql
|
|
apt:
|
|
update_cache: yes
|
|
state: "{% if cloud_update | bool %}latest{% else %}present{% endif %}"
|
|
install_recommends: yes
|
|
pkg:
|
|
- apt-transport-https
|
|
- ca-certificates
|
|
- gnupg2
|
|
- software-properties-common
|
|
- curl
|
|
|
|
- name: setup PostgreSQL repository
|
|
copy:
|
|
content: "deb http://apt.postgresql.org/pub/repos/apt {{ ansible_lsb.codename }}-pgdg main"
|
|
dest: "/etc/apt/sources.list.d/pgdg.list"
|
|
|
|
- name: setup PostgreSQL repository signing key
|
|
apt_key:
|
|
url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
|
|
state: present
|
|
|
|
- name: install PostgreSQL packages
|
|
apt:
|
|
name: "{{ pkg }}"
|
|
state: "{% if cloud_update | bool %}latest{% else %}present{% endif %}"
|
|
install_recommends: yes
|
|
update_cache: yes
|
|
loop:
|
|
- "{{ postgresql_version }}"
|
|
loop_control:
|
|
loop_var: pkg
|
|
label: "{{ pkg }}"
|
|
|
|
- name: Setup databases based on PostgreSQL conf
|
|
include_tasks: setup_db.yml
|
|
loop: "{{ db_configs | json_query('[?type==`pgsql`]') }}"
|
|
loop_control:
|
|
loop_var: db
|
|
label: "{% if 'dbname' in db %}{{ db.dbname }}{% elif 'dbuser' in db %}{{ db.dbuser }}{% else %}::pass_redacted::{% endif %}" |