Page MenuHomeSoftware Heritage

dali: Prepare host with admin tools postgresql dbs
ClosedPublic

Authored by ardumont on Jan 12 2022, 5:03 PM.

Details

Summary

This keeps the encoding and locale as per other swh databases.

Related to T3833

Test Plan

up dali and puppet installs dbs for all the admin services we want with the right
encoding and collation [1]:

$ vagrant up dali
$ vagrant ssh dali; su - postgres; psql -c \l+
                                                                List of databases
   Name    |  Owner   | Encoding  | Collate |  Ctype  |   Access privileges   |  Size   | Tablespace |                Description
-----------+----------+-----------+---------+---------+-----------------------+---------+------------+--------------------------------------------
 grafana   | grafana  | UTF8      | C.UTF-8 | C.UTF-8 | =T/grafana           +| 8625 kB | pg_default |
           |          |           |         |         | grafana=CTc/grafana  +|         |            |
           |          |           |         |         | guest=c/grafana       |         |            |
 hedgedoc  | hedgedoc | UTF8      | C.UTF-8 | C.UTF-8 | =T/hedgedoc          +| 8625 kB | pg_default |
           |          |           |         |         | hedgedoc=CTc/hedgedoc+|         |            |
           |          |           |         |         | guest=c/hedgedoc      |         |            |
 keycloak  | keycloak | UTF8      | C.UTF-8 | C.UTF-8 | =T/keycloak          +| 8625 kB | pg_default |
           |          |           |         |         | keycloak=CTc/keycloak+|         |            |
           |          |           |         |         | guest=c/keycloak      |         |            |
 netbox    | netbox   | UTF8      | C.UTF-8 | C.UTF-8 | =T/netbox            +| 8625 kB | pg_default |
           |          |           |         |         | netbox=CTc/netbox    +|         |            |
           |          |           |         |         | guest=c/netbox        |         |            |
 postgres  | postgres | SQL_ASCII | C       | C       |                       | 8833 kB | pg_default | default administrative connection database
 sentry    | sentry   | UTF8      | C.UTF-8 | C.UTF-8 | =T/sentry            +| 8625 kB | pg_default |
           |          |           |         |         | sentry=CTc/sentry    +|         |            |
           |          |           |         |         | guest=c/sentry        |         |            |
 template0 | postgres | SQL_ASCII | C       | C       | =c/postgres          +| 8625 kB | pg_default | unmodifiable empty database
           |          |           |         |         | postgres=CTc/postgres |         |            |
 template1 | postgres | SQL_ASCII | C       | C       | =c/postgres          +| 8777 kB | pg_default | default template for new databases
           |          |           |         |         | postgres=CTc/postgres |         |            |

octo-diff happy:

