X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprofile%2Fmanifests%2Fpostgresql.pp;h=97ce57291b6bbf4abf9de7c2e04932b5dbe04435;hb=3925777d9715d271c0643faef9f520e7816dba89;hp=50e510e3950c68bfa71efcb3064ac950ec3e3e15;hpb=ee0a29d96bbc401d97819e5723a083d33c32bb17;p=perso%2FImmae%2FProjets%2FPuppet.git diff --git a/modules/profile/manifests/postgresql.pp b/modules/profile/manifests/postgresql.pp index 50e510e..97ce572 100644 --- a/modules/profile/manifests/postgresql.pp +++ b/modules/profile/manifests/postgresql.pp @@ -1,5 +1,8 @@ -class profile::postgresql { - $password_seed = lookup("base_installation::puppet_pass_seed") |$key| { {} } +class profile::postgresql ( + Optional[String] $pg_user = "postgres", + Optional[String] $pg_group = "postgres", +) { + $password_seed = lookup("base_installation::puppet_pass_seed") class { '::postgresql::globals': encoding => 'UTF-8', @@ -7,59 +10,23 @@ class profile::postgresql { pg_hba_conf_defaults => false, } - # FIXME: get it from the postgresql module? - $pg_user = "postgres" - class { '::postgresql::client': } # FIXME: postgresql module is buggy and doesn't create dir? file { "/var/lib/postgres": ensure => directory, owner => $pg_user, - group => $pg_user, + group => $pg_group, before => File["/var/lib/postgres/data"], require => Package["postgresql-server"], } class { '::postgresql::server': - postgres_password => generate_password(24, $password_seed, "postgres") - } - - postgresql::server::pg_hba_rule { 'local access as postgres user': - description => 'Allow local access to postgres user', - type => 'local', - database => 'all', - user => $pg_user, - auth_method => 'ident', - order => "a1", - } - postgresql::server::pg_hba_rule { 'deny access to postgresql user': - description => 'Deny remote access to postgres user', - type => 'host', - database => 'all', - user => $pg_user, - address => "0.0.0.0/0", - auth_method => 'reject', - order => "a2", + postgres_password => generate_password(24, $password_seed, "postgres"), + listen_addresses => "*", } - postgresql::server::pg_hba_rule { 'local access': - description => 'Allow local access with password', - type => 'local', - database => 'all', - user => 'all', - auth_method => 'md5', - order => "b1", - } - - postgresql::server::pg_hba_rule { 'local access with same name': - description => 'Allow local access with same name', - type => 'local', - database => 'all', - user => 'all', - auth_method => 'ident', - order => "b2", - } + profile::postgresql::base_pg_hba_rules { "default": } }