Optimize your automation with improved playbooks that guarantee reliable execution. Create and maintain Ansible Playbooks with ease while ensuring they are always up-to-date and secure.
Supports Red Hat Ansible Automation Platform
Checks all Ansible versions from 2.0 to 2.16
Windows compatible
Check if your playbooks are compatible with a specific Ansible version, identify issues you need to resolve, get advice on how to ease migrations, and upgrade playbooks in minutes instead of hours.
️Prevent downtime and simplify migrations across different versions.
Identify name changes and redirects in collections, modules and parameters and default value changes.
Detect deprecated modules and their parameters.
Check for fully qualified collection names.
Add an extra layer of security. Understand what will happen when you run the playbooks and follow security best practices to minimize security risks, downtime, and costs.
Add your own rules and policies to ensure all playbooks meet your specific needs, requirements and use cases.
> spotter policies set Policies Custom policies successfully set. > spotter scan playbook.yml Scanning...success. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 Check results: playbook.yml:7:7: ERROR: [E2300] Name value should start with uppercase letter. playbook.yml:7:7: ERROR: [E2300] Region should be set to europe (eu-...). playbook.yml:7:7: ERROR: [E2300::IncorrectValue] ec2_group.rules[0] SSH' (Port:22) should not be public. playbook.yml:7:7: ERROR: [E2300::IncorrectValue] ec2_group.rules[1] should not open the http port (80). playbook.yml:23:7: ERROR: [E2300] Instances should not be in default security groups. playbook.yml:23:7: ERROR: [E2300] Name value should end with a dot. playbook.yml:23:7: ERROR: [E2300] Volume size should be set to less then 128GB. playbook.yml:41:7: ERROR: [E2300] Name value should end with a dot. playbook.yml:47:7: HINT: [H1600] Tasks should always be named using the name parameter. playbook.yml:52:7: ERROR: [E2300] Access key should be written as a variable. Scan summary: Spotter took 2.078 s to scan your input. It resulted in 9 error(s), 0 warning(s) and 1 hint(s). Can rewrite 0 file(s) with 0 change(s). Overall status: ERROR > spotter clear-policies Custom policies successfully cleared. >
> spotter policies set Policies Custom policies successfully set. > spotter scan playbook.yml Scanning...success. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 Check results: playbook.yml:7:7: ERROR: [E2300] Name value should start with uppercase letter. playbook.yml:7:7: ERROR: [E2300] Region should be set to europe (eu-...). playbook.yml:7:7: ERROR: [E2300::IncorrectValue] ec2_group.rules[0] SSH' (Port:22) should not be public. playbook.yml:7:7: ERROR: [E2300::IncorrectValue] ec2_group.rules[1] should not open the http port (80). playbook.yml:23:7: ERROR: [E2300] Instances should not be in default security groups. playbook.yml:23:7: ERROR: [E2300] Name value should end with a dot. playbook.yml:23:7: ERROR: [E2300] Volume size should be set to less then 128GB. playbook.yml:41:7: ERROR: [E2300] Name value should end with a dot. playbook.yml:47:7: HINT: [H1600] Tasks should always be named using the name parameter. playbook.yml:52:7: ERROR: [E2300] Access key should be written as a variable. Scan summary: Spotter took 2.078 s to scan your input. It resulted in 9 error(s), 0 warning(s) and 1 hint(s). Can rewrite 0 file(s) with 0 change(s). Overall status: ERROR > spotter clear-policies Custom policies successfully cleared. >
Structure your playbooks for readability, collaboration and ease of use.
Verify that modules, parameters, and parameter values within playbooks are correct and accurate.
Check if playbooks are compatible and supported with the latest versions of Ansible and Ansible Collections.
Customize rules and policies to meet specific organizational, industry and security requirements.
Check for security misconfiguration within playbooks and assure compliance with security best practices.
Structure your playbooks for readability, collaboration and ease of use.
Verify that modules, parameters, and parameter values within playbooks are correct and accurate.
Check if playbooks are compatible and supported with the latest versions of Ansible and Ansible Collections.
Customize rules and policies to meet specific organizational, industry and security requirements.
Check for security misconfiguration within playbooks and assure compliance with security best practices.
Rewrite your Ansible content with suggested changes in a flash.
> spotter scan playbook.yml Scanning...success. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 Check results: playbook.yml:5:7: ERROR: [E006] Required parameter instance.host was not set in module servicenow.itsm.change_request. Environment fallback was unsuccessful as variable SN_HOST is not set. If you decide to set the environment variable remember to do it on other configuration systems too. Another way is to set the parameter in task directly. View docs at https://docs.steampunk.si/plugins/servicenow/itsm/2.2.0/module/change_request.html. playbook.yml:18:7: ERROR: [E601] Value of policy in module ansible.builtin.iptables is set to DROPcy=DROP chain=INPUT which does not match any of the possible choices listed in [ACCEPT, DROP, QUEUE, RETURN]. Scan summary: Spotter took 2.005 s to scan your input. It resulted in 2 error(s), 0 warning(s) and 0 hint(s). Can rewrite 0 file(s) with 0 change(s). Overall status: ERROR >
Suggestions are equipped with direct links to module documentation of a specific version.
Requirements.yml with all the collections you need for the installation is generated automatically.
> ls playbook.yml > spotter scan --rewrite playbook.yml Scanning...success. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 Rewritten check results: playbook.yml:5:7: HINT: [H1900] Required collection community.crypto is missing from requirements.yml or requirements.yml is missing. Remaining check results: playbook.yml:5:7: ERROR: [E601] Value of provider in module community.crypto.x509_certificate is set to assertonly which does not match any of the possible choices listed in [acme, entrust, ownca, selfsigned]. View docs at https://docs.steampunk.si/plugins/community/crypto/2.15.1/module/x509_certificate.html. Scan summary: Spotter took 1.368 s to scan your input. It resulted in 1 error(s), 0 warning(s) and 1 hint(s). Did rewrite 1 file(s) with 1 change(s). Overall status: ERROR > ls playbook.yml requirements.yml >
Analyze scan data, spot trends, monitor progress, and create custom reports with the intuitive reporting feature. Focus on delivering results and make data-driven decisions.
Simply install the steampunk-spotter CLI tool as a Python package.
Use Spotter app to check the quality of public Git repositories.
Integrate Spotter with GitHub Actions and GitLab to scan content within CI/CD workflows.
Analyze and get recommendations for your playbooks directly in Visual Studio Code.
As a Playbook Developer, you come across different challenges. Documentation is lacking, there's no clear guidance on what's approved, and it's hard to keep up with what's new and best practices.
Use Spotter to:
verify playbook templates or examples,
check Ansible core and Collection versions compatibility,
understand the implications of Ansible upgrades.
As a Quality Assurance Manager, you often wonder what the playbook will really do, especially when there's no documentation available. Will there be a rollback? Will it break something in production?
Use Spotter to:
understand what will happen when you run the playbook,
run QA automations without errors,
understand best practices and what-if scenarios for your tests.
As an Operations Manager, you want to anticipate potential issues, but how to do that if you don't know what will happen in case of errors in the playbooks? Or what will happen to them when a new Ansible version pops up?
Use Spotter to:
identify potential vulnerabilities,
receive quality reports and recommendations for improvements,
achieve reliable execution of automation.
As IT's infrastructure continues to evolve and become more complex, it's nearly impossible for security specialists to keep it secure at all times without the help of reliable tools.
Use Spotter to:
prevent misconfigurations and security breaches,
ensure corporate standards of compliance,
achieve secure execution of automation.
As a Playbook Developer, you come across different challenges. Documentation is lacking, there's no clear guidance on what's approved, and it's hard to keep up with what's new and best practices.
Use Spotter to:
verify playbook templates or examples,
check Ansible core and Collection versions compatibility,
understand the implications of Ansible upgrades.
As a Quality Assurance Manager, you often wonder what the playbook will really do, especially when there's no documentation available. Will there be a rollback? Will it break something in production?
Use Spotter to:
understand what will happen when you run the playbook,
run QA automations without errors,
understand best practices and what-if scenarios for your tests.
As an Operations Manager, you want to anticipate potential issues, but how to do that if you don't know what will happen in case of errors in the playbooks? Or what will happen to them when a new Ansible version pops up?
Use Spotter to:
identify potential vulnerabilities,
receive quality reports and recommendations for improvements,
achieve reliable execution of automation.
As IT's infrastructure continues to evolve and become more complex, it's nearly impossible for security specialists to keep it secure at all times without the help of reliable tools.
Use Spotter to:
prevent misconfigurations and security breaches,
ensure corporate standards of compliance,
achieve secure execution of automation.