Merge pull request 'neoloc/rundeck' (#121) from neoloc/rundeck into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/121
This commit was merged in pull request #121.
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# profiles::rundeck::server
|
||||
class profiles::rundeck::server (
|
||||
Struct[{
|
||||
Optional['file'] => Hash[String, Any],
|
||||
Optional['ldap'] => Hash[String, Any],
|
||||
Optional['pam'] => Hash[String, Any]
|
||||
}] $auth_config = {},
|
||||
Array[Hash] $key_storage_config = [],
|
||||
Hash $acl_policies = {},
|
||||
Hash $cli_projects = {},
|
||||
String $cli_user = 'admin',
|
||||
String $cli_password = lookup('rundeck_admin_pass'),
|
||||
Boolean $mysql_backend = true,
|
||||
String $mysql_user = 'rundeck',
|
||||
String $mysql_name = 'rundeck',
|
||||
String $mysql_pass = fqdn_rand_string(16),
|
||||
Stdlib::Host $mysql_host = '127.0.0.1',
|
||||
Stdlib::Port $mysql_port = 3306,
|
||||
Stdlib::Absolutepath $extra_libs_dir = '/var/lib/rundeck/lib',
|
||||
Stdlib::Absolutepath $jdbc_driver_dest = "${extra_libs_dir}/mariadb-java-client-3.4.1.jar",
|
||||
Stdlib::HTTPSUrl $jdbc_driver_url = 'https://dlm.mariadb.com/3852266/Connectors/java/connector-java-3.4.1/mariadb-java-client-3.4.1.jar',
|
||||
Stdlib::HTTPSUrl $grails_server_url = "https://${facts['networking']['fqdn']}:4440",
|
||||
String $jvm_args = '-Xmx1024m -Xms256m -server -Drundeck.jetty.connector.forwarded=true',
|
||||
){
|
||||
|
||||
# when using mysql backend
|
||||
if $mysql_backend {
|
||||
|
||||
# export a mariadb user
|
||||
@@mysql_user { "${mysql_user}@${facts['networking']['fqdn']}":
|
||||
ensure => present,
|
||||
password_hash => mysql::password($mysql_pass),
|
||||
tag => $facts['region'],
|
||||
}
|
||||
|
||||
# export a mariadb permission
|
||||
@@mysql_grant { "${mysql_user}@${facts['networking']['fqdn']}/${mysql_name}.*":
|
||||
ensure => present,
|
||||
table => "${mysql_name}.*",
|
||||
user => "${mysql_user}@${facts['networking']['fqdn']}",
|
||||
privileges => ['ALL'],
|
||||
tag => $facts['region'],
|
||||
}
|
||||
|
||||
# create the missing /var/lib/rundeck/lib directory
|
||||
mkdir::p {$extra_libs_dir:}
|
||||
file {$extra_libs_dir:
|
||||
ensure => directory,
|
||||
owner => 'rundeck',
|
||||
group => 'rundeck',
|
||||
mode => '0755',
|
||||
require => Package['rundeck'],
|
||||
before => Service['rundeckd'],
|
||||
}
|
||||
|
||||
# download the jdbc driver, place in /var/lib/rundeck/lib
|
||||
archive { $jdbc_driver_dest:
|
||||
ensure => present,
|
||||
source => $jdbc_driver_url,
|
||||
extract => false,
|
||||
user => 'rundeck',
|
||||
group => 'rundeck',
|
||||
require => File[$extra_libs_dir],
|
||||
before => Service['rundeckd'],
|
||||
}
|
||||
|
||||
$database_config = {
|
||||
'url' => "jdbc:mysql://${mysql_host}:${mysql_port}/${mysql_name}",
|
||||
'username' => $mysql_user,
|
||||
'password' => $mysql_pass,
|
||||
'driverClassName' => 'org.mariadb.jdbc.Driver',
|
||||
}
|
||||
}else{
|
||||
$database_config = {}
|
||||
}
|
||||
|
||||
class { 'rundeck':
|
||||
grails_server_url => $grails_server_url,
|
||||
auth_config => $auth_config,
|
||||
key_storage_config => $key_storage_config,
|
||||
database_config => $database_config,
|
||||
cli_user => $cli_user,
|
||||
cli_password => $cli_password,
|
||||
jvm_args => $jvm_args,
|
||||
}
|
||||
|
||||
create_resources('rundeck::config::aclpolicyfile', $acl_policies)
|
||||
create_resources('rundeck::config::project', $cli_projects)
|
||||
}
|
||||
Reference in New Issue
Block a user