Greg Karékinian 21119fff08 Add a custom resource to set up PostgreSQL 12
Supports both primary and replica. The access rules and firewall have to
be set up outside of the custom resource, so they are part of the
recipes instead

Refs #160
2020-05-11 18:23:11 +02:00

975 B

kosmos-postgresql

Custom resources

postgresql_custom_server

Usage:

When the tls attribute is set to true, a TLS certificate for the FQDN (node['fqdn'], for example andromeda.kosmos.org) is generated using Let's Encrypt and copied to the PostgreSQL data directory and added to the postgresql.conf file

On the primary:

postgresql_custom_server "12" do
  role "primary"
  tls true
end

On a replica:

postgresql_custom_server "12" do
  role "primary"
  tls true
end

After the initial Chef run on the replica, run Chef on the primary to add the firewall rules and PostgreSQL access rules, then run Chef again on the replica to set up replication.

Caveat

firewall_rules and postgresql_access need to be declared in recipes, not resources because of the way custom resources work currently in Chef