From dfa81fe29a6be169d6ed2803c4bedcd211b16d72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Thu, 13 Jan 2022 23:15:11 +0100 Subject: Nspawn cleanup. --- manifests/template.pp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 manifests/template.pp (limited to 'manifests/template.pp') diff --git a/manifests/template.pp b/manifests/template.pp new file mode 100644 index 0000000..3c66b97 --- /dev/null +++ b/manifests/template.pp @@ -0,0 +1,39 @@ +define nspawn::template ( + String $template_name = $name, + Enum['debian', 'arch'] $os = $template_name.split('-')[0], + Optional[String] $version = undef, + String $puppet_server = $nspawn::puppet_server, + String $template_dir = $nspawn::template_dir, +) { + + $template = "${template_name}.base" + $root = "${template_dir}/${template}" + + case $os { + 'debian': { + $real_version = if $version != undef { + $version + } else { + # Oout of bounds indexing gives 'undef' + $template_name.split('-')[1] + } + nspawn::os::debian { $template: + os_version => $real_version, + template_dir => $template_dir, + before => Nspawn::Template_final[$template], + } + } + 'arch': { + nspawn::os::arch { $template: + template_dir => $template_dir, + before => Nspawn::Template_final[$template], + } + } + } + + nspawn::template_final { $template: + root => $root, + puppet_server => $puppet_server, + } + +} -- cgit v1.2.3