chef/site-cookbooks/kosmos-postgresql

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