defaults = { 'backups': { 'paths': { '/var/lib/postgresql', }, }, 'icinga2_api': { 'postgresql': { 'services': { 'POSTGRESQL PROCESS': { 'command_on_monitored_host': '/usr/lib/nagios/plugins/check_procs -C postgres -c 1:', }, }, }, }, 'postgresql': { 'max_connections': 100, 'autovacuum_max_workers': 3, 'maintenance_work_mem': 64, 'work_mem': 4, 'shared_buffers': 128, 'temp_buffers': 8, 'slow_query_log_sec': 0, }, } if node.has_bundle('zfs'): defaults['zfs'] = { 'datasets': { 'tank/postgresql': { 'mountpoint': '/var/lib/postgresql', }, }, } @metadata_reactor.provides( 'apt/repos/postgresql', 'postgresql/version', ) def default_postgresql_version_for_debian(metadata): # versions_in_debian = { '10': '11', # buster '11': '13', # bullseye } os = str(node.os_version[0]) version_to_be_installed = metadata.get('postgresql/version', versions_in_debian[os]) if version_to_be_installed != versions_in_debian[os]: return { 'apt': { 'repos': { 'postgresql': { 'items': { 'deb https://apt.postgresql.org/pub/repos/apt/ {os_release}-pgdg main', }, }, }, }, 'postgresql': { 'version': version_to_be_installed, }, } return { 'postgresql': { 'version': version_to_be_installed, }, }