summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2016-01-29 19:14:12 +0100
committermh <mh@immerda.ch>2016-01-29 19:14:12 +0100
commitb478a4eb162d5a3a117c44ef9b49f20462facf50 (patch)
treef05d4b648ef8a892879983a5d5d035e12d2feacf
parent8ca75f6d074b83ee48d9ce713cdb3e28e57d2cf8 (diff)
also manage directory as puppet user needs write perms as well
-rw-r--r--manifests/yaml.pp23
-rw-r--r--spec/classes/yaml_spec.rb6
2 files changed, 23 insertions, 6 deletions
diff --git a/manifests/yaml.pp b/manifests/yaml.pp
index 8ac0071..aca164b 100644
--- a/manifests/yaml.pp
+++ b/manifests/yaml.pp
@@ -6,7 +6,8 @@
# Default: /var/lib/trocla/trocla_data.yaml
# This should be managed using the package.
class trocla::yaml(
- $data_file = '/var/lib/trocla/trocla_data.yaml',
+ $manage_data_dir = true,
+ $data_file = '/var/lib/trocla/trocla_data.yaml',
) {
class{'trocla::config':
@@ -19,10 +20,20 @@ class trocla::yaml(
},
}
- file{$data_file:
- ensure => file,
- owner => puppet,
- group => 0,
- mode => '0600';
+ if $manage_data_dir {
+ $data_dir = dirname($data_file)
+ file{$data_dir:
+ ensure => directory,
+ owner => puppet,
+ group => 0,
+ mode => '0600';
+ }
+ }
+ file{
+ $data_file:
+ ensure => file,
+ owner => puppet,
+ group => 0,
+ mode => '0600';
}
}
diff --git a/spec/classes/yaml_spec.rb b/spec/classes/yaml_spec.rb
index c5912f2..53ee507 100644
--- a/spec/classes/yaml_spec.rb
+++ b/spec/classes/yaml_spec.rb
@@ -27,6 +27,12 @@ store_options:
adapter_options:
:file: /var/lib/trocla/trocla_data.yaml
") }
+ it { should contain_file('/var/lib/trocla').with(
+ :ensure => 'directory',
+ :owner => 'puppet',
+ :group => 0,
+ :mode => '0600'
+ )}
it { should contain_file('/var/lib/trocla/trocla_data.yaml').with(
:ensure => 'file',
:owner => 'puppet',