NOTE: Examples shown in this article are specific to the panHandler application. Installation and getting started with Panhandler can be found in the Panhandler quick start guide or at https://panhandler.readthedocs.io.
In order to import skillets, both the GitHub clone URL and the branch name are required. This information is captured in the community skillet articles and should be included in personal skillet contributions.
Skillet details for GitHub
In Panhandler, choose "Import Skillets"
Panhandler Menu
Then enter the GitHub "clone URL" not the website url. Either copy from the skillet article or if using github.com look for the green box labeled "Clone or Download"
Import Repository - Enter a valid git url and desired branch below
NOTE: This will default to the master branch. If a different branch is required, go to Skillet Repositories, select skillet repo Details. Click on the branch name to jump to the bottom of the page where you can checkout the needed branch.
Imported Skillets can be updated with Update to Latest found in the Skillet Repository details page
The common way to play skillets is from the Skillet Collections page and then skillet selection. Skillets can be filtered by type or found with search options. Within a named collection is a list of playable skillets.
Skillet Collection
Click Go to play a specific skillet from within its collection.
Based on the skillet design the user will be presented with various web form entries and target IP/user/password inputs as API credentials.
This type of skillet uses the NGFW or Panorama API to push one or more configuration snippets to the device. Target IP, username, and password are used to generate the API key prior to loading the snippets. The user has the option to commit, fast commit, or not commit after the snippets are loaded along with prior config backup.
These skillets also support operational commands and additional config actions such as delete, edit, and move.
these skillets use a source config file loaded in offline mode or captured from the device in online mode. Online mode requires the target IP, username, and password to create the api key and export the start-up or running configuration for analysis.
Post analysis results show pass/fail responses for each test criteria along with detailed messages and documentation links for next steps such as config remediation.
REST skillets do not have device logic included and consist of a sequence of one or more stateless API calls. Where required for 'panos' or Panorama, the target IP, username, and password are entered for api key generation and capture for subsequent api calls.
The rest response can be parsed and displayed or passed to other skillets as input variables. A common type of rest skillet is an API call emulated the '?' complete CLI option generating a list of responses used in dropdown lists.
Used for stateful or more complex needs, these skillets provide for a python virtual environment and GUI on top of the python code. This simplifies distribution of python code with extensive documentation for installation and CLI usage. Skillet variables are passed to the code as arguments.
When running a python skillet the user will see the python virtual environment created including installation of required packages. Then the code will run. Screen-based status updates can be viewed on the screen during update intervals.
These are basic rendering of text content using jinja-based variable substitutions. This multi-purpose skillet type can be used for output messages, CLI set commands, and any other text context capture requiring user-based variable inputs.
All output is rendered on screen.
Similar to python, provides for a UI interface on top of Terraform templates. User capture variable inputs are passed to the Terraform platform to instantiate devices in various private and public cloud deployments.
Workflows provide a simple model for chaining together a set of skillets of various types. Simple conditionals can be used to determine if a skillet should be played.