Puppet Class: ckan::db_config

Defined in:
manifests/db_config.pp

Summary

Configuration supporting database for ckan

Overview



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
# File 'manifests/db_config.pp', line 5

class ckan::db_config {
  $password_hash           = postgresql_password('ckan_default', $ckan::ckan_pass)
  $datastore_password_hash = postgresql_password('datastore_default', $ckan::ckan_pass)

  # === configure postgresql ===
  # create the database
  # also create the user/password to access the db
  # user gets all privs by default
  postgresql::server::role { 'ckan_default':
    password_hash => $password_hash,
  }
  postgresql::server::database { 'ckan_default':
    owner   => 'ckan_default',
    require => Postgresql::Server::Role['ckan_default'],
  }
  # create a seperate db for the datastore extension
  postgresql::server::database { 'datastore_default' :
    owner   => 'ckan_default',
    require => Postgresql::Server::Role['ckan_default'],
  }
  # create a ro user for datastore extension
  postgresql::server::role { 'datastore_default' :
    password_hash => $datastore_password_hash,
    require       => Postgresql::Server::Database['datastore_default'],
  }
  # grant privs for datastore user
  postgresql::server::database_grant { 'datastore_default' :
    privilege => 'CONNECT',
    db        => 'datastore_default',
    role      => 'datastore_default',
    require   => Postgresql::Server::Role['datastore_default'],
  }
}