From 8d80fa3c516046d6d1fe81a6891b087de63de595 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Fri, 17 Nov 2023 22:17:24 +1100 Subject: [PATCH] feat: manage cloudinit - add/remove cloud-init, default to remove --- site/profiles/manifests/base.pp | 1 + site/profiles/manifests/cloudinit/init.pp | 28 +++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 site/profiles/manifests/cloudinit/init.pp diff --git a/site/profiles/manifests/base.pp b/site/profiles/manifests/base.pp index 1182097..6d1d6dc 100644 --- a/site/profiles/manifests/base.pp +++ b/site/profiles/manifests/base.pp @@ -29,6 +29,7 @@ class profiles::base ( include profiles::base::hosts include profiles::accounts::sysadmin include profiles::ntp::client + include profiles::cloudinit::init # configure dns records for client profiles::dns::client {"${facts['networking']['fqdn']}-default":} diff --git a/site/profiles/manifests/cloudinit/init.pp b/site/profiles/manifests/cloudinit/init.pp new file mode 100644 index 0000000..f2edb9c --- /dev/null +++ b/site/profiles/manifests/cloudinit/init.pp @@ -0,0 +1,28 @@ +# profiles::cloudinit::init +class profiles::cloudinit::init ( + Boolean $enabled = false, + String $package = 'cloud-init', + String $service = 'cloud-init', +){ + + if $enabled { + package { $package: + ensure => installed, + } + + service { $service: + ensure => running, + enable => true, + require => Package[$package], + } + } else { + service { $service: + ensure => stopped, + enable => false, + } + + package { $package: + ensure => absent, + } + } +}