salsa: plan to deploy database with puppet, write out credentials to a .yaml file
[mirror/dsa-puppet.git] / modules / salsa / manifests / init.pp
1 #
2 class salsa (
3         $user = $salsa::params::user,
4         $group = $salsa::params::group,
5         $home = $salsa::params::home,
6
7         $db_name = $salsa::params::db_name,
8         $db_role = $salsa::params::db_role,
9         $db_password = $salsa::params::db_password,
10 ) inherits salsa::params {
11
12         # anchor things in correct order
13         anchor { 'salsa::begin': } ->
14         class { '::salsa::mail': } ->
15         class { '::salsa::redis': } ->
16         class { '::salsa::packages': } ->
17         class { '::salsa::database': } ->
18         anchor { 'salsa::end': }
19
20         # userdir-ldap users get their home in /home
21         file { "/home/${salsa::user}":
22                 ensure => link,
23                 target => $salsa::home,
24         }
25         file { $salsa::home:
26                 ensure => directory,
27                 mode   => '0755',
28                 owner  => $salsa::user,
29                 group  => $salsa::group,
30         }
31
32         file { "${salsa::home}/.credentials.yaml":
33                 mode => '0400',
34                 owner  => $salsa::user,
35                 group  => $salsa::group,
36                 content  => @("EOF"),
37                                 ---
38                                 database:
39                                   name: "${salsa::db_name}"
40                                   role: "${salsa::db_role}"
41                                   password: "${salsa::db_password}"
42                                 | EOF
43         }
44 }