dev/modules/sysconfig/manifests/postgresql.pp
author Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
Fri, 30 Jan 2015 12:38:15 +0100
changeset 40 8c32ea41b391
parent 0 54f4e0f9d636
permissions -rw-r--r--
New version + Reworked login process to suppress unauthenticated request + reworked file persistence + added tests module and API tests + reworked how the list repositories user can access is generated (can now only access repositories that are both in his repository list AND in the config repository list, so there is no need to add every new user to all repositories)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
     1
class sysconfig::postgresql (
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
     2
    $db_host    = hiera('sysconfig::params::db_host', $sysconfig::params::db_host),
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
     3
    $db_port    = hiera('sysconfig::params::db_port', $sysconfig::params::db_port),
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
     4
    $db_name    = hiera('sysconfig::params::db_name', $sysconfig::params::db_name),
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
     5
    $db_user    = hiera('sysconfig::params::db_user', $sysconfig::params::db_user),
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
     6
    $db_pw      = hiera('sysconfig::params::db_pw', $sysconfig::params::db_pw),
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
     7
) inherits sysconfig::params {
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
     8
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
     9
    notify {'postgresql': name => "\$db_host : ${db_host}, \$db_port : ${db_port}, \$db_name : ${db_name}, \$db_user : ${db_user}, \$db_pw : ${db_pw}", withpath => true }
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    10
    
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    11
    #include postgresql::globals
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    12
    include postgresql::server
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    13
    #include postgresql::client
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    14
    
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    15
    # if $sysconfig::params::db_is_local {
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    16
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    17
        postgresql::server::role {"${db_user}_createdb":
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    18
            username      => $db_user,
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    19
            createdb      => true,
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    20
            password_hash => postgresql_password($db_user, $db_pw)
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    21
        }->
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    22
        postgresql::server::database { $db_name:
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    23
            owner    => $db_user,            
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    24
            encoding => 'UTF8',
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    25
        }
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    26
    #}
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    27
    # else {
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    28
        # postgresql::validate_db_connection { 'validate_postgres_connection':
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    29
            # database_host           => $db_host,
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    30
            # database_port           => $db_port,
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    31
            # database_username       => $db_user,
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    32
            # database_password       => $db_pw,
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    33
            # database_name           => $db_name,
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    34
            # create_db_first         => 'true';
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    35
        # }
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    36
    #}
54f4e0f9d636 Initial commit
Nicolas DURAND <nicolas.durand@iri.centrepompidou.fr>
parents:
diff changeset
    37
}