bin/octocatalog-diff --to staging dali
Found host dali.internal.admin.swh.network
WARN     -> Environment "staging-add-prometheus-metrics" contained non-word characters, correcting name to staging_add_prometheus_metrics
WARN     -> Environment "staging-bullseye-rabbitmq-plugin" contained non-word characters, correcting name to staging_bullseye_rabbitmq_plugin
WARN     -> Environment "staging-check-journal-client" contained non-word characters, correcting name to staging_check_journal_client
WARN     -> Environment "staging-check-journal-client-2nd-implementation" contained non-word characters, correcting name to staging_check_journal_client_2nd_implementation
WARN     -> Environment "staging-check-journal-client-first-implem" contained non-word characters, correcting name to staging_check_journal_client_first_implem
WARN     -> Environment "staging-pin" contained non-word characters, correcting name to staging_pin
Cloning into '/tmp/swh-ocd.dS8pQicw/environments/production/data/private'...
done.
Cloning into '/tmp/swh-ocd.dS8pQicw/environments/staging/data/private'...
done.
*** Running octocatalog-diff on host dali.internal.admin.swh.network
I, [2022-01-13T12:05:21.697358 #69053]  INFO -- : Catalogs compiled for dali.internal.admin.swh.network
I, [2022-01-13T12:05:22.161920 #69053]  INFO -- : Diffs computed for dali.internal.admin.swh.network
diff origin/production/dali.internal.admin.swh.network current/dali.internal.admin.swh.network
*******************************************
+ Anchor[apt_key B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 present]
*******************************************
+ Anchor[postgresql::server::service::begin]
*******************************************
+ Anchor[postgresql::server::service::end]
*******************************************
+ Apt::Key[Add key: B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 from Apt::Source pgdg] =>
   parameters =>
     "content": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBE6XR8IBEACVdDKT2HEH...
     "ensure": "present",
     "id": "B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8",
     "server": "keyserver.ubuntu.com",
     "weak_ssl": false
*******************************************
+ Apt::Setting[list-pgdg] =>
   parameters =>
     "content": "# This file is managed by Puppet. DO NOT EDIT.\n# pgdg\ndeb http...
     "ensure": "present",
     "notify_update": true,
     "priority": 50
*******************************************
+ Apt::Setting[list-pglogical] =>
   parameters =>
     "content": "# This file is managed by Puppet. DO NOT EDIT.\n# pglogical\ndeb...
     "ensure": "absent",
     "notify_update": true,
     "priority": 50
*******************************************
+ Apt::Source[pgdg] =>
   parameters =>
     "allow_unsigned": false,
     "comment": "pgdg",
     "ensure": "present",
     "include": {
     },
     "key": {
       "id": "B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8",
       "content": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBE6XR8IBEACVdDKT2H...
     },
     "location": "https://apt.postgresql.org/pub/repos/apt/",
     "notify_update": true,
     "release": "bullseye-pgdg",
     "repos": "main"
*******************************************
+ Apt::Source[pglogical] =>
   parameters =>
     "allow_unsigned": false,
     "comment": "pglogical",
     "ensure": "absent",
     "include": {
     },
     "notify_update": true,
     "repos": "main"
*******************************************
+ Apt_key[Add key: B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 from Apt::Source pgdg] =>
   parameters =>
     "content": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBE6XR8IBEACVdDKT2HEH...
     "ensure": "present",
     "id": "B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8",
     "refresh": false,
     "server": "keyserver.ubuntu.com",
     "weak_ssl": false
*******************************************
+ Concat::Fragment[pg_hba_rule_allow access to all users] =>
   parameters =>
     "content": "\n# Rule Name: allow access to all users\n# Description: none\n#...
     "order": "100",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat::Fragment[pg_hba_rule_allow access to ipv6 localhost] =>
   parameters =>
     "content": "\n# Rule Name: allow access to ipv6 localhost\n# Description: no...
     "order": "101",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat::Fragment[pg_hba_rule_allow localhost TCP access to postgresql user] =>
   parameters =>
     "content": "\n# Rule Name: allow localhost TCP access to postgresql user\n# ...
     "order": "003",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat::Fragment[pg_hba_rule_local access as postgres user] =>
   parameters =>
     "content": "\n# Rule Name: local access as postgres user\n# Description: non...
     "order": "001",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat::Fragment[pg_hba_rule_local access to database with same name] =>
   parameters =>
     "content": "\n# Rule Name: local access to database with same name\n# Descri...
     "order": "002",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat::Fragment[pg_hba_rule_postgresql class generated rule ipv4acls 0] =>
   parameters =>
     "content": "\n# Rule Name: postgresql class generated rule ipv4acls 0\n# Des...
     "order": "010",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat[/etc/postgresql/14/main/pg_hba.conf] =>
   parameters =>
     "backup": "puppet",
     "ensure": "present",
     "ensure_newline": false,
     "force": false,
     "format": "plain",
     "group": "postgres",
     "mode": "0640",
     "notify": "Class[Postgresql::Server::Reload]",
     "order": "alpha",
     "owner": "postgres",
     "path": "/etc/postgresql/14/main/pg_hba.conf",
     "replace": true,
     "show_diff": true,
     "warn": true
*******************************************
+ Concat[/etc/postgresql/14/main/pg_ident.conf] =>
   parameters =>
     "backup": "puppet",
     "ensure": "present",
     "ensure_newline": false,
     "force": false,
     "format": "plain",
     "group": "postgres",
     "mode": "0640",
     "notify": "Class[Postgresql::Server::Reload]",
     "order": "alpha",
     "owner": "postgres",
     "path": "/etc/postgresql/14/main/pg_ident.conf",
     "replace": true,
     "show_diff": true,
     "warn": true
*******************************************
+ Concat_file[/etc/postgresql/14/main/pg_hba.conf] =>
   parameters =>
     "backup": "puppet",
     "ensure_newline": false,
     "force": false,
     "format": "plain",
     "group": "postgres",
     "mode": "0640",
     "order": "alpha",
     "owner": "postgres",
     "replace": true,
     "show_diff": true,
     "tag": "_etc_postgresql_14_main_pg_hba.conf"
*******************************************
+ Concat_file[/etc/postgresql/14/main/pg_ident.conf] =>
   parameters =>
     "backup": "puppet",
     "ensure_newline": false,
     "force": false,
     "format": "plain",
     "group": "postgres",
     "mode": "0640",
     "order": "alpha",
     "owner": "postgres",
     "replace": true,
     "show_diff": true,
     "tag": "_etc_postgresql_14_main_pg_ident.conf"
*******************************************
+ Concat_fragment[/etc/postgresql/14/main/pg_hba.conf_header] =>
   parameters =>
     "content": "# This file is managed by Puppet. DO NOT EDIT.\n",
     "order": "0",
     "tag": "_etc_postgresql_14_main_pg_hba.conf",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat_fragment[/etc/postgresql/14/main/pg_ident.conf_header] =>
   parameters =>
     "content": "# This file is managed by Puppet. DO NOT EDIT.\n",
     "order": "0",
     "tag": "_etc_postgresql_14_main_pg_ident.conf",
     "target": "/etc/postgresql/14/main/pg_ident.conf"
*******************************************
+ Concat_fragment[pg_hba_rule_allow access to all users] =>
   parameters =>
     "content": "\n# Rule Name: allow access to all users\n# Description: none\n#...
     "order": "100",
     "tag": "_etc_postgresql_14_main_pg_hba.conf",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat_fragment[pg_hba_rule_allow access to ipv6 localhost] =>
   parameters =>
     "content": "\n# Rule Name: allow access to ipv6 localhost\n# Description: no...
     "order": "101",
     "tag": "_etc_postgresql_14_main_pg_hba.conf",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat_fragment[pg_hba_rule_allow localhost TCP access to postgresql user] =>
   parameters =>
     "content": "\n# Rule Name: allow localhost TCP access to postgresql user\n# ...
     "order": "003",
     "tag": "_etc_postgresql_14_main_pg_hba.conf",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat_fragment[pg_hba_rule_local access as postgres user] =>
   parameters =>
     "content": "\n# Rule Name: local access as postgres user\n# Description: non...
     "order": "001",
     "tag": "_etc_postgresql_14_main_pg_hba.conf",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat_fragment[pg_hba_rule_local access to database with same name] =>
   parameters =>
     "content": "\n# Rule Name: local access to database with same name\n# Descri...
     "order": "002",
     "tag": "_etc_postgresql_14_main_pg_hba.conf",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat_fragment[pg_hba_rule_postgresql class generated rule ipv4acls 0] =>
   parameters =>
     "content": "\n# Rule Name: postgresql class generated rule ipv4acls 0\n# Des...
     "order": "010",
     "tag": "_etc_postgresql_14_main_pg_hba.conf",
     "target": "/etc/postgresql/14/main/pg_hba.conf"
*******************************************
+ Concat_fragment[profile::cron::restart-sql-exporter] =>
   parameters =>
     "content": "# Cron snippet restart-sql-exporter\n26 0-20/4 * * * root chroni...
     "order": "10",
     "tag": "profile::cron::prometheus",
     "target": "profile::cron::prometheus"
*******************************************
+ Exec[postgresql_initdb] =>
   parameters =>
     "command": "/usr/lib/postgresql/14/bin/initdb --pgdata '/srv/postgresql/14/m...
     "creates": "/srv/postgresql/14/main/PG_VERSION",
     "cwd": "/tmp",
     "group": "postgres",
     "logoutput": "on_failure",
     "user": "postgres"
*******************************************
+ Exec[postgresql_reload] =>
   parameters =>
     "command": "service postgresql reload",
     "onlyif": "/usr/sbin/service postgresql@*-main status",
     "path": "/usr/bin:/usr/sbin:/bin:/sbin",
     "refreshonly": true
*******************************************
+ Exec[postgresql_stop_data_directory] =>
   parameters =>
     "command": "service postgresql stop",
     "logoutput": "on_failure",
     "onlyif": "service postgresql status",
     "path": "/usr/sbin:/sbin:/bin:/usr/bin:/usr/local/bin",
     "unless": "grep \"data_directory = '/srv/postgresql/14/main'\" /etc/postgres...
*******************************************
+ Exec[sed -e /dar\./d -e /swh-dar-backup/d -i /var/spool/cron/crontabs/root] =>
   parameters =>
     "onlyif": "grep -q swh-dar-backup /var/spool/cron/crontabs/root",
     "path": [
       "/sbin",
       "/usr/sbin",
       "/bin",
       "/usr/bin"
     ]
*******************************************
+ Exec[set_postgres_postgrespw] =>
   parameters =>
     "command": "/usr/bin/psql -c \"ALTER ROLE \\\"postgres\\\" PASSWORD ${NEWPAS...
     "cwd": "/tmp",
     "environment": [
       "PGPASSWORD=swh-deploy-db-postgres-password",
       "PGPORT=5432",
       "NEWPASSWD_ESCAPED=$$swh-deploy-db-postgres-password$$"
     ],
     "group": "postgres",
     "logoutput": true,
     "path": "/usr/bin:/usr/local/bin:/bin",
     "unless": "/usr/bin/psql -h localhost -p 5432 -c 'select 1' > /dev/null",
     "user": "postgres"
*******************************************
+ Exec[ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519.borg -N ''] =>
   parameters =>
     "creates": "/root/.ssh/id_ed25519.borg",
     "path": [
       "/bin",
       "/usr/bin"
     ]
*******************************************
+ File[/etc/apt/sources.list.d/pgdg.list] =>
   parameters =>
     "content": "# This file is managed by Puppet. DO NOT EDIT.\n# pgdg\ndeb http...
     "ensure": "present",
     "group": "root",
     "notify": "Class[Apt::Update]",
     "owner": "root"
*******************************************
+ File[/etc/apt/sources.list.d/pglogical.list] =>
   parameters =>
     "content": "# This file is managed by Puppet. DO NOT EDIT.\n# pglogical\ndeb...
     "ensure": "absent",
     "group": "root",
     "notify": "Class[Apt::Update]",
     "owner": "root"
*******************************************
+ File[/etc/borgmatic/config.yaml] =>
   parameters =>
     "content": "# File managed by puppet - modifications will be lost\nlocation:...
     "ensure": "present",
     "group": "root",
     "mode": "0600",
     "owner": "root"
*******************************************
+ File[/etc/borgmatic] =>
   parameters =>
     "ensure": "directory",
     "group": "root",
     "mode": "0600",
     "owner": "root"
*******************************************
+ File[/etc/default/prometheus-sql-exporter] =>
   parameters =>
     "content": "# File managed by puppet (module profile::prometheus::sql)\n# Ch...
     "ensure": "present",
     "group": "root",
     "mode": "0644",
     "notify": "Service[prometheus-sql-exporter]",
     "owner": "root"
*******************************************
+ File[/etc/logrotate.d/swh-dar] =>
   parameters =>
     "ensure": "absent"
*******************************************
+ File[/etc/postgresql/14/main/postgresql.conf] =>
   parameters =>
     "ensure": "file",
     "group": "postgres",
     "mode": "0644",
     "owner": "postgres"
*******************************************
+ File[/etc/prometheus-sql-exporter/activity.yml] =>
   parameters =>
     "content": "# queries run once per cluster (via the 'postgres' database)\n\n...
     "ensure": "present",
     "group": "root",
     "mode": "0644",
     "notify": "Service[prometheus-sql-exporter]",
     "owner": "root"
*******************************************
+ File[/etc/prometheus-sql-exporter/queries.yml] =>
   parameters =>
     "content": "# queries run once per cluster (via the 'postgres' database)\n\n...
     "ensure": "present",
     "group": "root",
     "mode": "0644",
     "notify": "Service[prometheus-sql-exporter]",
     "owner": "root"
*******************************************
+ File[/etc/prometheus-sql-exporter/replication.yml] =>
   parameters =>
     "content": "# queries run once per cluster (via the 'postgres' database)\n\n...
     "ensure": "present",
     "group": "root",
     "mode": "0644",
     "notify": "Service[prometheus-sql-exporter]",
     "owner": "root"
*******************************************
+ File[/etc/prometheus-sql-exporter/wal.yml] =>
   parameters =>
     "content": "# queries run once per cluster (via the 'postgres' database)\n\n...
     "ensure": "present",
     "group": "root",
     "mode": "0644",
     "notify": "Service[prometheus-sql-exporter]",
     "owner": "root"
*******************************************
+ File[/etc/prometheus-sql-exporter] =>
   parameters =>
     "ensure": "directory",
     "group": "root",
     "mode": "0644",
     "notify": "Service[prometheus-sql-exporter]",
     "owner": "root"
*******************************************
+ File[/etc/systemd/system/prometheus-sql-exporter.service.d/restart.conf] =>
   parameters =>
     "content": "[Service]\nRestart=always\nRestartSec=5\n",
     "ensure": "file",
     "group": "root",
     "mode": "0444",
     "notify": [
       "Class[Systemd::Systemctl::Daemon_reload]"
     ],
     "owner": "root",
     "selinux_ignore_defaults": false,
     "show_diff": true
*******************************************
+ File[/etc/systemd/system/prometheus-sql-exporter.service.d/update_config.conf] =>
   parameters =>
     "content": "# File managed by puppet (module profile::prometheus::sql)\n# Ch...
     "ensure": "file",
     "group": "root",
     "mode": "0444",
     "notify": [
       "Class[Systemd::Systemctl::Daemon_reload]"
     ],
     "owner": "root",
     "selinux_ignore_defaults": false,
     "show_diff": true
*******************************************
+ File[/etc/systemd/system/prometheus-sql-exporter.service.d] =>
   parameters =>
     "ensure": "directory",
     "group": "root",
     "owner": "root",
     "purge": true,
     "recurse": true,
     "selinux_ignore_defaults": false
*******************************************
+ File[/srv/backups] =>
   parameters =>
     "ensure": "absent",
     "force": true,
     "purge": true,
     "recurse": true
*******************************************
+ File[/srv/postgresql/14/main] =>
   parameters =>
     "ensure": "directory",
     "group": "postgres",
     "mode": "0700",
     "owner": "postgres"
*******************************************
+ File[/srv/postgresql/14] =>
   parameters =>
     "ensure": "directory",
     "group": "root",
     "mode": "0655",
     "owner": "root"
*******************************************
+ File[/srv/postgresql] =>
   parameters =>
     "ensure": "directory",
     "group": "root",
     "mode": "0655",
     "owner": "root"
*******************************************
+ File[/usr/bin/update-prometheus-sql-exporter-config] =>
   parameters =>
     "content": "#!/usr/bin/perl\n\nuse strict;\nuse warnings;\nuse PgCommon;\nus...
     "ensure": "present",
     "group": "root",
     "mode": "0755",
     "notify": "Service[prometheus-sql-exporter]",
     "owner": "root"
*******************************************
+ File[/usr/local/bin/swh-dar-backup] =>
   parameters =>
     "ensure": "absent"
*******************************************
+ File[/var/lib/borg] =>
   parameters =>
     "ensure": "directory",
     "group": "root",
     "mode": "0600",
     "owner": "root"
*******************************************
+ File[/var/log/dar] =>
   parameters =>
     "ensure": "absent",
     "force": true,
     "purge": true,
     "recurse": true
*******************************************
+ Node[dali.internal.admin.swh.network]
*******************************************
- Node[default]
*******************************************
+ Package[borgbackup] =>
   parameters =>
     "ensure": "installed"
*******************************************
+ Package[borgmatic] =>
   parameters =>
     "ensure": "installed"
*******************************************
+ Package[libyaml-perl] =>
   parameters =>
     "ensure": "installed"
*******************************************
+ Package[postgresql-client-common] =>
   parameters =>
     "ensure": "installed"
*******************************************
+ Package[postgresql-server] =>
   parameters =>
     "ensure": "present",
     "name": "postgresql-14",
     "tag": "puppetlabs-postgresql"
*******************************************
+ Package[prometheus-sql-exporter] =>
   parameters =>
     "ensure": "installed"
*******************************************
+ Postgresql::Server::Config_entry[data_directory] =>
   parameters =>
     "ensure": "present",
     "path": false,
     "value": "/srv/postgresql/14/main"
*******************************************
+ Postgresql::Server::Config_entry[listen_addresses] =>
   parameters =>
     "ensure": "present",
     "path": false,
     "value": [
       "0.0.0.0"
     ]
*******************************************
+ Postgresql::Server::Config_entry[max_connections] =>
   parameters =>
     "ensure": "present",
     "path": false,
     "value": 100
*******************************************
+ Postgresql::Server::Config_entry[port] =>
   parameters =>
     "ensure": "present",
     "path": false,
     "value": 5432
*******************************************
+ Postgresql::Server::Config_entry[shared_preload_libraries] =>
   parameters =>
     "ensure": "present",
     "path": false,
     "value": "pg_stat_statements"
*******************************************
+ Postgresql::Server::Database[grafana] =>
   parameters =>
     "connect_settings": {
     },
     "dbname": "grafana",
     "encoding": "UTF8",
     "istemplate": false,
     "locale": "C.UTF-8",
     "owner": "grafana",
     "template": "template0"
*******************************************
+ Postgresql::Server::Database[hedgedoc] =>
   parameters =>
     "connect_settings": {
     },
     "dbname": "hedgedoc",
     "encoding": "UTF8",
     "istemplate": false,
     "locale": "C.UTF-8",
     "owner": "hedgedoc",
     "template": "template0"
*******************************************
+ Postgresql::Server::Database[keycloak] =>
   parameters =>
     "connect_settings": {
     },
     "dbname": "keycloak",
     "encoding": "UTF8",
     "istemplate": false,
     "locale": "C.UTF-8",
     "owner": "keycloak",
     "template": "template0"
*******************************************
+ Postgresql::Server::Database[netbox] =>
   parameters =>
     "connect_settings": {
     },
     "dbname": "netbox",
     "encoding": "UTF8",
     "istemplate": false,
     "locale": "C.UTF-8",
     "owner": "netbox",
     "template": "template0"
*******************************************
+ Postgresql::Server::Database[sentry] =>
   parameters =>
     "connect_settings": {
     },
     "dbname": "sentry",
     "encoding": "UTF8",
     "istemplate": false,
     "locale": "C.UTF-8",
     "owner": "sentry",
     "template": "template0"
*******************************************
+ Postgresql::Server::Database_grant[GRANT grafana - ALL - grafana] =>
   parameters =>
     "db": "grafana",
     "privilege": "ALL",
     "role": "grafana"
*******************************************
+ Postgresql::Server::Database_grant[GRANT hedgedoc - ALL - hedgedoc] =>
   parameters =>
     "db": "hedgedoc",
     "privilege": "ALL",
     "role": "hedgedoc"
*******************************************
+ Postgresql::Server::Database_grant[GRANT keycloak - ALL - keycloak] =>
   parameters =>
     "db": "keycloak",
     "privilege": "ALL",
     "role": "keycloak"
*******************************************
+ Postgresql::Server::Database_grant[GRANT netbox - ALL - netbox] =>
   parameters =>
     "db": "netbox",
     "privilege": "ALL",
     "role": "netbox"
*******************************************
+ Postgresql::Server::Database_grant[GRANT sentry - ALL - sentry] =>
   parameters =>
     "db": "sentry",
     "privilege": "ALL",
     "role": "sentry"
*******************************************
+ Postgresql::Server::Database_grant[grafana] =>
   parameters =>
     "db": "grafana",
     "privilege": "connect",
     "role": "guest"
*******************************************
+ Postgresql::Server::Database_grant[hedgedoc] =>
   parameters =>
     "db": "hedgedoc",
     "privilege": "connect",
     "role": "guest"
*******************************************
+ Postgresql::Server::Database_grant[keycloak] =>
   parameters =>
     "db": "keycloak",
     "privilege": "connect",
     "role": "guest"
*******************************************
+ Postgresql::Server::Database_grant[netbox] =>
   parameters =>
     "db": "netbox",
     "privilege": "connect",
     "role": "guest"
*******************************************
+ Postgresql::Server::Database_grant[sentry] =>
   parameters =>
     "db": "sentry",
     "privilege": "connect",
     "role": "guest"
*******************************************
+ Postgresql::Server::Db[grafana] =>
   parameters =>
     "dbname": "grafana",
     "encoding": "UTF8",
     "grant": "ALL",
     "istemplate": false,
     "locale": "C.UTF-8",
     "owner": "grafana",
     "password": "grafana-db-password",
     "template": "template0",
     "user": "grafana"
*******************************************
+ Postgresql::Server::Db[hedgedoc] =>
   parameters =>
     "dbname": "hedgedoc",
     "encoding": "UTF8",
     "grant": "ALL",
     "istemplate": false,
     "locale": "C.UTF-8",
     "owner": "hedgedoc",
     "password": "swh-deploy-hedgedoc-db-password",
     "template": "template0",
     "user": "hedgedoc"
*******************************************
+ Postgresql::Server::Db[keycloak] =>
   parameters =>
     "dbname": "keycloak",
     "encoding": "UTF8",
     "grant": "ALL",
     "istemplate": false,
     "locale": "C.UTF-8",
     "owner": "keycloak",
     "password": "keycloak-postgres-password",
     "template": "template0",
     "user": "keycloak"
*******************************************
+ Postgresql::Server::Db[netbox] =>
   parameters =>
     "dbname": "netbox",
     "encoding": "UTF8",
     "grant": "ALL",
     "istemplate": false,
     "locale": "C.UTF-8",
     "owner": "netbox",
     "password": "netbox-db-password",
     "template": "template0",
     "user": "netbox"
*******************************************
+ Postgresql::Server::Db[sentry] =>
   parameters =>
     "dbname": "sentry",
     "encoding": "UTF8",
     "grant": "ALL",
     "istemplate": false,
     "locale": "C.UTF-8",
     "owner": "sentry",
     "password": "sentry-postgres-password",
     "template": "template0",
     "user": "sentry"
*******************************************
+ Postgresql::Server::Grant[database:GRANT grafana - ALL - grafana] =>
   parameters =>
     "connect_settings": {
     },
     "db": "grafana",
     "ensure": "present",
     "group": "postgres",
     "object_arguments": [

     ],
     "object_name": "grafana",
     "object_type": "DATABASE",
     "onlyif_exists": false,
     "port": 5432,
     "privilege": "ALL",
     "psql_db": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "role": "grafana"
*******************************************
+ Postgresql::Server::Grant[database:GRANT hedgedoc - ALL - hedgedoc] =>
   parameters =>
     "connect_settings": {
     },
     "db": "hedgedoc",
     "ensure": "present",
     "group": "postgres",
     "object_arguments": [

     ],
     "object_name": "hedgedoc",
     "object_type": "DATABASE",
     "onlyif_exists": false,
     "port": 5432,
     "privilege": "ALL",
     "psql_db": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "role": "hedgedoc"
*******************************************
+ Postgresql::Server::Grant[database:GRANT keycloak - ALL - keycloak] =>
   parameters =>
     "connect_settings": {
     },
     "db": "keycloak",
     "ensure": "present",
     "group": "postgres",
     "object_arguments": [

     ],
     "object_name": "keycloak",
     "object_type": "DATABASE",
     "onlyif_exists": false,
     "port": 5432,
     "privilege": "ALL",
     "psql_db": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "role": "keycloak"
*******************************************
+ Postgresql::Server::Grant[database:GRANT netbox - ALL - netbox] =>
   parameters =>
     "connect_settings": {
     },
     "db": "netbox",
     "ensure": "present",
     "group": "postgres",
     "object_arguments": [

     ],
     "object_name": "netbox",
     "object_type": "DATABASE",
     "onlyif_exists": false,
     "port": 5432,
     "privilege": "ALL",
     "psql_db": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "role": "netbox"
*******************************************
+ Postgresql::Server::Grant[database:GRANT sentry - ALL - sentry] =>
   parameters =>
     "connect_settings": {
     },
     "db": "sentry",
     "ensure": "present",
     "group": "postgres",
     "object_arguments": [

     ],
     "object_name": "sentry",
     "object_type": "DATABASE",
     "onlyif_exists": false,
     "port": 5432,
     "privilege": "ALL",
     "psql_db": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "role": "sentry"
*******************************************
+ Postgresql::Server::Grant[database:grafana] =>
   parameters =>
     "connect_settings": {
     },
     "db": "grafana",
     "ensure": "present",
     "group": "postgres",
     "object_arguments": [

     ],
     "object_name": "grafana",
     "object_type": "DATABASE",
     "onlyif_exists": false,
     "port": 5432,
     "privilege": "connect",
     "psql_db": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "role": "guest"
*******************************************
+ Postgresql::Server::Grant[database:hedgedoc] =>
   parameters =>
     "connect_settings": {
     },
     "db": "hedgedoc",
     "ensure": "present",
     "group": "postgres",
     "object_arguments": [

     ],
     "object_name": "hedgedoc",
     "object_type": "DATABASE",
     "onlyif_exists": false,
     "port": 5432,
     "privilege": "connect",
     "psql_db": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "role": "guest"
*******************************************
+ Postgresql::Server::Grant[database:keycloak] =>
   parameters =>
     "connect_settings": {
     },
     "db": "keycloak",
     "ensure": "present",
     "group": "postgres",
     "object_arguments": [

     ],
     "object_name": "keycloak",
     "object_type": "DATABASE",
     "onlyif_exists": false,
     "port": 5432,
     "privilege": "connect",
     "psql_db": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "role": "guest"
*******************************************
+ Postgresql::Server::Grant[database:netbox] =>
   parameters =>
     "connect_settings": {
     },
     "db": "netbox",
     "ensure": "present",
     "group": "postgres",
     "object_arguments": [

     ],
     "object_name": "netbox",
     "object_type": "DATABASE",
     "onlyif_exists": false,
     "port": 5432,
     "privilege": "connect",
     "psql_db": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "role": "guest"
*******************************************
+ Postgresql::Server::Grant[database:sentry] =>
   parameters =>
     "connect_settings": {
     },
     "db": "sentry",
     "ensure": "present",
     "group": "postgres",
     "object_arguments": [

     ],
     "object_name": "sentry",
     "object_type": "DATABASE",
     "onlyif_exists": false,
     "port": 5432,
     "privilege": "connect",
     "psql_db": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "role": "guest"
*******************************************
+ Postgresql::Server::Pg_hba_rule[allow access to all users] =>
   parameters =>
     "address": "0.0.0.0/0",
     "auth_method": "md5",
     "database": "all",
     "description": "none",
     "order": 100,
     "postgresql_version": "14",
     "target": "/etc/postgresql/14/main/pg_hba.conf",
     "type": "host",
     "user": "all"
*******************************************
+ Postgresql::Server::Pg_hba_rule[allow access to ipv6 localhost] =>
   parameters =>
     "address": "::1/128",
     "auth_method": "md5",
     "database": "all",
     "description": "none",
     "order": 101,
     "postgresql_version": "14",
     "target": "/etc/postgresql/14/main/pg_hba.conf",
     "type": "host",
     "user": "all"
*******************************************
+ Postgresql::Server::Pg_hba_rule[allow localhost TCP access to postgresql user] =>
   parameters =>
     "address": "127.0.0.1/32",
     "auth_method": "md5",
     "database": "all",
     "description": "none",
     "order": 3,
     "postgresql_version": "14",
     "target": "/etc/postgresql/14/main/pg_hba.conf",
     "type": "host",
     "user": "postgres"
*******************************************
+ Postgresql::Server::Pg_hba_rule[local access as postgres user] =>
   parameters =>
     "auth_method": "ident",
     "database": "all",
     "description": "none",
     "order": 1,
     "postgresql_version": "14",
     "target": "/etc/postgresql/14/main/pg_hba.conf",
     "type": "local",
     "user": "postgres"
*******************************************
+ Postgresql::Server::Pg_hba_rule[local access to database with same name] =>
   parameters =>
     "auth_method": "ident",
     "database": "all",
     "description": "none",
     "order": 2,
     "postgresql_version": "14",
     "target": "/etc/postgresql/14/main/pg_hba.conf",
     "type": "local",
     "user": "all"
*******************************************
+ Postgresql::Server::Pg_hba_rule[postgresql class generated rule ipv4acls 0] =>
   parameters =>
     "address": "192.168.100.0/24",
     "auth_method": "md5",
     "database": "all",
     "description": "none",
     "order": "010",
     "postgresql_version": "14",
     "target": "/etc/postgresql/14/main/pg_hba.conf",
     "type": "host",
     "user": "all"
*******************************************
+ Postgresql::Server::Role[grafana] =>
   parameters =>
     "connect_settings": {
     },
     "connection_limit": "-1",
     "createdb": false,
     "createrole": false,
     "db": "postgres",
     "ensure": "present",
     "inherit": true,
     "login": true,
     "module_workdir": "/tmp",
     "password_hash": "grafana-db-password",
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "replication": false,
     "superuser": false,
     "update_password": true,
     "username": "grafana"
*******************************************
+ Postgresql::Server::Role[guest] =>
   parameters =>
     "connect_settings": {
     },
     "connection_limit": "-1",
     "createdb": false,
     "createrole": false,
     "db": "postgres",
     "ensure": "present",
     "inherit": true,
     "login": true,
     "module_workdir": "/tmp",
     "password_hash": "md5fe4ceeb01d43a6c29d8f4fe93313c6c1",
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "replication": false,
     "superuser": false,
     "update_password": true,
     "username": "guest"
*******************************************
+ Postgresql::Server::Role[hedgedoc] =>
   parameters =>
     "connect_settings": {
     },
     "connection_limit": "-1",
     "createdb": false,
     "createrole": false,
     "db": "postgres",
     "ensure": "present",
     "inherit": true,
     "login": true,
     "module_workdir": "/tmp",
     "password_hash": "swh-deploy-hedgedoc-db-password",
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "replication": false,
     "superuser": false,
     "update_password": true,
     "username": "hedgedoc"
*******************************************
+ Postgresql::Server::Role[keycloak] =>
   parameters =>
     "connect_settings": {
     },
     "connection_limit": "-1",
     "createdb": false,
     "createrole": false,
     "db": "postgres",
     "ensure": "present",
     "inherit": true,
     "login": true,
     "module_workdir": "/tmp",
     "password_hash": "keycloak-postgres-password",
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "replication": false,
     "superuser": false,
     "update_password": true,
     "username": "keycloak"
*******************************************
+ Postgresql::Server::Role[netbox] =>
   parameters =>
     "connect_settings": {
     },
     "connection_limit": "-1",
     "createdb": false,
     "createrole": false,
     "db": "postgres",
     "ensure": "present",
     "inherit": true,
     "login": true,
     "module_workdir": "/tmp",
     "password_hash": "netbox-db-password",
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "replication": false,
     "superuser": false,
     "update_password": true,
     "username": "netbox"
*******************************************
+ Postgresql::Server::Role[sentry] =>
   parameters =>
     "connect_settings": {
     },
     "connection_limit": "-1",
     "createdb": false,
     "createrole": false,
     "db": "postgres",
     "ensure": "present",
     "inherit": true,
     "login": true,
     "module_workdir": "/tmp",
     "password_hash": "sentry-postgres-password",
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "replication": false,
     "superuser": false,
     "update_password": true,
     "username": "sentry"
*******************************************
+ Postgresql_conf[data_directory] =>
   parameters =>
     "ensure": "present",
     "notify": "Class[Postgresql::Server::Service]",
     "target": "/etc/postgresql/14/main/postgresql.conf",
     "value": "/srv/postgresql/14/main"
*******************************************
+ Postgresql_conf[listen_addresses] =>
   parameters =>
     "ensure": "present",
     "notify": "Class[Postgresql::Server::Service]",
     "target": "/etc/postgresql/14/main/postgresql.conf",
     "value": [
       "0.0.0.0"
     ]
*******************************************
+ Postgresql_conf[max_connections] =>
   parameters =>
     "ensure": "present",
     "notify": "Class[Postgresql::Server::Service]",
     "target": "/etc/postgresql/14/main/postgresql.conf",
     "value": 100
*******************************************
+ Postgresql_conf[port] =>
   parameters =>
     "ensure": "present",
     "notify": "Class[Postgresql::Server::Service]",
     "target": "/etc/postgresql/14/main/postgresql.conf",
     "value": 5432
*******************************************
+ Postgresql_conf[shared_preload_libraries] =>
   parameters =>
     "ensure": "present",
     "notify": "Class[Postgresql::Server::Service]",
     "target": "/etc/postgresql/14/main/postgresql.conf",
     "value": "pg_stat_statements"
*******************************************
+ Postgresql_conn_validator[validate_service_is_running] =>
   parameters =>
     "connect_settings": {
     },
     "db_name": "postgres",
     "port": 5432,
     "psql_path": "/usr/bin/psql",
     "run_as": "postgres",
     "sleep": 1,
     "tries": 60
*******************************************
+ Postgresql_psql[ALTER DATABASE "grafana" OWNER TO "grafana"] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database JOIN pg_roles rol ON datdba = rol.oid W...
*******************************************
+ Postgresql_psql[ALTER DATABASE "hedgedoc" OWNER TO "hedgedoc"] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database JOIN pg_roles rol ON datdba = rol.oid W...
*******************************************
+ Postgresql_psql[ALTER DATABASE "keycloak" OWNER TO "keycloak"] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database JOIN pg_roles rol ON datdba = rol.oid W...
*******************************************
+ Postgresql_psql[ALTER DATABASE "netbox" OWNER TO "netbox"] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database JOIN pg_roles rol ON datdba = rol.oid W...
*******************************************
+ Postgresql_psql[ALTER DATABASE "sentry" OWNER TO "sentry"] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database JOIN pg_roles rol ON datdba = rol.oid W...
*******************************************
+ Postgresql_psql[ALTER ROLE "grafana" CONNECTION LIMIT -1] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'grafana' AND rolconnlimit...
*******************************************
+ Postgresql_psql[ALTER ROLE "grafana" INHERIT] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'grafana' AND rolinherit =...
*******************************************
+ Postgresql_psql[ALTER ROLE "grafana" LOGIN] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'grafana' AND rolcanlogin ...
*******************************************
+ Postgresql_psql[ALTER ROLE "grafana" NOCREATEDB] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'grafana' AND rolcreatedb ...
*******************************************
+ Postgresql_psql[ALTER ROLE "grafana" NOCREATEROLE] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'grafana' AND rolcreaterol...
*******************************************
+ Postgresql_psql[ALTER ROLE "grafana" NOREPLICATION] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'grafana' AND rolreplicati...
*******************************************
+ Postgresql_psql[ALTER ROLE "grafana" NOSUPERUSER] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'grafana' AND rolsuper = f...
*******************************************
+ Postgresql_psql[ALTER ROLE "guest" CONNECTION LIMIT -1] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'guest' AND rolconnlimit =...
*******************************************
+ Postgresql_psql[ALTER ROLE "guest" INHERIT] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'guest' AND rolinherit = t...
*******************************************
+ Postgresql_psql[ALTER ROLE "guest" LOGIN] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'guest' AND rolcanlogin = ...
*******************************************
+ Postgresql_psql[ALTER ROLE "guest" NOCREATEDB] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'guest' AND rolcreatedb = ...
*******************************************
+ Postgresql_psql[ALTER ROLE "guest" NOCREATEROLE] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'guest' AND rolcreaterole ...
*******************************************
+ Postgresql_psql[ALTER ROLE "guest" NOREPLICATION] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'guest' AND rolreplication...
*******************************************
+ Postgresql_psql[ALTER ROLE "guest" NOSUPERUSER] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'guest' AND rolsuper = fal...
*******************************************
+ Postgresql_psql[ALTER ROLE "hedgedoc" CONNECTION LIMIT -1] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'hedgedoc' AND rolconnlimi...
*******************************************
+ Postgresql_psql[ALTER ROLE "hedgedoc" INHERIT] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'hedgedoc' AND rolinherit ...
*******************************************
+ Postgresql_psql[ALTER ROLE "hedgedoc" LOGIN] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'hedgedoc' AND rolcanlogin...
*******************************************
+ Postgresql_psql[ALTER ROLE "hedgedoc" NOCREATEDB] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'hedgedoc' AND rolcreatedb...
*******************************************
+ Postgresql_psql[ALTER ROLE "hedgedoc" NOCREATEROLE] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'hedgedoc' AND rolcreatero...
*******************************************
+ Postgresql_psql[ALTER ROLE "hedgedoc" NOREPLICATION] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'hedgedoc' AND rolreplicat...
*******************************************
+ Postgresql_psql[ALTER ROLE "hedgedoc" NOSUPERUSER] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'hedgedoc' AND rolsuper = ...
*******************************************
+ Postgresql_psql[ALTER ROLE "keycloak" CONNECTION LIMIT -1] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'keycloak' AND rolconnlimi...
*******************************************
+ Postgresql_psql[ALTER ROLE "keycloak" INHERIT] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'keycloak' AND rolinherit ...
*******************************************
+ Postgresql_psql[ALTER ROLE "keycloak" LOGIN] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'keycloak' AND rolcanlogin...
*******************************************
+ Postgresql_psql[ALTER ROLE "keycloak" NOCREATEDB] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'keycloak' AND rolcreatedb...
*******************************************
+ Postgresql_psql[ALTER ROLE "keycloak" NOCREATEROLE] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'keycloak' AND rolcreatero...
*******************************************
+ Postgresql_psql[ALTER ROLE "keycloak" NOREPLICATION] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'keycloak' AND rolreplicat...
*******************************************
+ Postgresql_psql[ALTER ROLE "keycloak" NOSUPERUSER] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'keycloak' AND rolsuper = ...
*******************************************
+ Postgresql_psql[ALTER ROLE "netbox" CONNECTION LIMIT -1] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'netbox' AND rolconnlimit ...
*******************************************
+ Postgresql_psql[ALTER ROLE "netbox" INHERIT] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'netbox' AND rolinherit = ...
*******************************************
+ Postgresql_psql[ALTER ROLE "netbox" LOGIN] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'netbox' AND rolcanlogin =...
*******************************************
+ Postgresql_psql[ALTER ROLE "netbox" NOCREATEDB] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'netbox' AND rolcreatedb =...
*******************************************
+ Postgresql_psql[ALTER ROLE "netbox" NOCREATEROLE] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'netbox' AND rolcreaterole...
*******************************************
+ Postgresql_psql[ALTER ROLE "netbox" NOREPLICATION] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'netbox' AND rolreplicatio...
*******************************************
+ Postgresql_psql[ALTER ROLE "netbox" NOSUPERUSER] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'netbox' AND rolsuper = fa...
*******************************************
+ Postgresql_psql[ALTER ROLE "sentry" CONNECTION LIMIT -1] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'sentry' AND rolconnlimit ...
*******************************************
+ Postgresql_psql[ALTER ROLE "sentry" INHERIT] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'sentry' AND rolinherit = ...
*******************************************
+ Postgresql_psql[ALTER ROLE "sentry" LOGIN] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'sentry' AND rolcanlogin =...
*******************************************
+ Postgresql_psql[ALTER ROLE "sentry" NOCREATEDB] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'sentry' AND rolcreatedb =...
*******************************************
+ Postgresql_psql[ALTER ROLE "sentry" NOCREATEROLE] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'sentry' AND rolcreaterole...
*******************************************
+ Postgresql_psql[ALTER ROLE "sentry" NOREPLICATION] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'sentry' AND rolreplicatio...
*******************************************
+ Postgresql_psql[ALTER ROLE "sentry" NOSUPERUSER] =>
   parameters =>
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'sentry' AND rolsuper = fa...
*******************************************
+ Postgresql_psql[ALTER ROLE grafana ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "ALTER ROLE \"grafana\" ENCRYPTED PASSWORD 'grafana-db-password'"...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_shadow WHERE usename = 'grafana' AND passwd = 'm...
*******************************************
+ Postgresql_psql[ALTER ROLE guest ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "ALTER ROLE \"guest\" ENCRYPTED PASSWORD 'md5fe4ceeb01d43a6c29d8f...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_shadow WHERE usename = 'guest' AND passwd = 'md5...
*******************************************
+ Postgresql_psql[ALTER ROLE hedgedoc ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "ALTER ROLE \"hedgedoc\" ENCRYPTED PASSWORD 'swh-deploy-hedgedoc-...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_shadow WHERE usename = 'hedgedoc' AND passwd = '...
*******************************************
+ Postgresql_psql[ALTER ROLE keycloak ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "ALTER ROLE \"keycloak\" ENCRYPTED PASSWORD 'keycloak-postgres-pa...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_shadow WHERE usename = 'keycloak' AND passwd = '...
*******************************************
+ Postgresql_psql[ALTER ROLE netbox ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "ALTER ROLE \"netbox\" ENCRYPTED PASSWORD 'netbox-db-password'",
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_shadow WHERE usename = 'netbox' AND passwd = 'md...
*******************************************
+ Postgresql_psql[ALTER ROLE sentry ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "ALTER ROLE \"sentry\" ENCRYPTED PASSWORD 'sentry-postgres-passwo...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_shadow WHERE usename = 'sentry' AND passwd = 'md...
*******************************************
+ Postgresql_psql[CREATE DATABASE "grafana"] =>
   parameters =>
     "command": "CREATE DATABASE \"grafana\" WITH TEMPLATE = \"template0\" ENCODI...
     "connect_settings": {
     },
     "db": "postgres",
     "notify": [
       "Postgresql_psql[REVOKE CONNECT ON DATABASE \"grafana\" FROM public]"
     ],
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database WHERE datname = 'grafana'"
*******************************************
+ Postgresql_psql[CREATE DATABASE "hedgedoc"] =>
   parameters =>
     "command": "CREATE DATABASE \"hedgedoc\" WITH TEMPLATE = \"template0\" ENCOD...
     "connect_settings": {
     },
     "db": "postgres",
     "notify": [
       "Postgresql_psql[REVOKE CONNECT ON DATABASE \"hedgedoc\" FROM public]"
     ],
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database WHERE datname = 'hedgedoc'"
*******************************************
+ Postgresql_psql[CREATE DATABASE "keycloak"] =>
   parameters =>
     "command": "CREATE DATABASE \"keycloak\" WITH TEMPLATE = \"template0\" ENCOD...
     "connect_settings": {
     },
     "db": "postgres",
     "notify": [
       "Postgresql_psql[REVOKE CONNECT ON DATABASE \"keycloak\" FROM public]"
     ],
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database WHERE datname = 'keycloak'"
*******************************************
+ Postgresql_psql[CREATE DATABASE "netbox"] =>
   parameters =>
     "command": "CREATE DATABASE \"netbox\" WITH TEMPLATE = \"template0\" ENCODIN...
     "connect_settings": {
     },
     "db": "postgres",
     "notify": [
       "Postgresql_psql[REVOKE CONNECT ON DATABASE \"netbox\" FROM public]"
     ],
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database WHERE datname = 'netbox'"
*******************************************
+ Postgresql_psql[CREATE DATABASE "sentry"] =>
   parameters =>
     "command": "CREATE DATABASE \"sentry\" WITH TEMPLATE = \"template0\" ENCODIN...
     "connect_settings": {
     },
     "db": "postgres",
     "notify": [
       "Postgresql_psql[REVOKE CONNECT ON DATABASE \"sentry\" FROM public]"
     ],
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database WHERE datname = 'sentry'"
*******************************************
+ Postgresql_psql[CREATE ROLE grafana ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "CREATE ROLE \"grafana\" ENCRYPTED PASSWORD 'grafana-db-password'...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'grafana'"
*******************************************
+ Postgresql_psql[CREATE ROLE guest ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "CREATE ROLE \"guest\" ENCRYPTED PASSWORD 'md5fe4ceeb01d43a6c29d8...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'guest'"
*******************************************
+ Postgresql_psql[CREATE ROLE hedgedoc ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "CREATE ROLE \"hedgedoc\" ENCRYPTED PASSWORD 'swh-deploy-hedgedoc...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'hedgedoc'"
*******************************************
+ Postgresql_psql[CREATE ROLE keycloak ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "CREATE ROLE \"keycloak\" ENCRYPTED PASSWORD 'keycloak-postgres-p...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'keycloak'"
*******************************************
+ Postgresql_psql[CREATE ROLE netbox ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "CREATE ROLE \"netbox\" ENCRYPTED PASSWORD 'netbox-db-password' L...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'netbox'"
*******************************************
+ Postgresql_psql[CREATE ROLE sentry ENCRYPTED PASSWORD ****] =>
   parameters =>
     "command": "CREATE ROLE \"sentry\" ENCRYPTED PASSWORD 'sentry-postgres-passw...
     "connect_settings": {
     },
     "cwd": "/tmp",
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "sensitive": true,
     "unless": "SELECT 1 FROM pg_roles WHERE rolname = 'sentry'"
*******************************************
+ Postgresql_psql[REVOKE CONNECT ON DATABASE "grafana" FROM public] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "refreshonly": true
*******************************************
+ Postgresql_psql[REVOKE CONNECT ON DATABASE "hedgedoc" FROM public] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "refreshonly": true
*******************************************
+ Postgresql_psql[REVOKE CONNECT ON DATABASE "keycloak" FROM public] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "refreshonly": true
*******************************************
+ Postgresql_psql[REVOKE CONNECT ON DATABASE "netbox" FROM public] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "refreshonly": true
*******************************************
+ Postgresql_psql[REVOKE CONNECT ON DATABASE "sentry" FROM public] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "refreshonly": true
*******************************************
+ Postgresql_psql[UPDATE pg_database SET datistemplate = false WHERE datname = 'grafana'] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database WHERE datname = 'grafana' AND datistemp...
*******************************************
+ Postgresql_psql[UPDATE pg_database SET datistemplate = false WHERE datname = 'hedgedoc'] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database WHERE datname = 'hedgedoc' AND datistem...
*******************************************
+ Postgresql_psql[UPDATE pg_database SET datistemplate = false WHERE datname = 'keycloak'] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database WHERE datname = 'keycloak' AND datistem...
*******************************************
+ Postgresql_psql[UPDATE pg_database SET datistemplate = false WHERE datname = 'netbox'] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database WHERE datname = 'netbox' AND datistempl...
*******************************************
+ Postgresql_psql[UPDATE pg_database SET datistemplate = false WHERE datname = 'sentry'] =>
   parameters =>
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 FROM pg_database WHERE datname = 'sentry' AND datistempl...
*******************************************
+ Postgresql_psql[grant:database:GRANT grafana - ALL - grafana] =>
   parameters =>
     "command": "GRANT ALL ON DATABASE \"grafana\" TO \"grafana\"",
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 WHERE has_database_privilege('grafana', 'grafana', 'CREA...
*******************************************
+ Postgresql_psql[grant:database:GRANT hedgedoc - ALL - hedgedoc] =>
   parameters =>
     "command": "GRANT ALL ON DATABASE \"hedgedoc\" TO \"hedgedoc\"",
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 WHERE has_database_privilege('hedgedoc', 'hedgedoc', 'CR...
*******************************************
+ Postgresql_psql[grant:database:GRANT keycloak - ALL - keycloak] =>
   parameters =>
     "command": "GRANT ALL ON DATABASE \"keycloak\" TO \"keycloak\"",
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 WHERE has_database_privilege('keycloak', 'keycloak', 'CR...
*******************************************
+ Postgresql_psql[grant:database:GRANT netbox - ALL - netbox] =>
   parameters =>
     "command": "GRANT ALL ON DATABASE \"netbox\" TO \"netbox\"",
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 WHERE has_database_privilege('netbox', 'netbox', 'CREATE...
*******************************************
+ Postgresql_psql[grant:database:GRANT sentry - ALL - sentry] =>
   parameters =>
     "command": "GRANT ALL ON DATABASE \"sentry\" TO \"sentry\"",
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 WHERE has_database_privilege('sentry', 'sentry', 'CREATE...
*******************************************
+ Postgresql_psql[grant:database:grafana] =>
   parameters =>
     "command": "GRANT CONNECT ON DATABASE \"grafana\" TO \"guest\"",
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 WHERE has_database_privilege('guest', 'grafana', 'CONNEC...
*******************************************
+ Postgresql_psql[grant:database:hedgedoc] =>
   parameters =>
     "command": "GRANT CONNECT ON DATABASE \"hedgedoc\" TO \"guest\"",
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 WHERE has_database_privilege('guest', 'hedgedoc', 'CONNE...
*******************************************
+ Postgresql_psql[grant:database:keycloak] =>
   parameters =>
     "command": "GRANT CONNECT ON DATABASE \"keycloak\" TO \"guest\"",
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 WHERE has_database_privilege('guest', 'keycloak', 'CONNE...
*******************************************
+ Postgresql_psql[grant:database:netbox] =>
   parameters =>
     "command": "GRANT CONNECT ON DATABASE \"netbox\" TO \"guest\"",
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 WHERE has_database_privilege('guest', 'netbox', 'CONNECT...
*******************************************
+ Postgresql_psql[grant:database:sentry] =>
   parameters =>
     "command": "GRANT CONNECT ON DATABASE \"sentry\" TO \"guest\"",
     "connect_settings": {
     },
     "db": "postgres",
     "port": 5432,
     "psql_group": "postgres",
     "psql_path": "/usr/bin/psql",
     "psql_user": "postgres",
     "unless": "SELECT 1 WHERE has_database_privilege('guest', 'sentry', 'CONNECT...
*******************************************
+ Profile::Cron::D[restart-sql-exporter] =>
   parameters =>
     "command": "chronic systemctl restart prometheus-sql-exporter",
     "hour": "fqdn_rand/4",
     "minute": "fqdn_rand",
     "target": "prometheus",
     "unique_tag": "restart-sql-exporter",
     "user": "root"
*******************************************
+ Profile::Prometheus::Export_scrape_config[sql] =>
   parameters =>
     "job": "sql",
     "labels": {
     },
     "metric_relabel_configs": [
       {
         "source_labels": [
           "__name__",
           "col"
         ],
         "regex": "sql_swh_scheduler_origins;(.*)",
         "action": "replace",
         "target_label": "__name__",
         "replacement": "swh_scheduler_origins_${1}"
       }
     ],
     "target": "192.168.50.50:9237"
*******************************************
+ Service[postgresqld] =>
   parameters =>
     "enable": true,
     "ensure": "running",
     "hasstatus": true,
     "name": "postgresql",
     "status": "/usr/sbin/service postgresql@*-main status"
*******************************************
+ Service[prometheus-sql-exporter] =>
   parameters =>
     "enable": true,
     "ensure": "running"
*******************************************
+ Systemd::Dropin_file[prometheus-sql-exporter/restart.conf] =>
   parameters =>
     "content": "[Service]\nRestart=always\nRestartSec=5\n",
     "daemon_reload": "lazy",
     "ensure": "present",
     "filename": "restart.conf",
     "group": "root",
     "mode": "0444",
     "owner": "root",
     "path": "/etc/systemd/system",
     "selinux_ignore_defaults": false,
     "show_diff": true,
     "unit": "prometheus-sql-exporter.service"
*******************************************
+ Systemd::Dropin_file[prometheus-sql-exporter/update_config.conf] =>
   parameters =>
     "content": "# File managed by puppet (module profile::prometheus::sql)\n# Ch...
     "daemon_reload": "lazy",
     "ensure": "present",
     "filename": "update_config.conf",
     "group": "root",
     "mode": "0444",
     "notify": "Service[prometheus-sql-exporter]",
     "owner": "root",
     "path": "/etc/systemd/system",
     "selinux_ignore_defaults": false,
     "show_diff": true,
     "unit": "prometheus-sql-exporter.service"
*******************************************
*** End octocatalog-diff on dali.internal.admin.swh.network

[1] T3833#76813

Diff Detail

Repository
rSPSITE puppet-swh-site
Branch
staging
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 25994
Build 40622: arc lint + arc unit

Event Timeline

Update with recent changes (bump shared_mem to 8G, add network authorization, ...)x

This revision is now accepted and ready to land.Jan 13 2022, 12:15 PM