Skip to content

Commit f5a0016

Browse files
committed
puppet-syntax: Validate hiera keys
For a long time puppet-syntax has support to validate hiera keys and eyaml. We should use this functionality. https://github.com/voxpupuli/puppet-syntax?tab=readme-ov-file#configuration From my local testing. The default output: ```terminal $ bundle exec rake syntax ---> syntax:manifests ---> syntax:templates ---> syntax:hiera:yaml ``` Now that's a bug in puppet-syntax. It always prints the subtasks, even if they aren't executed. If I break a hiera data file: ```diff $ git diff data/common.yaml diff --git a/data/common.yaml b/data/common.yaml index ad8bb3d..4243024 100644 --- a/data/common.yaml +++ b/data/common.yaml @@ -19,5 +19,5 @@ lookup_options: merge: 'unique' # Default is currently yum path -yum::plugin::versionlock::path: /etc/yum/pluginconf.d/versionlock.list +::yum::plugin::versionlock::path: /etc/yum/pluginconf.d/versionlock.list yum::settings::mainconf: /etc/yum.conf ``` I get the following output: ```terminal $ bundle exec rake syntax ---> syntax:manifests ---> syntax:templates ---> syntax:hiera:yaml WARNING: data/common.yaml: Key ::yum::plugin::versionlock::path: Puppet automatic lookup will not use leading '::' ``` by default puppet-syntax uses the following paths for hiera files: ```ruby @hieradata_paths = [ '**/data/**/*.*{yaml,yml}', 'hieradata/**/*.*{yaml,yml}', 'hiera*.*{yaml,yml}', ] ``` https://github.com/voxpupuli/puppet-syntax/blob/master/lib/puppet-syntax.rb#L9-L13
1 parent e3b7546 commit f5a0016

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

lib/puppetlabs_spec_helper/rake_tasks.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@
192192
PuppetSyntax.exclude_paths << 'vendor/**/*'
193193
PuppetSyntax.exclude_paths << '.vendor/**/*'
194194
PuppetSyntax.exclude_paths << 'plans/**/*'
195+
PuppetSyntax.check_hiera_keys = true
195196

196197
desc 'Check syntax of Ruby files and call :syntax and :metadata_lint'
197198
task :validate do

0 commit comments

Comments
 (0)