--- /dev/null
+---
+:backends:
+ - yaml
+:yaml:
+ :datadir: /etc/puppet/hiera
+:hierarchy:
+ - '%{::environment}/domain/%{::domain}/node/%{::clientcert}'
+ - '%{::environment}/domain/%{::domain}/role/%{::role}'
+ - '%{::environment}/domain/%{::domain}/location/%{::location}'
+ - '%{::environment}/domain/%{::domain}/%{::domain}'
+ - '%{::environment}/location/%{::location}'
+ - '%{::environment}/virtual/%{::virtual}'
+ - '%{::environment}/role/%{::role}'
+ - common
# Import main module
import "nodo"
+#
+# Stage definitions
+#
+
+stage { 'first':
+ before => Stage['main'],
+}
+
+stage { 'last': }
+Stage['main'] -> Stage['last']
+
+#
+# Class definitions
+#
+
# Vagrant classes
include nodo::role::vagrant
-# Symlink to the mounted module folder
-file { '/etc/puppet/modules':
- ensure => '/etc/puppet/modules-0',
- force => true,
+class vagrant_config {
+ # Symlink to the mounted module folder
+ file { '/etc/puppet/modules':
+ ensure => '/etc/puppet/modules-0',
+ force => true,
+ }
+
+ # Ensure a custom hiera configuration
+ file { '/etc/puppet/hiera.yaml':
+ owner => root,
+ group => root,
+ mode => 0644,
+ force => true,
+ ensure => '/etc/puppet/hiera/hiera.yaml',
+ }
+}
+
+#
+# Class instantiations
+#
+class { 'vagrant_config':
+ stage => first,
}