mirror of
https://github.com/ZwareBear/JFrog-Cloud-Installers.git
synced 2026-01-21 04:06:55 -06:00
105 lines
2.6 KiB
YAML
105 lines
2.6 KiB
YAML
---
|
|
- name: define distribution-specific variables
|
|
include_vars: "{{ ansible_os_family }}.yml"
|
|
|
|
- name: create directory for bind mount if necessary
|
|
file:
|
|
path: "{{ postgres_server_bind_mount_var_lib_pgsql_target }}"
|
|
state: directory
|
|
become: yes
|
|
when: postgres_server_bind_mount_var_lib_pgsql
|
|
|
|
|
|
- name: perform bind mount if necessary
|
|
mount:
|
|
path: "/var/lib/pgsql"
|
|
src: "{{ postgres_server_bind_mount_var_lib_pgsql_target }}"
|
|
opts: bind
|
|
state: mounted
|
|
fstype: none
|
|
become: yes
|
|
when: postgres_server_bind_mount_var_lib_pgsql
|
|
|
|
- name: perform installation
|
|
include_tasks: "{{ ansible_os_family }}.yml"
|
|
|
|
- name: extend path
|
|
copy:
|
|
dest: /etc/profile.d/postgres-path.sh
|
|
mode: a=rx
|
|
content: "export PATH=$PATH:/usr/pgsql-{{ postgres_server_version }}/bin"
|
|
become: yes
|
|
|
|
- name: initialize PostgreSQL database cluster
|
|
environment:
|
|
LC_ALL: "en_US.UTF-8"
|
|
vars:
|
|
ansible_become: "{{ postgres_server_initdb_become }}"
|
|
ansible_become_user: "{{ postgres_server_user }}"
|
|
command: "{{ postgres_server_cmd_initdb }} {{ postgres_server_data_location }}"
|
|
args:
|
|
creates: "{{ postgres_server_data_location }}/PG_VERSION"
|
|
|
|
- name: install postgres configuration
|
|
template:
|
|
src: "{{ item }}.j2"
|
|
dest: "{{ postgres_server_config_location }}/{{ item }}"
|
|
owner: postgres
|
|
group: postgres
|
|
mode: u=rw,go=r
|
|
vars:
|
|
ansible_become: "{{ postgres_server_initdb_become }}"
|
|
ansible_become_user: "{{ postgres_server_user }}"
|
|
loop:
|
|
- pg_hba.conf
|
|
- postgresql.conf
|
|
|
|
- name: enable postgres service
|
|
systemd:
|
|
name: "{{ postgres_server_service_name }}"
|
|
state: started
|
|
enabled: yes
|
|
become: yes
|
|
|
|
- name: Hold until Postgresql is up and running
|
|
wait_for:
|
|
port: 5432
|
|
|
|
- name: Create users
|
|
become_user: postgres
|
|
become: yes
|
|
postgresql_user:
|
|
name: "{{ item.db_user }}"
|
|
password: "{{ item.db_password }}"
|
|
conn_limit: "-1"
|
|
loop: "{{ db_users|default([]) }}"
|
|
no_log: true # secret passwords
|
|
|
|
- name: Create a database
|
|
become_user: postgres
|
|
become: yes
|
|
postgresql_db:
|
|
name: "{{ item.db_name }}"
|
|
owner: "{{ item.db_owner }}"
|
|
encoding: UTF-8
|
|
loop: "{{ dbs|default([]) }}"
|
|
|
|
- name: Grant privs on db
|
|
become_user: postgres
|
|
become: yes
|
|
postgresql_privs:
|
|
database: "{{ item.db_name }}"
|
|
role: "{{ item.db_owner }}"
|
|
state: present
|
|
privs: ALL
|
|
type: database
|
|
loop: "{{ dbs|default([]) }}"
|
|
|
|
- name: restart postgres
|
|
service:
|
|
name: "{{ postgres_server_service_name }}"
|
|
state: restarted
|
|
become: yes
|
|
|
|
- debug:
|
|
msg: "Restarted postgres service {{ postgres_server_service_name }}" |