This code has moved to gitlab. Please see https://gitlab.com/puppet-debugger/puppet-debugger
Table of Contents generated with DocToc
- puppet-debugger
- Compatibility
- Production usage
- Installation
- Load path
- Interactive demo
- Web demo
- Usage
- Using Variables
- Listing variables
- Listing functions
- Using functions
- Duplicate resource error
- Setting the puppet log level
- Remote nodes
- Setup
puppet-debugger
A interactive command line tool for evaluating and debugging the puppet language.
Documentation
Please visit https://docs.puppet-debugger.com for more info.
Compatibility
Requires Puppet 5.5+, ruby 2.4+
Production usage
The puppet debugger is a developer tool that should only be used when writing puppet code. Although it might seem useful to install on your production puppet master. Please do not install because of the puppet-debugger gem dependencies that might conflict with your existing environment.
Installation
gem install puppet-debugger
Web demo
There is a web version of the puppet-debugger online but is somewhat limited at this time. In the future we will be adding lots of awesome features to the web debugger.
Usage
The puppet debugger is a puppet application so once you install the gem, just fire it up using puppet debugger
.
If you have used puppet apply
to evaulate puppet code, this replaces all of that with a simple debugger REPL console.
The debugger will only parse and evaluate your code. It will not build a catalog
and try to enforce the catalog. This has a few side affects. This means you can type any puppet code in the debugger
and see what it would actual do when compiling a resource.
- Type and provider code will not get run.
- Nothing is created or destroyed on your system.
puppet debugger
Example Usage
Ruby Version: 2.6.5
Puppet Version: 6.17.0
Puppet Debugger Version: 1.0.0
Created by: NWOps <corey@nwops.io>
Type "commands" for a list of debugger commands
or "help" to show the help screen.
1:>> $os
=> {
"architecture" => "x86_64",
"family" => "RedHat",
"hardware" => "x86_64",
"name" => "Fedora",
"release" => {
"full" => "23",
"major" => "23"
},
"selinux" => {
"config_mode" => "permissive",
"config_policy" => "targeted",
"current_mode" => "permissive",
"enabled" => true,
"enforced" => false,
"policy_version" => "29"
}
}
2:>>
Copyright
Copyright (c) 2018 NWOPS, LLC. See LICENSE.txt for further details.