A puppet-lint plugin to check that spaceship operator is called with a tag.
$ gem install puppet-lint-spaceship_operator_without_tag-check
gem 'puppet-lint-spaceship_operator_without_tag-check', :require => false
Calling spaceship operator (<| |>) without tag can be dangerous because it will realise all virtual resources of that type (https://tickets.puppetlabs.com/browse/PUP-3825).
class foo {
Package <| |>
}
class foo {
Package <| tag == 'foo' |>
}
To disable this check, you can add --no-spaceship_operator_without_tag-check
to your puppet-lint command line.
$ puppet-lint --no-spaceship_operator_without_tag-check path/to/file.pp
Alternatively, if you’re calling puppet-lint via the Rake task, you should insert the following line to your Rakefile
.
PuppetLint.configuration.send('disable_spaceship_operator_without_tag')
This plugin was originally authored by Camptocamp. The maintainer preferred that Puppet Community take ownership of the module for future improvement and maintenance. Existing pull requests and issues were transferred over, please fork and continue to contribute here instead of Camptocamp.
Previously: https://github.com/camptocamp/puppet-lint-spaceship_operator_without_tag-check