|
|
@@ -0,0 +1,47 @@ |
|
|
|
--- |
|
|
|
- name: Ensure bash, OpenSSl, and libssl are the latest versions |
|
|
|
apt: |
|
|
|
pkg: |
|
|
|
- bash |
|
|
|
- openssl |
|
|
|
- libssl-dev |
|
|
|
- libssl-doc |
|
|
|
state: latest |
|
|
|
tags: packages |
|
|
|
|
|
|
|
- name: Install PostgreSQL |
|
|
|
apt: |
|
|
|
pkg: |
|
|
|
- postgresql |
|
|
|
- postgresql-contrib |
|
|
|
- libpq-dev |
|
|
|
- python3-psycopg2 |
|
|
|
state: present |
|
|
|
tags: packages |
|
|
|
|
|
|
|
- name: Ensure the PostgreSQL service is running |
|
|
|
service: name=postgresql state=started enabled=yes |
|
|
|
|
|
|
|
- name: Ensure database is created |
|
|
|
become: yes |
|
|
|
become_user: postgres |
|
|
|
postgresql_db: name={{ db_name }} |
|
|
|
encoding='UTF-8' |
|
|
|
template='template0' |
|
|
|
state=present |
|
|
|
|
|
|
|
- name: Ensure user has access to the database |
|
|
|
become: yes |
|
|
|
become_user: postgres |
|
|
|
postgresql_user: db={{ db_name }} |
|
|
|
name={{ db_user }} |
|
|
|
password={{ db_password }} |
|
|
|
priv=ALL |
|
|
|
state=present |
|
|
|
|
|
|
|
- name: Ensure user does not have unnecessary privileges |
|
|
|
become: yes |
|
|
|
become_user: postgres |
|
|
|
postgresql_user: name={{ db_user }} |
|
|
|
role_attr_flags=NOSUPERUSER,NOCREATEDB |
|
|
|
state=present |