Puppet Class: maestro::maestro::db

Inherits:
maestro::params
Defined in:
manifests/maestro/db.pp

Overview

Parameters:

  • version (Any) (defaults to: $maestro::params::db_version)
  • password (Any) (defaults to: $maestro::params::db_server_password)
  • db_password (Any) (defaults to: $maestro::params::db_password)
  • allowed_rules (Any) (defaults to: $maestro::params::db_allowed_rules)
  • manage_package_repo (Any) (defaults to: true)
  • enabled (Any) (defaults to: true)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'manifests/maestro/db.pp', line 1

class maestro::maestro::db(
  $version             = $maestro::params::db_version,
  $password            = $maestro::params::db_server_password,
  $db_password         = $maestro::params::db_password,
  $allowed_rules       = $maestro::params::db_allowed_rules,
  $manage_package_repo = true,
  $enabled             = true) inherits maestro::params {

  if !($version == '' or $version == undef) {
    class { 'postgresql::globals':
      version             => $version,
      manage_package_repo => $manage_package_repo,
    }
  }
  class { 'postgresql::server':
    ip_mask_deny_postgres_user => '0.0.0.0/32',
    ip_mask_allow_all_users    => '0.0.0.0/0',
    listen_addresses           => '*',
    manage_firewall            => false,
    postgres_password          => $password,
    ipv4acls                   => $allowed_rules,
  }


  if $enabled {

    postgresql::server::role { $maestro::params::db_username:
      password_hash => postgresql_password($maestro::params::db_username, $db_password),
    }

    maestro::maestro::maestro_db { 'maestro': }
    maestro::maestro::maestro_db { 'luceedb': }
    maestro::maestro::maestro_db { 'users': }
  }
  else {
    service { 'postgresql':
      ensure    => stopped,
      enable    => false,
      hasstatus => true,
    }
  }

}