Puppet Class: crm::tools
- Defined in:
- puppet/modules/crm/manifests/tools.pp
Overview
Class: crm::tools
Miscellaneous tools written in Python.
Parameters
- dir
-
Installation directory.
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'puppet/modules/crm/manifests/tools.pp', line 10
class crm::tools(
$dir,
$silverpop_db_name,
$silverpop_db_user,
$silverpop_db_pass,
) {
$audit_base = '/var/spool/audit'
require_package(
'default-libmysqlclient-dev',
'libyaml-dev',
'libffi-dev',
)
git::clone { 'wikimedia/fundraising/tools':
directory => $dir,
}
file { '/etc/fundraising':
ensure => 'directory',
mode => '0755',
}
file { '/etc/fundraising/silverpop_export.yaml':
ensure => 'file',
content => template('crm/silverpop_export.yaml.erb'),
mode => '0644',
require => File['/etc/fundraising'],
}
mysql::user { $silverpop_db_user:
ensure => present,
grant => 'ALL ON *.*',
password => $silverpop_db_pass,
require => Mysql::Db[$silverpop_db_name],
}
mysql::db { $silverpop_db_name: }
exec { 'create_silverpop_reference_data':
command => "/usr/bin/mysql -u${silverpop_db_user} -p${silverpop_db_pass} '${silverpop_db_name}' < ${dir}/silverpop_export/silverpop_countrylangs.sql",
unless => "/usr/bin/mysql -u${silverpop_db_user} -p${silverpop_db_pass} '${silverpop_db_name}' -e 'select 1 from silverpop_countrylangs'",
require => [
Git::Clone['wikimedia/fundraising/tools'],
Mysql::Db[$silverpop_db_name],
Mysql::User[$silverpop_db_user]
],
}
exec { 'frtools_python_requirements':
command => "pip3 install --upgrade setuptools; pip3 install -r ${dir}/requirements.txt",
require => [
Git::Clone['wikimedia/fundraising/tools'],
Package['default-libmysqlclient-dev'],
Package['libyaml-dev'],
Package['libffi-dev'],
],
}
}
|