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'],
}
}
|