From 5b75cf735a4ad0df780ce79f3743f8ec3878ea8b Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Mon, 11 Dec 2023 21:58:24 +1100 Subject: [PATCH] feat: manage ruby/puppet gems - manage installation of puppet_gem packages for puppetmasters --- hieradata/roles/infra/puppet/master.yaml | 4 ++++ site/profiles/manifests/puppet/gems.pp | 12 ++++++++++++ site/profiles/manifests/puppet/puppetmaster.pp | 1 + site/profiles/manifests/puppet/server.pp | 1 - 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 site/profiles/manifests/puppet/gems.pp diff --git a/hieradata/roles/infra/puppet/master.yaml b/hieradata/roles/infra/puppet/master.yaml index 5a5f87c..f47db83 100644 --- a/hieradata/roles/infra/puppet/master.yaml +++ b/hieradata/roles/infra/puppet/master.yaml @@ -14,3 +14,7 @@ profiles::puppet::g10k::bin_path: '/opt/puppetlabs/bin/g10k' profiles::puppet::g10k::cfg_path: '/etc/puppetlabs/r10k/r10k.yaml' profiles::puppet::g10k::environments_path: '/etc/puppetlabs/code/environments' profiles::puppet::g10k::default_environment: 'develop' +profiles::puppet::gems::puppet: + - 'deep_merge' + - 'ipaddr' + - 'hiera-eyaml' diff --git a/site/profiles/manifests/puppet/gems.pp b/site/profiles/manifests/puppet/gems.pp new file mode 100644 index 0000000..b7a9369 --- /dev/null +++ b/site/profiles/manifests/puppet/gems.pp @@ -0,0 +1,12 @@ +# profiles::puppet::gems +class profiles::puppet::gems ( + Array $puppet = [], +){ + # install puppetmaster gems + $puppet.each | $pgem | { + package { $pgem: + ensure => installed, + provider => 'puppet_gem', + } + } +} diff --git a/site/profiles/manifests/puppet/puppetmaster.pp b/site/profiles/manifests/puppet/puppetmaster.pp index 9819d5e..627f247 100644 --- a/site/profiles/manifests/puppet/puppetmaster.pp +++ b/site/profiles/manifests/puppet/puppetmaster.pp @@ -29,6 +29,7 @@ class profiles::puppet::puppetmaster ( include profiles::puppet::g10k include profiles::puppet::enc include profiles::puppet::autosign + include profiles::puppet::gems class { 'puppetdb::master::config': puppetdb_server => $puppetdb_host, diff --git a/site/profiles/manifests/puppet/server.pp b/site/profiles/manifests/puppet/server.pp index 7f0aec5..4930582 100644 --- a/site/profiles/manifests/puppet/server.pp +++ b/site/profiles/manifests/puppet/server.pp @@ -66,4 +66,3 @@ class profiles::puppet::server ( hasrestart => true, } } -