r/postgresql-server-base: Factor out prep steps

There's a bit of a dependency loop between the _postgresql-server_ role
and other roles that supplement it, like _wal-g-pg_ and
_postgresql-cert_.  The latter roles need PostgreSQL installed, but when
those roles are used, the server cannot be started until they have been
applied.  To resolve this situation, I've broken out the initial
installation steps from the _postgresql-server_ role into
_postgresql-server-base_.  Roles that need PostgreSQL installed, but
need to be applied before the server can start, can depend on this role.
dynamic-inventory
Dustin 2024-11-17 09:34:09 -06:00
parent 53b39338dd
commit 965742d2b0
7 changed files with 42 additions and 39 deletions

View File

@ -0,0 +1,3 @@
dependencies:
- systemd-base
- postgresql-server-base

View File

@ -2,7 +2,6 @@
package:
name:
- certbot
- postgresql-server # to get postgres user account
state: present
tags:
- install

View File

@ -0,0 +1,38 @@
- name: ensure postgresql-server is installed
package:
name:
- postgresql-server
- postgresql-upgrade
state: present
tags:
- install
- name: ensure postgresql-upgrade script is installed
copy:
src: postgresql-upgrade.sh
dest: /usr/local/libexec/postgresql-upgrade
owner: root
group: root
mode: u=rwx,go=rx
tags:
- postgresql-upgrade
- name: ensure postgresql-upgrade systemd unit is installed
copy:
src: postgresql-upgrade.service
dest: /etc/systemd/system/postgresql-upgrade.service
owner: root
group: root
mode: u=rw,go=r
notify:
- reload systemd
tags:
- postgresql-upgrade
- systemd
- name: ensure postgresql-upgrade service starts when needed
service:
name: postgresql-upgrade
enabled: true
tags:
- postgresql-upgrade
- service

View File

@ -1,2 +1,3 @@
dependencies:
- systemd-base
- postgresql-server-base

View File

@ -1,12 +1,3 @@
- name: ensure postgresql-server is installed
package:
name:
- postgresql-server
- postgresql-upgrade
state: present
tags:
- install
- name: restore postgresql data directory from backup
command: >-
{{ postgresql_restore_command }}
@ -132,35 +123,6 @@
tags:
- systemd
- name: ensure postgresql-upgrade script is installed
copy:
src: postgresql-upgrade.sh
dest: /usr/local/libexec/postgresql-upgrade
owner: root
group: root
mode: u=rwx,go=rx
tags:
- postgresql-upgrade
- name: ensure postgresql-upgrade systemd unit is installed
copy:
src: postgresql-upgrade.service
dest: /etc/systemd/system/postgresql-upgrade.service
owner: root
group: root
mode: u=rw,go=r
notify:
- reload systemd
tags:
- postgresql-upgrade
- systemd
- name: ensure postgresql-upgrade service starts when needed
service:
name: postgresql-upgrade
enabled: true
tags:
- postgresql-upgrade
- service
- name: ensure postgresql starts at boot
service:
name: postgresql