This commit is contained in:
@@ -11,4 +11,9 @@ class puppet_cd::main::config (
|
||||
if $pt_use_puppetdb == true {
|
||||
include puppet_cd::puppetdb::service
|
||||
}
|
||||
|
||||
if $pt_use_r10k == true {
|
||||
include puppet_cd::r10k::install
|
||||
include puppet_cd::r10k::webhook
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
# @param [String] pt_agent_pkg the packages for agents to install
|
||||
# @param [String] pt_server_pkg the server packages to install
|
||||
# @param [Array] pt_db_pkg the packages for puppetdb
|
||||
# @param [Array] pt_r10k_pkg the packages for r10k to install
|
||||
# @param [String] pt_no_ssl_port non-ssl port number for puppetdb
|
||||
# @param [String] pt_ssl_port ssl port for puppetdb
|
||||
# @param [Boolean] pt_use_ssl_only whether to use ssl only.
|
||||
# @param [Boolean] pt_manage_user whether to manage the puppet user
|
||||
# @param [String] pt_user the puppet user
|
||||
# @param [String] pt_user_comment the user comment
|
||||
# @param [String] pt_user_home the user home
|
||||
@@ -77,6 +77,11 @@
|
||||
# @param [Boolean] pt_enable_repl whether to allow puppetdb replication
|
||||
# @param [String] pt_repl_port the replication port
|
||||
# @param [String] pt_repl_host the replication host
|
||||
# @param [Boolean] pt_use_r10k whether to use r10k service
|
||||
# @param [Boolean] pt_use_r10k_webhook whether to use r10k webhook service
|
||||
# @param [String] pt_r10k_remote the remote url for the r10k control repo
|
||||
# @param [Boolean] pt_r10k_prefix the r10k prefix. defaults to false
|
||||
# @param [String] pt_r10k_basedir the base directory for r10k.yaml
|
||||
###############################################################################
|
||||
class puppet_cd::params (
|
||||
|
||||
@@ -89,6 +94,7 @@ class puppet_cd::params (
|
||||
String $pt_agent_pkg = 'puppet-agent',
|
||||
String $pt_server_pkg = 'puppetserver',
|
||||
Array $pt_db_pkg = ['puppetdb','puppetdb-termini'],
|
||||
Array $pt_r10k_pkg = ['ruby','ruby-devel'],
|
||||
|
||||
# user settings
|
||||
## puppet user
|
||||
@@ -132,7 +138,7 @@ class puppet_cd::params (
|
||||
String $pt_storeconfigs_backend = 'puppetdb',
|
||||
String $pt_parser = 'current',
|
||||
Boolean $pt_cert_revocation = true,
|
||||
## puppetdb
|
||||
## puppetdb
|
||||
Boolean $pt_use_puppetdb = false,
|
||||
String $pt_logging_max_file_size = '200MB',
|
||||
String $pt_logging_max_history = '90',
|
||||
@@ -160,8 +166,19 @@ class puppet_cd::params (
|
||||
String $pt_repl_port = '8082',
|
||||
String $pt_repl_host = '127.0.0.1',
|
||||
|
||||
# r10k
|
||||
Boolean $pt_use_r10k = false,
|
||||
Boolean $pt_use_r10k_webhook = false,
|
||||
String $pt_r10k_remote = 'git@gitlab.example.net/repo.git',
|
||||
Boolean $pt_r10k_prefix = false,
|
||||
String $pt_r10k_basedir = '/etc/puppetlabs/code/environments',
|
||||
|
||||
) {
|
||||
$fqdn = $facts['networking']['fqdn']
|
||||
# facts
|
||||
$fqdn = $facts['networking']['fqdn']
|
||||
$domain = $facts['networking']['domain']
|
||||
$os_name = $facts['os']['name']
|
||||
$os_release = $facts['os']['release']['major']
|
||||
|
||||
# directories
|
||||
## puppet
|
||||
@@ -181,6 +198,8 @@ class puppet_cd::params (
|
||||
$pt_puppetdb_ssl = "${pt_puppetdb_main}/ssl"
|
||||
$pt_puppetdb_log = '/var/log/puppetlabs/puppetdb'
|
||||
$pt_puppetdb_var_dir = '/opt/puppetlabs/server/data/puppetdb'
|
||||
## r10k
|
||||
$pt_r10k_dir = "${pt_main_dir}/r10k"
|
||||
|
||||
# files
|
||||
## puppet
|
||||
@@ -190,22 +209,25 @@ class puppet_cd::params (
|
||||
$pt_hiera_config = "${pt_puppetdir}/hiera.yaml"
|
||||
## puppetdb
|
||||
$pt_bootstrap_conf = "${pt_puppetdb_main}/bootstrap.cfg"
|
||||
$pt_bootstrap_erb = 'cd_puppet/puppetdb/bootstrap.cfg.erb'
|
||||
$pt_bootstrap_erb = 'puppet_cd/puppetdb/bootstrap.cfg.erb'
|
||||
$pt_puppetdb_access_log = "${pt_puppetdb_log}/puppetdb-access"
|
||||
$pt_request_logging_conf = "${pt_puppetdb_main}/request-logging.xml"
|
||||
$pt_request_logging_erb = 'cd_puppet/puppetdb/request_logging.xml.erb'
|
||||
$pt_request_logging_erb = 'puppet_cd/puppetdb/request_logging.xml.erb'
|
||||
$pt_logback_conf = "${pt_puppetdb_main}/logback.xml"
|
||||
$pt_logback_erb = 'cd_puppet/puppetdb/logback.xml.erb'
|
||||
$pt_logback_erb = 'puppet_cd/puppetdb/logback.xml.erb'
|
||||
$pt_puppetdb_config_ini = "${pt_puppetdb_conf_d}/config.ini"
|
||||
$pt_puppetdb_config_erb = 'cd_puppet/puppetdb/config.ini.erb'
|
||||
$pt_puppetdb_config_erb = 'puppet_cd/puppetdb/config.ini.erb'
|
||||
$pt_puppetdb_database_ini = "${pt_puppetdb_conf_d}/database.ini"
|
||||
$pt_puppetdb_database_erb = 'cd_puppet/puppetdb/database.ini.erb'
|
||||
$pt_puppetdb_database_erb = 'puppet_cd/puppetdb/database.ini.erb'
|
||||
$pt_puppetdb_jetty_ini = "${pt_puppetdb_conf_d}/jetty.ini"
|
||||
$pt_puppetdb_jetty_erb = 'cd_puppet/puppetdb/jetty.ini.erb'
|
||||
$pt_puppetdb_jetty_erb = 'puppet_cd/puppetdb/jetty.ini.erb'
|
||||
$pt_puppetdb_conf_file = "${pt_puppetdir}/puppetdb.conf"
|
||||
$pt_puppetdb_conf_erb = 'cd_puppet/puppetdb/puppetdb.conf.erb'
|
||||
$pt_puppetdb_conf_erb = 'puppet_cd/puppetdb/puppetdb.conf.erb'
|
||||
$pt_puppetdb_repl_ini = "${pt_puppetdb_conf_d}/repl.ini"
|
||||
$pt_puppetdb_repl_erb = 'cd_puppet/puppetdb/repl.ini.erb'
|
||||
$pt_puppetdb_repl_erb = 'puppet_cd/puppetdb/repl.ini.erb'
|
||||
## r10k
|
||||
$pt_r10k_file = "${pt_r10k_dir}/r10k.yaml"
|
||||
$pt_r10k_erb = 'puppet_cd/r10k/r10k.yaml.erb'
|
||||
|
||||
# service
|
||||
$pt_server_service = 'puppetserver'
|
||||
|
||||
35
manifests/r10k/install.pp
Normal file
35
manifests/r10k/install.pp
Normal file
@@ -0,0 +1,35 @@
|
||||
## puppet_cd::r10k::install.pp
|
||||
# Module name: puppet_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid)
|
||||
# @summary Class manages r10k installation for the puppet_cd module.
|
||||
###############################################################################
|
||||
class puppet_cd::r10k::install (
|
||||
|
||||
) inherits puppet_cd::params {
|
||||
if ($pt_pm_fqdn == $fqdn) and ($pt_use_r10k == true) {
|
||||
# install required packages
|
||||
package { $pt_r10k_pkg:
|
||||
ensure => $pt_pkg_ensure,
|
||||
before => Package['r10k'],
|
||||
}
|
||||
|
||||
# install r10k via gem
|
||||
package { 'r10k':
|
||||
ensure => $pt_pkg_ensure,
|
||||
provider => gem,
|
||||
}
|
||||
|
||||
# configure r10k.yaml
|
||||
file { $pt_r10k_file:
|
||||
ensure => file,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0440',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => puppet_etc_t,
|
||||
seluser => unconfined_u,
|
||||
content => template($pt_r10k_erb),
|
||||
}
|
||||
}
|
||||
}
|
||||
10
manifests/r10k/webhook.pp
Normal file
10
manifests/r10k/webhook.pp
Normal file
@@ -0,0 +1,10 @@
|
||||
## puppet_cd::r10k::webhook.pp
|
||||
# Module name: puppet_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid)
|
||||
# @summary Class manages r10k webhook settings for the puppet_cd module.
|
||||
###############################################################################
|
||||
class puppet_cd::r10k::webhook (
|
||||
|
||||
) inherits puppet_cd::params {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user