summaryrefslogtreecommitdiff
path: root/manifests/template.pp
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-01-13 23:15:11 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2022-01-13 23:53:26 +0100
commitdfa81fe29a6be169d6ed2803c4bedcd211b16d72 (patch)
tree77bd0d72e5fe48e07b5d7be5f7532b776f9c53ba /manifests/template.pp
parentRewrote mots of nspawn. (diff)
downloadnspawn-dfa81fe29a6be169d6ed2803c4bedcd211b16d72.tar.gz
nspawn-dfa81fe29a6be169d6ed2803c4bedcd211b16d72.tar.xz
Nspawn cleanup.
Diffstat (limited to 'manifests/template.pp')
-rw-r--r--manifests/template.pp39
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,
+ }
+
+}