diff --git a/data/nodes/peadm-01.pe.yaml b/data/nodes/peadm-01.pe.yaml index 4dc744a..c5cd3f5 100644 --- a/data/nodes/peadm-01.pe.yaml +++ b/data/nodes/peadm-01.pe.yaml @@ -1,3 +1,7 @@ --- -profile::puppetserver::authority: false +profile::puppetserver::authority: true profile::puppetserver::authority::validity: '7200' +profile::puppetserver::nfs_export: true +puppet_enterprise::profile::master::r10k_remote: "git@github.com:chlawren/control-repo.git" +puppet_enterprise::profile::master::r10k_private_key: "/etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa" +puppet_enterprise::profile::master::code_manager_auto_configure: true diff --git a/data/nodes/puppet.plaform9.puppet.net b/data/nodes/puppet.plaform9.puppet.net new file mode 100644 index 0000000..4d8b431 --- /dev/null +++ b/data/nodes/puppet.plaform9.puppet.net @@ -0,0 +1,6 @@ +--- +profile::puppetserver::authority: true +profile::puppetserver::authority::validity: '7200' +puppet_enterprise::profile::master::r10k_remote: "git@github.com:chlawren/control-repo.git" +puppet_enterprise::profile::master::r10k_private_key: "/etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa" +puppet_enterprise::profile::master::code_manager_auto_configure: true diff --git a/manifests/site.pp b/manifests/site.pp index 22d49b1..e0769a9 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -36,26 +36,6 @@ node 'puppet' { } -node 'peadm-03.pe' { - - include profile::tools::docker_install - include profile::tools::nfs_mount - -} - -node 'agent-02' { - - include profile::tools::nfs_mount - -} - -node 'peadm-04.pe' { - - include profile::metrics_dashboard - include profile::tools::nfs_mount - -} - node default { if $trusted['extensions']['pp_role'] { diff --git a/site-modules/profile/manifests/monitor.pp b/site-modules/profile/manifests/monitor.pp new file mode 100644 index 0000000..581c856 --- /dev/null +++ b/site-modules/profile/manifests/monitor.pp @@ -0,0 +1,11 @@ +class profile::monitoring ( + Boolean $docker_install = false, + Boolean $nfs_mount = false, +) { + if $docker_install { + class { '::profile::tools::docker_install': } + } + if $nfs_mount { + class { '::profile::tools::nfs_mount': } + } +} diff --git a/site-modules/profile/manifests/puppetserver.pp b/site-modules/profile/manifests/puppetserver.pp index 0cb6d8a..e2eb0f8 100644 --- a/site-modules/profile/manifests/puppetserver.pp +++ b/site-modules/profile/manifests/puppetserver.pp @@ -1,7 +1,8 @@ class profile::puppetserver ( Boolean $puppetserver = true, Boolean $authority = false, - Boolean $nfs_export = true, + Boolean $nfs_export = false, + Boolean $metrics_collect = false, ) { if $puppetserver { class { '::profile::puppetserver::bootstrap': } @@ -12,4 +13,8 @@ class profile::puppetserver ( if $nfs_export { class { '::profile::puppetserver::nfs_export': } } + if $metrics_collect { + include metrics_collector + fi + } } diff --git a/site-modules/profile/manifests/puppetserver/bootstrap.pp b/site-modules/profile/manifests/puppetserver/bootstrap.pp index 2e738a9..033650a 100644 --- a/site-modules/profile/manifests/puppetserver/bootstrap.pp +++ b/site-modules/profile/manifests/puppetserver/bootstrap.pp @@ -31,13 +31,4 @@ class profile::puppetserver::bootstrap { group => 'pe-puppet', mode => '0750', } - -# pe_node_group { 'puppetmaster-dashboard': -# ensure => 'present', -# classes => {'puppet_metrics_dashboard::profile::master::postgres_access' => { }}, -# description => 'Puppetmaster Dashboard workaround group', -# environment => 'production', -# parent => 'All Nodes', -# rule => ['or', ['=', 'name', $facts['puppet_master_server']]], -# } } diff --git a/site-modules/profile/manifests/puppetserver/nfs_export.pp b/site-modules/profile/manifests/puppetserver/nfs_export.pp index 59f9ab2..8b62124 100644 --- a/site-modules/profile/manifests/puppetserver/nfs_export.pp +++ b/site-modules/profile/manifests/puppetserver/nfs_export.pp @@ -1,16 +1,23 @@ class profile::puppetserver::nfs_export ( + + $domain = $::domain, + $server_enabled = true, + $export_root = '/export', + $nfs_v4 = 'true', + $server_export = '/opt/puppetlabs/puppet-metrics-collector', + $export_mount = 'mounted', ) { class { '::nfs': - server_enabled => true, - nfs_v4 => true, - nfs_v4_idmap_domain => 'peadm.01.pe', - nfs_v4_export_root => '/export', + server_enabled => $server_enabled, + nfs_v4 => $nfs_v4, + nfs_v4_idmap_domain => $domain, + nfs_v4_export_root => '$export_root', nfs_v4_export_root_clients => '*(rw,fsid=0,insecure,no_subtree_check,async,no_root_squash)', } - nfs::server::export { '/opt/puppetlabs/puppet-metrics-collector': - ensure => 'mounted', + nfs::server::export { $server_export: + ensure => $export_mount, clients => '*(rw,insecure,async,no_root_squash,no_subtree_check)', } } diff --git a/site-modules/profile/manifests/tools/docker_install.pp b/site-modules/profile/manifests/tools/docker_install.pp index 44a1ec3..5df58de 100644 --- a/site-modules/profile/manifests/tools/docker_install.pp +++ b/site-modules/profile/manifests/tools/docker_install.pp @@ -2,14 +2,16 @@ class profile::tools::docker_install ( $docker_version = '19.03', $compose_version = '1.24', ) { - class { 'docker': - ensure => present, - version => '$docker_version', - } + yumrepo { 'docker': + ensure => 'present', + baseurl => 'https://download.docker.com/linux/centos/7/x86_64/stable', + descr => 'Docker', + gpgcheck => 'True', + gpgkey => 'https://download.docker.com/linux/centos/gpg', +} class {'docker::compose': ensure => present, version => '$compose_version', } - } diff --git a/site-modules/profile/manifests/metrics_dashboard.pp b/site-modules/profile/manifests/tools/metrics_dashboard.pp similarity index 100% rename from site-modules/profile/manifests/metrics_dashboard.pp rename to site-modules/profile/manifests/tools/metrics_dashboard.pp diff --git a/site-modules/profile/manifests/tools/nfs_mount.pp b/site-modules/profile/manifests/tools/nfs_mount.pp index a392771..06b801b 100644 --- a/site-modules/profile/manifests/tools/nfs_mount.pp +++ b/site-modules/profile/manifests/tools/nfs_mount.pp @@ -2,14 +2,14 @@ class profile::tools::nfs_mount ( $server = 'puppet', ) { class { '::nfs': - server_enabled => false, - client_enabled => true, - nfs_v4_client => false, - nfs_v4_idmap_domain => $::domain, - } + server_enabled => false, + client_enabled => true, + nfs_v4_client => false, + nfs_v4_idmap_domain => $::domain, + } - nfs::client::mount { '/mnt/puppet-metrics-collector': - server => $server, - share => '/export/puppet-metrics-collector', - } + nfs::client::mount { '/mnt/puppet-metrics-collector': + server => $server, + share => '/export/puppet-metrics-collector', + } } diff --git a/site-modules/role/manifests/monitoring.pp b/site-modules/role/manifests/monitoring.pp new file mode 100644 index 0000000..fcc1eef --- /dev/null +++ b/site-modules/role/manifests/monitoring.pp @@ -0,0 +1,6 @@ +class role::metrics { + + include profile::base + include profile::tools::nfs_mount + include profile::tools::docker_install +}