diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-01-13 23:15:11 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-01-13 23:53:26 +0100 |
commit | dfa81fe29a6be169d6ed2803c4bedcd211b16d72 (patch) | |
tree | 77bd0d72e5fe48e07b5d7be5f7532b776f9c53ba /manifests/template.pp | |
parent | Rewrote mots of nspawn. (diff) | |
download | nspawn-dfa81fe29a6be169d6ed2803c4bedcd211b16d72.tar.gz nspawn-dfa81fe29a6be169d6ed2803c4bedcd211b16d72.tar.xz |
Nspawn cleanup.
Diffstat (limited to 'manifests/template.pp')
-rw-r--r-- | manifests/template.pp | 39 |
1 files changed, 39 insertions, 0 deletions
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, + } + +} |