Added ARM, AWS templates and pipelines.

This commit is contained in:
jefferyfry
2020-04-28 21:10:29 -07:00
parent 38d2524ee1
commit 4e9153dffa
156 changed files with 5757 additions and 725 deletions

View File

@@ -0,0 +1,105 @@
---
- 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 }}"