puppet-ghostbuster
puppet-ghostbuster copied to clipboard
👻 Dead code detector for Puppet
puppet-ghostbuster
When you have dead puppet code hanging around ... Who you gonna call ?
This gems helps puppet users to find dead code by displaying unused classes, defined resources, template and files.
This gems only support PuppetDB APi v4 (PuppetDB 3+)
Usage
$ find . -type f -exec puppet-lint --only-checks ghostbuster_classes,ghostbuster_defines,ghostbuster_facts,ghostbuster_files,ghostbuster_functions,ghostbuster_hiera_files,ghostbuster_templates,ghostbuster_types {} \+
Environment variables
HIERA_YAML_PATH
The location of the hiera.yaml
file. Defaults to /etc/puppetlabs/code/hiera.yaml
PUPPETDB_URL
The url or the PuppetDB. Defaults to http://puppetdb:8080
PUPPETDB_CACERT_FILE
Your site’s CA certificate
PUPPETDB_CERT_FILE
An SSL certificate signed by your site’s Puppet CA
PUPPETDB_KEY_FILE
The private key for that certificate
Plugins
ghostbuster_classes
Find unused classes in PuppetDB.
ghostbuster_defines
Find unused defined types in PuppetDB.
ghostbuster_facts
Find unused facts in Puppet manifests and templates.
ghostbuster_files
Find unused files in PuppetDB or in Puppet manifests.
ghostbuster_functions
Find unused functions in Puppet manifests or templates.
ghostbuster_hiera_files
Find unused hiera files in PuppetDB.
ghostbuster_templates
Find unused templates in Puppet manifests.
ghostbuster_types
Find unused types in Puppet manifests.
Example output
TODO
$ find . -type f -exec puppet-lint --only-checks ghostbuster_classes,ghostbuster_defines,ghostbuster_files,ghostbuster_hiera_files,ghostbuster_templates {} \+
./modules/foo/manifests/install.pp - WARNING: Class Foo::Install seems unused on line 1
./modules/foo/manifests/service.pp - WARNING: Class Foo::Service seems unused on line 1
./modules/foo/manifests/init.pp - WARNING: Class Foo seems unused on line 1
./modules/bar/manifests/baz.pp - WARNING: Define Bar::Baz seems unused on line 1
./modules/modulename/templates/foo.erb - WARNING: Template modulename/foo.erb seems unused on line 1
./modules/modulename/templates/bar.erb - WARNING: Template modulename/bar.erb seems unused on line 1
./modules/modulename/templates/baz.erb - WARNING: Template modulename/baz.erb seems unused on line 1
./modules/foo/files/bar.txt - WARNING: File foo/bar.txt seems unused on line 1
./modules/foo/files/baz.txt - WARNING: File foo/baz.txt seems unused on line 1