1 class role::cryptoportfolio::postgresql inherits role::cryptoportfolio {
2 $password_seed = lookup("base_installation::puppet_pass_seed")
4 $pg_password = generate_password(24, $password_seed, "postgres_cryptoportfolio")
6 profile::postgresql::master { "postgresql master for cryptoportfolio":
7 letsencrypt_host => $web_host,
8 backup_hosts => ["backup-1"],
11 postgresql::server::db { $pg_db:
13 password => postgresql_password($pg_user, $pg_password),
16 postgresql::server::pg_hba_rule { 'allow localhost TCP access to cryptoportfolio user':
20 auth_method => 'ident',
25 postgresql_psql { "DROP PUBLICATION ${pg_db}_publication":
27 onlyif => "SELECT 1 FROM pg_catalog.pg_publication WHERE pubname = '${pg_db}_publication'",
29 postgresql_replication_slot { $pg_user_replication:
32 postgresql_psql { "DROP OWNED BY $pg_user_replication":
34 onlyif => "SELECT 1 FROM pg_user WHERE usename='$pg_user_replication'"
36 postgresql::server::role { $pg_user_replication: