<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: XLAB Steampunk</title>
    <description>The latest articles on Forem by XLAB Steampunk (@xlab_steampunk).</description>
    <link>https://forem.com/xlab_steampunk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F515462%2F8266d230-7370-4565-8b02-14599f950d9f.png</url>
      <title>Forem: XLAB Steampunk</title>
      <link>https://forem.com/xlab_steampunk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/xlab_steampunk"/>
    <language>en</language>
    <item>
      <title>The Ultimate Guide to Securing Ansible Supply Chain</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Wed, 08 Apr 2026 15:28:00 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/the-ultimate-guide-to-securing-ansible-supply-chain-4gbi</link>
      <guid>https://forem.com/xlab_steampunk/the-ultimate-guide-to-securing-ansible-supply-chain-4gbi</guid>
      <description>&lt;p&gt;Automation is the backbone of modern IT operations, and Ansible is one of the most popular tools for orchestrating infrastructure at scale. But with great power comes great responsibility: a single misconfigured playbook can impact thousands of systems in seconds.&lt;/p&gt;

&lt;p&gt;In this blog, we’ll break down how to secure Ansible Playbooks and infrastructure, explain key terms, highlight common risks and outline best practices to keep your automation safe.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does “shift left” mean in Ansible security?
&lt;/h2&gt;

&lt;p&gt;“Shift left” is a term that comes from software development. Traditionally, security checks happen late—during production or after deployment. Shifting left means &lt;strong&gt;embedding security earlier in the lifecycle&lt;/strong&gt;, during design, development, and testing.&lt;/p&gt;

&lt;p&gt;In Ansible, this translates to scanning playbooks &lt;strong&gt;before they run in production&lt;/strong&gt;, catching misconfigurations, and automating security checks. At scale, this is the only way to maintain safe, reliable automation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2q41x0hajqqmcjnihifv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2q41x0hajqqmcjnihifv.png" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Managing security risk across the Ansible dependency chain
&lt;/h2&gt;

&lt;p&gt;Ansible Playbooks are just the tip of the iceberg. While the playbook code is visible, the full automation execution relies on a &lt;strong&gt;software supply chain&lt;/strong&gt; that extends far beyond the playbook itself. Most security risks lie in the hidden layers, that include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ansible collections:&lt;/strong&gt; Bundles of modules and roles that may come from public sources or internal repositories. Vulnerabilities here are inherited by any playbook that uses them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ansible modules and roles:&lt;/strong&gt; Individual modules or task sets written in Python, PowerShell, or shell. Weaknesses or insecure defaults can propagate into your automation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Python and system packages:&lt;/strong&gt; Libraries or packages required by modules and roles. Outdated or vulnerable packages introduce hidden risks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Execution environment and operating system:&lt;/strong&gt; The runtime, including OS-level settings and interpreter versions, can carry vulnerabilities that affect all playbook executions.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fti5ud8tzv9khtga0p8f4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fti5ud8tzv9khtga0p8f4.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Together, these layers form the “underwater” part of the iceberg where risks can hide, while the playbook itself is just the visible tip. Even small mistakes or vulnerabilities in these dependencies can scale across thousands of systems, leading to downtime, compliance issues, or security incidents. By understanding the full dependency chain and applying shift left practices—scanning dependencies early, validating inputs, and enforcing automated governance—you can secure not just the playbook, but the entire Ansible ecosystem before it reaches production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common security risks in Ansible Playbooks
&lt;/h2&gt;

&lt;p&gt;Here are some of the most common risks in Ansible Playbooks we see in practice:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Hard-coded secrets and sensitive data&lt;/strong&gt;&lt;br&gt;
Passing passwords, API keys, or tokens directly in playbooks is a frequent mistake. Even when playbooks are valid, logs can unintentionally capture sensitive information if tasks are not configured correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best practices:&lt;/strong&gt; Use Ansible Vault or a dedicated secret management solution to store sensitive data securely. Avoid exposing secrets in logs, variables, or code repositories.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Trust in unvalidated variables&lt;/strong&gt;&lt;br&gt;
A single variable from a vars file or unchecked input can turn a valid playbook into a destructive one. Assumptions about “trusted users” or “safe defaults” often lead to problems, exposing sensitive data or causing full-scale system failures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best practices:&lt;/strong&gt; Always validate and sanitize all inputs. Treat every variable as untrusted until verified, regardless of its source.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Missing or weak input validation&lt;/strong&gt;&lt;br&gt;
Playbooks that accept variables without proper checks can lead to command injection or unintended execution. Even trusted sources can provide unexpected or malicious input.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best practices:&lt;/strong&gt; Apply strict validation rules and type checks during development. Ensure all variables conform to expected formats and ranges.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Excessive privileges&lt;/strong&gt;&lt;br&gt;
Running playbooks with become: true or root privileges everywhere may seem convenient, but it multiplies the potential impact of mistakes or malicious commands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best practices:&lt;/strong&gt; Apply the principle of least privilege. Only grant the access necessary for each task to reduce risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Insecure communication channels&lt;/strong&gt;&lt;br&gt;
Downloading packages or interacting with systems over insecure channels can allow interception, tampering, or man-in-the-middle attacks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best practices:&lt;/strong&gt; Use HTTPS, SSH, and verified repositories. Ensure that all communication with remote systems is encrypted and authenticated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Unrestricted command execution&lt;/strong&gt;&lt;br&gt;
Playbooks that execute raw commands from variables, such as a CMD variable, are particularly dangerous. They may work as intended, but users can pass anything, and assumptions about safe usage often fail.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best practices:&lt;/strong&gt; Define allowed actions and sanitize inputs. Validate commands at design time to prevent misuse or accidental destruction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common security risks in Ansible infrastructure
&lt;/h2&gt;

&lt;p&gt;Running an Ansible Playbook activates an entire software supply chain. Collections, roles, modules, interpreters, third-party packages, and the operating system all work together to enable automation. Each layer introduces potential vulnerabilities, some of which developers may not be aware of. Ansible infrastructure goes beyond playbook logic – it requires understanding and managing risks across the entire automation stack.&lt;/p&gt;

&lt;p&gt;Here are the most common infrastructure-level risks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Vulnerable collections and third-party dependencies&lt;/strong&gt;&lt;br&gt;
Ansible collections and roles often rely on external modules and packages. If any of these dependencies have known vulnerabilities, your automation inherits those risks automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; A playbook installs software using a third-party Python package that contains a remote code execution vulnerability. Even if your playbook appears safe, running it in production could compromise your systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practice:&lt;/strong&gt; Maintain an up-to-date inventory of all dependencies and scan them regularly against vulnerability databases (CVEs and CWEs).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Unvalidated variables passed to external modules&lt;/strong&gt;&lt;br&gt;
Variables that are not properly validated at the playbook level can propagate to modules and libraries deeper in your infrastructure. This can lead to unexpected behavior or command injection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; Passing unchecked user input to a cloud module might trigger unintended changes in your cloud environment, such as creating resources in the wrong region or deleting critical assets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practice:&lt;/strong&gt; Treat every variable as untrusted and validate inputs rigorously before execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Cloud misconfigurations at scale&lt;/strong&gt;&lt;br&gt;
Infrastructure automation often manages cloud resources. Misconfigured settings –such as overly permissive IAM roles, exposed storage buckets, or unsecured networking rules –can create large-scale security gaps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; A playbook deploys hundreds of virtual machines with default security groups allowing public SSH access. One misstep could expose your entire environment to attackers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practice:&lt;/strong&gt; Implement policy-as-code checks for cloud configurations and integrate them into your CI/CD pipeline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Secret exposure beyond the playbook&lt;/strong&gt;&lt;br&gt;
Infrastructure-level secrets include API keys, credentials for cloud services, and database passwords. Unlike playbook-level secrets, these often interact with modules, interpreters, and external systems, increasing exposure risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; Secrets stored in environment variables or logs without encryption can be accessed by anyone with playbook execution privileges.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practice:&lt;/strong&gt; Use centralized secret management and audit secret usage across the entire automation stack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Shell injection and unsafe module use&lt;/strong&gt;&lt;br&gt;
High-privilege modules or shell commands executed by Ansible can be exploited if inputs are untrusted or improperly sanitized. This is the infrastructure-level equivalent of the playbook-level command injection risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; A playbook executes a shell module on thousands of servers using a variable for commands. If an attacker can control that variable, they could execute arbitrary commands across your entire fleet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practice:&lt;/strong&gt; Prefer dedicated Ansible modules over shell commands, sanitize all inputs, and avoid running commands as root unless necessary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Privilege escalation at the infrastructure level&lt;/strong&gt;&lt;br&gt;
Running automation with high privileges across your infrastructure amplifies mistakes. A playbook might behave correctly in testing but cause unintended disruption at scale in production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; A collection updates system packages on all servers using root privileges. A minor misconfiguration could break critical services everywhere..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practice:&lt;/strong&gt; Apply the principle of least privilege, limit root-level tasks, and segment execution environments to reduce blast radius.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffr3o84vusg5933ame96j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffr3o84vusg5933ame96j.png" alt=" " width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Best practices for securing Ansible supply chain
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Automate security controls&lt;/strong&gt;&lt;br&gt;
Manual reviews are insufficient. Integrate automated security scanning into CI/CD pipelines to detect misconfigurations and vulnerabilities early in the development lifecycle. Automation enforces consistent security policies across all playbooks and environments, minimizing human error and accelerating delivery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Build a Software Bill of Materials (SBOM)&lt;/strong&gt;&lt;br&gt;
Maintain a detailed inventory of every component in your Ansible automation – collections, modules, third-party dependencies, and execution environments. An SBOM enables continuous monitoring for known vulnerabilities and ensures compliance with security standards before components reach production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Implement Policy as code&lt;/strong&gt;&lt;br&gt;
Encode security policies directly into your automation platform using policy-as-code frameworks. This guarantees that all playbooks and underlying infrastructure comply with your organization’s requirements, eliminating reliance on manual interpretation of documentation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Apply least privilege principles&lt;/strong&gt;&lt;br&gt;
Limit the use of root or high-privilege access wherever possible. Ensure playbooks and infrastructure components run with only the permissions necessary for their tasks, reducing the impact of errors or attacks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Validate inputs and sanitize commands&lt;/strong&gt;&lt;br&gt;
Treat every variable and input as untrusted. Validate data at the playbook and infrastructure levels and avoid executing raw shell commands when possible. Use dedicated Ansible modules that handle inputs safely, preventing injection or unintended actions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Leverage industry benchmarks&lt;/strong&gt;&lt;br&gt;
Use widely accepted frameworks such as CIS and NIST to validate playbooks and automation workflows. Aligning with these benchmarks ensures that your Ansible automation adheres to recognized security and compliance standards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Continuous monitoring and governance&lt;/strong&gt;&lt;br&gt;
Regularly monitor the entire Ansible supply chain, including collections, third-party dependencies, and execution environments. Automated governance detects and remediates vulnerabilities, misconfigurations, and policy violations before deployment, keeping automation secure and compliant.&lt;/p&gt;

&lt;h2&gt;
  
  
  From guidelines to real-world execution
&lt;/h2&gt;

&lt;p&gt;Securing Ansible automation requires a holistic, proactive approach. By combining automated scanning, governance, SBOMs, policy-as-code, least-privilege principles, and industry benchmarks, organizations can enforce consistent security standards across playbooks and infrastructure—reducing risk and enabling safe, scalable automation.&lt;/p&gt;

&lt;p&gt;Want to take the next step? In our on-demand webinar, we show &lt;strong&gt;how to apply these principles in real-world Ansible environments.&lt;/strong&gt; Learn how to shift security left, automate checks, and embed security directly into your development workflows. &lt;a href="https://steampunk.si/spotter/webinars-training/shift-left-security/" rel="noopener noreferrer"&gt;Watch it here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://steampunk.si/spotter/webinars-training/shift-left-security/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5x7hc81y1eur0pa72bk5.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ansible</category>
      <category>ansiblesuppychain</category>
      <category>ansiblesecurity</category>
    </item>
    <item>
      <title>Is your automation outdated? A 5-step approach to migrating Ansible Playbooks</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Wed, 01 Apr 2026 11:21:39 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/is-your-automation-outdated-a-5-step-approach-to-migrating-ansible-playbooks-23d1</link>
      <guid>https://forem.com/xlab_steampunk/is-your-automation-outdated-a-5-step-approach-to-migrating-ansible-playbooks-23d1</guid>
      <description>&lt;p&gt;If you've been putting off your Ansible upgrade, you're not alone. But the longer you wait, the messier it gets. &lt;/p&gt;

&lt;p&gt;Deprecated modules pile up. Compliance requirements tighten. And eventually someone on the team has to spend weeks doing manually what could have taken days with the right approach. Here's a practical breakdown of how to handle it without the trial-and-error. &lt;/p&gt;

&lt;h2&gt;
  
  
  The 5-step migration process
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1 – Assess what you have&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pull together your playbooks and sort them into three buckets: reuse as it is, adapt, or retire. Don't skip this — it shapes everything downstream. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2 – Automate where possible&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Syntax changes, deprecated modules, version compatibility flags — most of these can be caught and fixed by tooling. Let it do the heavy lifting before you start manual review. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3 – Fix what automation can't&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Automation won't catch everything. Complex tasks, legacy modules, or environment-specific quirks will still need a human eye. Build time for this into your plan. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4 – Prepare your execution environments&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is where upgrades silently break. Make sure your EEs match the requirements of your updated playbooks before anything goes to production. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5 – Validate and go live&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Run functional, security, and compliance checks. And before you close the project, document what you encountered — it's invaluable for the next migration cycle. &lt;/p&gt;

&lt;h2&gt;
  
  
  What this looks like at scale
&lt;/h2&gt;

&lt;p&gt;A Fortune 100 financial institution ran through this process with Steampunk Spotter across thousands of playbooks. They surfaced 132,000 issues and resolved 128,000 of them automatically. &lt;strong&gt;End result: 8x faster migration, 17,000+ hours saved, 413% ROI.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;The tooling did the heavy lifting. The team focused on what actually needed judgment. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Worth noting: there's a free webinar How to automate upgrades across thousands of ansible playbooks (Real enterprise case) on April 9 at 3PM CEST covering this exact process with practical examples you can apply right away.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://steampunk.webinargeek.com/how-to-automate-upgrades-across-thousands-ansible-playbooks" rel="noopener noreferrer"&gt;Register here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://steampunk.webinargeek.com/how-to-automate-upgrades-across-thousands-ansible-playbooks" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1kr2j8wi3iklj0ygjxdv.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ansible</category>
      <category>ansiblemigration</category>
      <category>ansibleupgrade</category>
      <category>ansibleplaybook</category>
    </item>
    <item>
      <title>Securing Ansible Workflows: Why it’s critical</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Wed, 25 Mar 2026 13:30:36 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/securing-ansible-workflows-why-its-critical-3n5p</link>
      <guid>https://forem.com/xlab_steampunk/securing-ansible-workflows-why-its-critical-3n5p</guid>
      <description>&lt;p&gt;Automation scales fast. And so do mistakes. A ten-line playbook with root privileges can impact &lt;strong&gt;thousands of systems in seconds.&lt;/strong&gt; Small errors don’t stay small - they scale. Catching them early is critical to prevent downtime, security incidents, or compliance issues. &lt;/p&gt;

&lt;h3&gt;
  
  
  Infrastructure is critical and complex
&lt;/h3&gt;

&lt;p&gt;Ansible Playbooks interact with operating systems, cloud APIs, third-party modules, and execution environments. Each layer is a potential attack surface that must be validated *&lt;em&gt;before deployment. *&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Manual checks do not scale
&lt;/h3&gt;

&lt;p&gt;Frequent updates, large playbooks, and infrastructure at scale make manual code reviews unreliable. Automated code reviews with integrated security and governance are essential for *&lt;em&gt;consistent, secure, and reliable automation. *&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Governance enables safe scaling
&lt;/h3&gt;

&lt;p&gt;Automating compliance and maintaining audit trails ensures consistent application of policies, accelerates onboarding, and allows organizations to expand automation use cases safely.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Shift left in practice
&lt;/h3&gt;

&lt;p&gt;Consider a simple playbook that accepts a cmd variable and executes it on multiple servers: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wnvbm536my7tb2yzxl5.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wnvbm536my7tb2yzxl5.PNG" alt=" " width="800" height="221"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Technically valid, but risky because: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Any user can execute dangerous commands
&lt;/li&gt;
&lt;li&gt;Global become: true increases the potential impact of mistakes
&lt;/li&gt;
&lt;li&gt;Dependencies and modules may contain vulnerabilities &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To secure this playbook and your infrastructure, apply shift left approach: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Validate inputs&lt;/strong&gt; against allowed commands
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enforce least-privilege execution&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scan all modules and dependencies&lt;/strong&gt; for security issues
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apply automated governance and policy checks&lt;/strong&gt; before deployment
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach demonstrates the real-world consequences of ignoring security and shows how shift left practices protect both playbooks and infrastructure. &lt;/p&gt;

&lt;p&gt;📘 Our free e-book goes deeper: common risks in ansible playbooks and infrastructure, best practices, and practical tools to secure Ansible workflows across your entire automation stack. &lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://steampunk.si/spotter/ebooks/securing-ansible-playbooks-and-infrastructure/" rel="noopener noreferrer"&gt;Download the ebook here &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://steampunk.si/spotter/ebooks/securing-ansible-playbooks-and-infrastructure/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93edn35l9bf84ufmygfm.png" alt=" " width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ansible</category>
      <category>shiftleft</category>
      <category>devsecops</category>
      <category>automation</category>
    </item>
    <item>
      <title>5 Best Ansible Playbook Scanning Tools in 2026 for Secure and Scalable Automation</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Tue, 17 Mar 2026 12:35:22 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/5-best-ansible-playbook-scanning-tools-in-2026-for-secure-and-scalable-automation-6im</link>
      <guid>https://forem.com/xlab_steampunk/5-best-ansible-playbook-scanning-tools-in-2026-for-secure-and-scalable-automation-6im</guid>
      <description>&lt;p&gt;As Ansible adoption increases across organizations, automation is no longer limited to a few playbooks managed by a single team. Many enterprises operate Ansible at scale, with hundreds of playbooks, multiple teams contributing automation, and critical infrastructure changes occurring daily.&lt;/p&gt;

&lt;p&gt;This shift brings new challenges. Release cycles are faster, Ansible Core and Automation Platform upgrades happen more frequently, and security and compliance requirements are increasingly enforced directly in CI/CD pipelines. At the same time, automation must be auditable, predictable, and safe, especially when it affects production systems.&lt;/p&gt;

&lt;p&gt;Another significant change is the growing use of AI-assisted code generation. While AI can accelerate Ansible development, it is inherently non-deterministic, meaning it does not always produce the same result for the same input. This makes automated validation and approval gates essential. AI-generated automation must still be reviewed, validated, and approved before it can be trusted in production.&lt;/p&gt;

&lt;p&gt;In this environment, manual reviews and basic linting are no longer sufficient. Organizations need reliable ways to detect risks early, enforce standards consistently, and prevent unsafe automation from running. This is where Ansible playbook scanning tools become a critical part of modern automation workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Ansible Playbook Scanning?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://steampunk.si/spotter/blog/flexible-ansible-playbook-scanning-steampunk-spotter/" rel="noopener noreferrer"&gt;Ansible Playbook scanning&lt;/a&gt; refers to the process of reviewing and analyzing Ansible playbooks for potential issues, code quality problems, vulnerabilities, or misconfigurations. It ensures that your playbooks follow best practices, security standards, and compliance requirements by using a combination of pre-built and customizable checks.&lt;/p&gt;

&lt;h2&gt;
  
  
  What has changed since 2025?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Faster Ansible Core evolution&lt;/strong&gt;&lt;br&gt;
Ansible Core releases are accelerating, with more frequent deprecations and behavior changes. Automation that worked last year may break after an upgrade if it is not proactively validated.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Policy-as-code becoming standard&lt;/strong&gt;&lt;br&gt;
More organizations are adopting policy-as-code to automatically enforce security, compliance, and operational standards, rather than relying on manual reviews or tribal knowledge.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security teams shifting left&lt;/strong&gt;&lt;br&gt;
Security and compliance teams are getting involved earlier in automation workflows. Instead of reviewing incidents after deployment, they now expect guardrails to be enforced before automation runs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;From linting to prevention&lt;/strong&gt;&lt;br&gt;
The focus has shifted from simply identifying basic issues to actively preventing risky or non-compliant automation from reaching production. This includes enforcing policies, blocking unsafe changes, and providing clear remediation guidance.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, these changes mean that Ansible scanning tools must do more than flag syntax issues. They need to understand Ansible deeply, integrate into delivery pipelines, and support teams as automation grows in scale and importance.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Evaluate Ansible Playbook Scanning Tools in 2026
&lt;/h2&gt;

&lt;p&gt;In 2026, when choosing an Ansible scanning tool, consider how well the tool aligns with your automation maturity and organizational needs. When comparing tools, evaluate the following dimensions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Upgrade readiness&lt;/strong&gt;&lt;br&gt;
Can the tool help you safely transition between Ansible versions by detecting deprecated modules, breaking changes, or incompatible patterns?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Depth of Ansible-specific knowledge&lt;/strong&gt;&lt;br&gt;
Is the tool specialized for Ansible, and how deeply does it understand Ansible concepts and best practices?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Shift-left vs runtime validation&lt;/strong&gt;&lt;br&gt;
Does it catch issues early during development and CI, or does it only detect problems after automation has already run?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security and compliance coverage&lt;/strong&gt;&lt;br&gt;
Can the tool enforce security policies, detect misconfigurations, and support compliance requirements across environments?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Collaboration and visibility&lt;/strong&gt;&lt;br&gt;
Does it provide reports, dashboards, or trends that help teams understand risk over time and collaborate on remediation?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Auto-remediation vs detection-only&lt;/strong&gt;&lt;br&gt;
Does the tool simply report issues, or can it suggest or apply fixes to speed up resolution?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enterprise readiness&lt;/strong&gt;&lt;br&gt;
Can it scale across teams, repositories, and environments, and integrate smoothly with CI/CD pipelines and existing workflows?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Comparing 5 Ansible Playbook Tools in 2026: Tool-by-Tool Overview
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://ansible.readthedocs.io/projects/lint/" rel="noopener noreferrer"&gt;1. Ansible Lint&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jryewrvtb31d3uc9swn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jryewrvtb31d3uc9swn.png" alt=" " width="800" height="103"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ansible Lint is an open-source command-line tool that analyzes Ansible playbooks, roles, and collections to enforce established best practices and coding standards. It detects common issues such as syntax errors, use of deprecated modules, and potential security misconfigurations, helping ensure playbooks are reliable and secure.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Upgrade Readiness:&lt;/strong&gt;&lt;br&gt;
Provides basic coverage through linting rules for deprecated modules; limited in detecting complex upgrade issues.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ansible-Specific Depth:&lt;/strong&gt;&lt;br&gt;
Ansible specific - strong adherence to community best practices and static checks; limited insight into dynamic execution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security &amp;amp; Compliance Coverage:&lt;/strong&gt;&lt;br&gt;
Offers basic security hygiene checks but does not enforce complex policies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Collaboration &amp;amp; Visibility:&lt;/strong&gt;&lt;br&gt;
CLI-only; lacks dashboards or team reporting.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Auto-Remediation &amp;amp; Issue Resolution:&lt;/strong&gt;&lt;br&gt;
Automatic fixes available; the tool applies formatting fixes at the same time, which makes it harder to compare the before and after versions of the code.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt; Best used as a foundational tool for consistent playbook standards and early error detection. Not sufficient alone for enterprise-scale environments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://ansible.readthedocs.io/projects/lint/" rel="noopener noreferrer"&gt;home - Ansible Lint Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/ansible/ansible-lint" rel="noopener noreferrer"&gt;ansible-lint&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://steampunk.si/spotter/" rel="noopener noreferrer"&gt;2. Steampunk Spotter&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Steampunk Spotter is an Ansible Playbook Platform that goes beyond basic linting. It is specialized for Ansible and performs in depth analysis of playbooks to identify hard to detect errors and security issues, improving the quality, reliability, and security of your Ansible automation. Spotter acts as a gatekeeper for all Ansible content, helping enforce best practices, security and compliance requirements, supporting upgrades, and enabling automatic fixes. A key advantage of Spotter is its comprehensive coverage of the entire Ansible codebase, helping teams consistently improve and maintain their automation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzoc009ksu7qz0e9af9vs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzoc009ksu7qz0e9af9vs.png" alt=" " width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Key Features for Ansible Code:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Upgrade Readiness:&lt;/strong&gt;&lt;br&gt;
Strong; identifies deprecated modules, risky patterns, and potential upgrade issues.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ansible-Specific Depth:&lt;/strong&gt;&lt;br&gt;
Ansible specific - deep understanding of Ansible codebase.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security &amp;amp; Compliance Coverage:&lt;/strong&gt;&lt;br&gt;
Robust policy-as-code enforcement; prevents risky automation before deployment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Collaboration &amp;amp; Visibility:&lt;/strong&gt;&lt;br&gt;
Full-featured dashboards, reports, and trend tracking for teams.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Auto-Remediation &amp;amp; Issue Resolution:&lt;/strong&gt;&lt;br&gt;
Offers guided or automatic remediation, accelerating fixes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt; A comprehensive, enterprise-ready solution that covers prevention, governance, remediation and team visibility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://steampunk.si/spotter/" rel="noopener noreferrer"&gt;Steampunk Spotter | XLAB Steampunk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/xlab-steampunk/spotter-action" rel="noopener noreferrer"&gt;xlab-steampunk/spotter-action&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.kics.io/#supportedplatforms" rel="noopener noreferrer"&gt;3. KICS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;KICS by Checkmarx is an open-source static analysis tool that identifies security vulnerabilities, compliance issues, and misconfigurations in infrastructure-as-code definitions. KICS specializes in cloud infrastructure and supports a wide range of IaC formats – including, Terraform, Kubernetes manifests, Dockerfiles, CloudFormation, and Ansible playbooks. KICS is designed to catch issues before deployment to help avoid security risks in automated infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbb84v5y5bpps1yewoxt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbb84v5y5bpps1yewoxt.png" alt=" " width="800" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Upgrade Readiness:&lt;/strong&gt;&lt;br&gt;
Minimal; does not specifically assist with Ansible version migrations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ansible-Specific Depth:&lt;/strong&gt;&lt;br&gt;
Not Ansible specific - tTreats Ansible as one of many IaC formats; not execution-aware.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security &amp;amp; Compliance Coverage:&lt;/strong&gt;&lt;br&gt;
Strong focus on security and compliance focus; detects misconfigurations and policy violations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Collaboration &amp;amp; Visibility:&lt;/strong&gt;&lt;br&gt;
Basic reporting; limited collaboration features.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt; Ideal for teams needing consistent security enforcement across multiple IaC platforms, focused mostly on cloud infrastructure, but less effective for deep Ansible-specific governance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://kics.io/" rel="noopener noreferrer"&gt;KICS by Checkmarx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Checkmarx/kics" rel="noopener noreferrer"&gt;Checkmarx/kics&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.checkov.io/" rel="noopener noreferrer"&gt;4. Checkov&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Like KICS, Checkov focuses on cloud infrastructure. This open-source static analysis tool, originally developed by Bridgecrew.io and now owned by Palo Alto Networks, scans Infrastructure-as-Code for misconfigurations and security issues before the code deploys the infrastructure. Checkov can parse Ansible playbooks and tasks and apply policies to ensure they adhere to security best practices and configuration standards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feu7c2m8q4vn4tgb90bb6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feu7c2m8q4vn4tgb90bb6.png" alt=" " width="800" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Key Features for Ansible Code:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Upgrade Readiness:&lt;/strong&gt;&lt;br&gt;
Limited; no targeted support for Ansible version upgrades.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ansible-Specific Depth:&lt;/strong&gt;&lt;br&gt;
Policy-driven analysis; less aware of execution logic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security &amp;amp; Compliance Coverage:&lt;/strong&gt;&lt;br&gt;
Broad security coverage for cloud infrastructure and Ansible playbooks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Collaboration &amp;amp; Visibility:&lt;/strong&gt;&lt;br&gt;
Basic reporting features; limited team dashboards.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Auto-Remediation &amp;amp; Issue Resolution:&lt;/strong&gt;&lt;br&gt;
Detection-only; minimal guidance for fixes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt; Strong for multi-IaC security scanning, focused mostly on cloud infrastructure, but less focused on Ansible-specific workflow governance or automated remediation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://www.checkov.io/" rel="noopener noreferrer"&gt;Checkov – Ansible Scanning&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/bridgecrewio/checkov" rel="noopener noreferrer"&gt;bridgecrewio/checkov&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://ansible.readthedocs.io/projects/molecule/" rel="noopener noreferrer"&gt;5. Ansible Molecule&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Molecule is a testing framework for Ansible that ensures roles and playbooks function as intended. It automates the provisioning test instances (using Docker, Vagrant, etc.), applies your Ansible roles and playbooks, and verifies the results. While Molecule does not statically scan code for style, it is invaluable for quality assurance because it catches logic errors and regressions by actually running the code in clean environments.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmcycegx6wmoq5amhpqv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmcycegx6wmoq5amhpqv.png" alt=" " width="800" height="212"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Upgrade Readiness:&lt;/strong&gt;&lt;br&gt;
Indirect; can reveal regressions or failures caused by Ansible version changes during runtime testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ansible-Specific Depth:&lt;/strong&gt;&lt;br&gt;
Not Ansible specific - focused on runtime behavior rather than static analysis; provides indirect insights through tests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security &amp;amp; Compliance Coverage:&lt;/strong&gt;&lt;br&gt;
Indirect; depends on assertions in test scenarios.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Collaboration &amp;amp; Visibility:&lt;/strong&gt;&lt;br&gt;
Provides logs and CI integration but lacks dashboards or trend tracking.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Auto-Remediation &amp;amp; Issue Resolution:&lt;/strong&gt;&lt;br&gt;
No remediation; detects issues through runtime testing.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt; Excellent for verifying runtime behavior and compatibility. Best used alongside static scanning tools for comprehensive coverage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://molecule.readthedocs.io/" rel="noopener noreferrer"&gt;Molecule Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/ansible-community/molecule" rel="noopener noreferrer"&gt;ansible-community/molecule&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Building Reliable and Secure Ansible Automation in 2026
&lt;/h2&gt;

&lt;p&gt;As automation scales, managing Ansible playbooks across multiple teams and environments has become more complex than ever. Faster release cycles, frequent upgrades, and heightened security and compliance expectations mean that basic linting and manual reviews are no longer sufficient. Organizations need tools that not only detect issues, but also prevent risky automation from reaching production, enforce standards consistently, and provide visibility across teams.&lt;/p&gt;

&lt;p&gt;The five tools we’ve explored each serve a distinct purpose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ansible Lint&lt;/strong&gt; delivers foundational quality checks, helping teams enforce best practices and catch syntax issues early.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Steampunk Spotter&lt;/strong&gt; offers a comprehensive, enterprise-ready solution, combining upgrade readiness, Ansible-native analysis, security enforcement, and automated remediation guidance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;KICS&lt;/strong&gt; and &lt;strong&gt;Checkov&lt;/strong&gt; focus on security and compliance across a wide range of infrastructure-as-code and specialized for cloud infrastructure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ansible Molecule&lt;/strong&gt; validates runtime behavior, catching logic errors and regressions that static analysis may miss.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No single tool addresses every requirement. In practice, mature teams combine multiple tools, layering linting, security scanning, Ansible-native analysis, and runtime testing to achieve a comprehensive automation quality strategy.&lt;/p&gt;

&lt;p&gt;Choosing the right tool or combination depends on your organization’s automation scale, security priorities, and workflow maturity. By aligning tool capabilities with your specific needs, you can ensure that your Ansible automation remains secure, compliant, predictable, and reliable, even as your infrastructure and automation landscape continue to evolve.&lt;/p&gt;

&lt;p&gt;In 2026, effective Ansible automation isn’t just about running playbooks—it’s about governing them with confidence. The right scanning and validation tools give teams the insight, control, and remediation capabilities they need to make automation safe, auditable, and scalable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://steampunk.si/spotter/playbook-assessment/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9yl1jyyiqi1g41jja67z.PNG" alt=" " width="800" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>devops</category>
      <category>security</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Shift left security in Ansible: Catch risks before they reach production</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Tue, 10 Feb 2026 13:29:57 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/shift-left-security-catch-risks-before-they-reach-production-3lam</link>
      <guid>https://forem.com/xlab_steampunk/shift-left-security-catch-risks-before-they-reach-production-3lam</guid>
      <description>&lt;p&gt;When it comes to automation, small mistakes can have big consequences. In Ansible, a single variable from a vars file, or a risky module dependency, can silently propagate across hundreds of systems. By the time you notice, you’re already dealing with downtime, unexpected behavior, or compliance headaches. &lt;/p&gt;

&lt;p&gt;Ansible Playbooks are just the tip of the iceberg. Modules, collections, plugins, and Python packages all introduce risk. Without proper input validation, assumptions about “trusted users” or “safe defaults” can lead to destructive behavior at scale. &lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;shift left approach&lt;/strong&gt; catches problems early by analyzing playbooks and their dependencies before they reach production. This way, you can identify risky inputs, prevent unintended behavior, and ensure your automation runs safely and reliably — without costly downtime or last-minute firefighting. &lt;/p&gt;

&lt;p&gt;Join our free webinar &lt;strong&gt;Shift left and secure: How to embed security in the Ansible development lifecycle&lt;/strong&gt; to learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why shifting security left is critical for secure and scalable Ansible automation &lt;/li&gt;
&lt;li&gt;The most common security risks found in Ansible Playbooks and their dependencies &lt;/li&gt;
&lt;li&gt;Why understanding the full dependency chain is essential for managing risk &lt;/li&gt;
&lt;li&gt;The tools (such as playbook scanning, SBOM generation, CVE analysis, security reporting and supply chain management) that help embed security into the Ansible development lifecycle &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;During the session, you’ll also have the opportunity for a &lt;strong&gt;free Playbook Security Assessment&lt;/strong&gt; to uncover hidden vulnerabilities and compliance gaps in their own automation workflows.&lt;/p&gt;

&lt;p&gt;📅 Feb 19, 2026 | 3 PM CET | 45 min &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://steampunk.si/spotter/webinars-training/shift-left-security/" rel="noopener noreferrer"&gt;Reserve your spot&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://steampunk.si/spotter/webinars-training/shift-left-security/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8u9jhdlfkru48xzwcf2x.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ansiblesecurity</category>
      <category>ansibleautomation</category>
      <category>ansible</category>
      <category>shiftleft</category>
    </item>
    <item>
      <title>Secure your Ansible Automation: SBOM, CVE Analysis and Security reports</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Fri, 23 Jan 2026 14:27:00 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/secure-your-ansible-automation-sbom-cve-analysis-and-security-reports-2n4j</link>
      <guid>https://forem.com/xlab_steampunk/secure-your-ansible-automation-sbom-cve-analysis-and-security-reports-2n4j</guid>
      <description>&lt;h2&gt;
  
  
  What is SBOM?
&lt;/h2&gt;

&lt;p&gt;A Software Bill of Materials (SBOM) is essentially the list of elements in your software. Just as a food label indicates ingredients, an SBOM provides a detailed inventory of the components, libraries and dependencies in your applications, automation environments, or playbooks.&lt;/p&gt;

&lt;p&gt;At its core, an SBOM is a structured record of all parts that make up a piece of software. This includes open-source libraries, proprietary code and licensed third-party dependencies. A comprehensive SBOM can also capture details about the build process, such as the tools and environments used.&lt;/p&gt;

&lt;p&gt;For &lt;strong&gt;Ansible users&lt;/strong&gt;, SBOMs provide visibility into the dependencies that playbooks and collections rely on. They help identify potential vulnerabilities in the execution environment or collections and allow teams to make informed decisions about whether it’s safe to use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is SBOM important in Ansible?
&lt;/h2&gt;

&lt;p&gt;If one of your collections or environments contains a hidden vulnerability, you could be unknowingly introducing risks into your infrastructure. With SBOMs, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gain visibility into collection dependencies and potential vulnerabilities&lt;/li&gt;
&lt;li&gt;Decide which execution environments are safe to use&lt;/li&gt;
&lt;li&gt;Compare different versions and choose the one with the fewest weaknesses&lt;/li&gt;
&lt;li&gt;Identify vulnerabilities early and keep environments up to date and secure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Consider SBOMs as your blueprint for secure and reliable automation. This benefits not only developers, but also operations teams who can better predict their deployments, security professionals who can act on clear insights, and compliance officers who get the visibility they need. An SBOM becomes a shared source of truth for all teams to make a safer decision at every stage.&lt;/p&gt;

&lt;p&gt;It’s no longer just best practice to know what’s in your software, it’s an obligation. By creating and maintaining SBOMs, you not only protect your infrastructure but also meet new global standards that demand transparency and resilience in the digital supply chain.&lt;/p&gt;

&lt;h2&gt;
  
  
  How can I introduce SBOMs in my organization?
&lt;/h2&gt;

&lt;p&gt;Getting started with SBOMs doesn’t have to be overwhelming. The key is to integrate them into your existing workflows so that they become a natural part of your development and automation process. Here are some practical steps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Introduce tools that generate SBOMs automatically:&lt;/strong&gt; Manual creation is not scalable. Choose solutions like Steampunk Spotter that extract SBOMs directly from your playbooks, collections, and execution environments.&lt;br&gt;
&lt;strong&gt;2. Create a baseline for your environments:&lt;/strong&gt; Generate SBOMs for the execution environments and collections you use most often. This gives you a clear overview of your current dependencies and any hidden vulnerabilities.&lt;br&gt;
&lt;strong&gt;3.Integrate SBOM checks into your CI/CD pipeline:&lt;/strong&gt; Treat SBOMs as part of your quality and security controls. Running them continuously ensures that new dependencies are tracked and assessed before they reach production.&lt;br&gt;
&lt;strong&gt;4. Combine SBOMs with vulnerability scans:&lt;/strong&gt; An SBOM is an inventory in its own. Combine it with a CVE analysis to uncover the real risks behind these components and feed the results into security reports that your team can act on.&lt;br&gt;
&lt;strong&gt;5. Educate your teams:&lt;/strong&gt; Developers will use SBOMs to detect issues early, security teams will monitor risks in real time, and operations will decide which environments are safe for production. SBOMs are most valuable when they are understood and applied across the organization.&lt;/p&gt;

&lt;p&gt;By adopting SBOMs early and pairing them with tools like CVE analysis and security reports, you move from reactive problem-solving to proactive security management. This means fewer disruptions, more secure deployments and greater confidence in every automation project you undertake.&lt;/p&gt;

&lt;h2&gt;
  
  
  From SBOMs to CVE Analysis and Security Reports
&lt;/h2&gt;

&lt;p&gt;In our Steampunk Spotter, SBOM creation is directly integrated into the workflow. Imagine you want to run an Ansible Playbook for a critical deployment. Before execution, Spotter will provide you with a complete SBOM for the collection, listing all dependencies and flagging all vulnerable components.&lt;/p&gt;

&lt;p&gt;This means you’re not flying blind. Instead, you can make an informed decision: Stick with the current collection or alert your security team before proceeding.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatjhtqayzlc74wisb0pr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatjhtqayzlc74wisb0pr.png" alt=" " width="800" height="583"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An SBOM tells you what’s inside. But what about the risks? This is where &lt;strong&gt;CVE (Common Vulnerabilities and Exposures) Analysis&lt;/strong&gt; comes into play.&lt;/p&gt;

&lt;p&gt;Spotter takes the SBOMs from your collections used in your playbooks and runs them against known vulnerability databases. The result? Actionable insights summarized in a security report that shows you all the risks in your Ansible content at a glance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Making SBOMs actionable with CVE Analysis
&lt;/h2&gt;

&lt;p&gt;With Spotter’s CVE Analysis and Security Reports, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Know exactly what risks are associated with a collection before you use it&lt;/li&gt;
&lt;li&gt;Ensure your security team is aware of potential threats associated with dependencies&lt;/li&gt;
&lt;li&gt;Continuously assess vulnerabilities and decide whether a collection is secure enough for production&lt;/li&gt;
&lt;li&gt;Expect fewer surprises, smoother audits and greater confidence in your automation stack.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqgh2r531vctdzfjr74wl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqgh2r531vctdzfjr74wl.png" alt=" " width="800" height="636"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Spotter Security Reports in action
&lt;/h2&gt;

&lt;p&gt;Let’s say you manage multiple collections for different teams. Spotter generates Security Reports that highlight which versions contain particularly high-risk vulnerabilities. Instead of guessing, you can compare collections side-by-side and recommend the one with the lowest risk profile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq1bzutnmk3nwwqzwp3d0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq1bzutnmk3nwwqzwp3d0.gif" alt=" " width="560" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Achieve compliant and secure Ansible automation
&lt;/h2&gt;

&lt;p&gt;Stop worrying about security risks in your Ansible playbooks. Explore features like SBOM, CVE Analysis, and detailed Security Reports in action by reserving &lt;a href="https://steampunk.si/spotter/playbook-assessment/" rel="noopener noreferrer"&gt;A FREE PLAYBOOK ASSESSMENT.&lt;/a&gt; This expert-led review evaluates your own playbooks, giving you valuable insights into their security gaps and helping you identify potential risks that often go unnoticed.&lt;/p&gt;

</description>
      <category>ansible</category>
      <category>ansibleautomation</category>
      <category>security</category>
      <category>cveanalysis</category>
    </item>
    <item>
      <title>Automate your Ansible upgrade and migration process</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Tue, 06 Jan 2026 14:45:00 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/automate-your-ansible-upgrade-and-migration-process-43dl</link>
      <guid>https://forem.com/xlab_steampunk/automate-your-ansible-upgrade-and-migration-process-43dl</guid>
      <description>&lt;p&gt;Upgrading your Ansible playbooks is not a “someday-maybe” project, it’s essential. Sticking with outdated playbooks reduces ROI, slows automation adoption, and introduces security risks.&lt;br&gt;
Manual upgrades may seem simple, but every step carries the risk of errors, inconsistencies, and downtime.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automation eliminates these risks, and quickly ensures accurate, compliant, and reliable results.&lt;/strong&gt; This guide breaks down the upgrade and migration process into 5 key steps that will help you create AAP-compliant playbooks ready for Red Hat Ansible Automation Platform 2.4+ and Ansible 2.15+.&lt;/p&gt;

&lt;h1&gt;
  
  
  The upgrade and migration process in 5 steps:
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;1. Assess what you have&lt;/strong&gt;&lt;br&gt;
Take stock of your playbooks. Some can be adopted as they are, others need to be adapted, and some may not be upgradable due to technical constraints. This will give you a clear overview of effort and priorities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Automate where possible&lt;/strong&gt;&lt;br&gt;
Use tools to handle repetitive tasks such as syntax updates, deprecated modules, and version compatibility checks. This speeds up the process and highlights only what really needs expert attention.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Fix what automation can’t&lt;/strong&gt;&lt;br&gt;
Make manual changes when needed, such as rewriting complex tasks, updating legacy modules, or solving environment-specific constraints. Focus human input only where it adds real value.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Prepare your execution environments&lt;/strong&gt;&lt;br&gt;
Create or update execution environments that match your upgraded playbooks. This ensures consistent, reliable workflows across all teams and systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Validate and go live&lt;/strong&gt;&lt;br&gt;
Perform validation checks for functionality, security, and compliance. Test in staging, then roll out to production. Document the changes and lessons to make the next upgrade is even easier.&lt;/p&gt;

&lt;h1&gt;
  
  
  Key takeaways
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A structured approach pays off:&lt;/strong&gt; Dividing the migration into phases reduces risk and makes upgrades more predictable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automate as much as possible:&lt;/strong&gt; Use automation for repetitive changes and rely on expert review only for complex playbooks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Minimize manual risk:&lt;/strong&gt; Automated processes reduce human errors, inconsistencies, and downtime compared to manual upgrades.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Future-proof your playbooks:&lt;/strong&gt; Clean, well-documented playbooks are easier to maintain and upgrade over time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Validated results:&lt;/strong&gt; With proper quality assurance and testing, you can move to newer Ansible and Ansible Automation Platform versions with confidence.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;p&gt;With this approach, organizations can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster transition from legacy playbooks and platforms&lt;/li&gt;
&lt;li&gt;Reduce maintenance and upgrade costs&lt;/li&gt;
&lt;li&gt;Minimize the risk of errors from manual updates&lt;/li&gt;
&lt;li&gt;Ensure secure, maintainable, and future-proof automation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With this proven approach, teams can speed up Ansible automation journey and focus on delivering automation at scale.&lt;/p&gt;

&lt;h1&gt;
  
  
  How a Fortune 100 Company Did It
&lt;/h1&gt;

&lt;p&gt;One of the world’s largest Fortune 100 companies faced the same challenge as many other organizations in a highly regulated industry: outdated Ansible playbooks, a legacy automation setup, and the need to quickly migrate to the Red Hat Ansible Automation Platform. &lt;a href="https://steampunk.si/spotter/customer-stories/global-fsi-playbooks-migration-and-upgrade/" rel="noopener noreferrer"&gt;See case study.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the help of Steampunk Spotter and our team of Ansible experts, they did it:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy4d0d4qbndbzcudmppbp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy4d0d4qbndbzcudmppbp.png" alt=" " width="800" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The combination of automation (Spotter) and Ansible expertise turned a risky, time-consuming upgrade into a 10-week, predictable, and high-return project.&lt;/p&gt;

&lt;h1&gt;
  
  
  Start your upgrade and migration today
&lt;/h1&gt;

&lt;p&gt;If you’d like to achieve similar results in your organization, we’d be happy to help. You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://steampunk.si/spotter/playbook-assessment/" rel="noopener noreferrer"&gt;Book a free Playbook Assessment&lt;/a&gt; as your first step, or&lt;/li&gt;
&lt;li&gt;Simply schedule some time to talk to us here: &lt;a href="https://steampunk.si/spotter/book-a-demo/" rel="noopener noreferrer"&gt;Book a demo&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s automate the upgrade and migration of your Ansible playbooks.&lt;/p&gt;

</description>
      <category>ansible</category>
      <category>ansibleplaybooks</category>
      <category>security</category>
      <category>compliance</category>
    </item>
    <item>
      <title>Never Deploy Broken Playbooks Again: Ansible Automation Platform and Steampunk Spotter Integration</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Wed, 26 Jun 2024 14:00:00 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/never-deploy-broken-playbooks-again-ansible-automation-platform-and-steampunk-spotter-integration-3hfi</link>
      <guid>https://forem.com/xlab_steampunk/never-deploy-broken-playbooks-again-ansible-automation-platform-and-steampunk-spotter-integration-3hfi</guid>
      <description>&lt;p&gt;Imagine confidently deploying Ansible Playbooks knowing they’re free of security vulnerabilities and compliance issues. The integration of &lt;strong&gt;Steampunk Spotter&lt;/strong&gt; with Red Hat Ansible Automation Platform (AAP) ensures that &lt;strong&gt;every job&lt;/strong&gt; can be &lt;strong&gt;inspected for security vulnerabilities and compliance issues before and even during execution.&lt;/strong&gt; Let’s delve into how this integration streamlines your workflow and guarantees flawless playbooks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Integrate Ansible Automation Platform with Steampunk Spotter?
&lt;/h2&gt;

&lt;p&gt;Before diving into the specifics, let’s explore why these powerful platforms work best together. While code checking tools help us validate Ansible Playbooks before execution which significantly shortens debugging time and prevents major production issues, the truth is that &lt;strong&gt;static code analysis and early fail principle still fall short.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Found errors can be intentionally or unintentionally bypassed. And even if all identified errors are fixed before execution, there’s no guarantee of reliable and secure outcomes when running playbooks in AAP because static code analysis can’t assess the values used within the playbook itself. And these values can present significant security risks, even if the playbook itself passes static code analysis. That’s why it’s &lt;strong&gt;important to also check the playbook while it’s being executed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steampunk Spotter bridges this gap, ensuring playbooks are thoroughly tested before and during execution to help you&lt;/strong&gt; improve Ansible Playbook quality, reduce playbook errors, mitigate security risks, ensure playbook compliance, and &lt;strong&gt;achieve secure execution.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Traditional Way: Develop, Test, and Execute Ansible Playbooks
&lt;/h2&gt;

&lt;p&gt;We typically start by creating a YAML file and writing the playbook code. Ansible Lint or other similar linting tools help catch common syntax issues during this stage. However, &lt;strong&gt;linters focus solely on syntax: they check only for style errors and don’t analyze the actual content used.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is where &lt;strong&gt;Steampunk Spotter&lt;/strong&gt; shines. This powerful Ansible Playbook Platform &lt;strong&gt;analyzes the content of your playbooks, ensuring they’re not just syntactically correct, but also secure, reliable, and compliant&lt;/strong&gt; with your company policies.&lt;/p&gt;

&lt;p&gt;Let’s consider an example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;---
- hosts: all
  connection: network cli
  gather_facts: false

  tasks:
    - name: Create security group.
      amazon.aws.ec2_security_group:
        name: "web-app-sec"
        description: "Sec group for app web-app"
        region: "eu-west-3"
        access_key: "124gfsd23rwddsf2"
        rules:
          - proto:tcp
            from_port: 22
            to_port: 22
            cidr_ip: 0.0.0.0/0
          - proto: tcp
            to_port: 80
            cidr_ip: 0.0.0.0/0
      register: result_sec_group

    - name: EC2 instance create.
      amazon.aws.ec2_instance:
        name: "VM_for_demo"
        vpc_subnet_id: subnet-5calable
        key_name: "prod-ssh-key"
        security_group: "web-app-sec"
        volumes:
          - device_name: /dev/sdal
            ebs:
              volume_size: 64
              delete_on_termination: true
        image_id: ami-08c947c038321a605
        network:
          assign_public_ip: true
        tags:
          demo: VM

    - name: Gather information about the instance with a tag.
      amazon.aws.ec2_instance_info:
        filters:
          "tag: demo": VM
      register: instance_id

    - name: Test
      amazon.aws.ec2_snapshot:
        instance_id: "{{ instance_id }}"
        device_name: /dev/sda1
        description: snapshot of /data from VM_for_demo

    - name: VPC info.
      steampunk.aws.ec2_vpc_info:
        auth:
          access_key: dafsgdhzjthtrereddscfr
          secret_key: "{{ my_secret_key }}"
          region: "{{ my_region }}"
      register: vpcs

    - name: Create a new database with name "acme".
      community.postgresql.postgresql_db:
        db: acme

    - name: For passing JSON, etc.
      community.postgresql.postgresql_query:
        query: INSERT INTO test_table (array_column) VALUES (%s)
        positional_args:
        - '{1,2,3}'

    - name: Ensure that the desired snmp strings are present.
      cisco.ios.ios.config:
        lines:
          - snmp-server community ansible-public RO
          - reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This seemingly correct playbook passed the syntax check, but it is clear that it includes security issues that would cause major problems.&lt;/p&gt;

&lt;p&gt;As we see, the playbook is written correctly, looks fine, and is in line with Ansible best practices, but it contains security and compliance issues that regular linters wouldn’t catch.&lt;/p&gt;

&lt;p&gt;So, the next step usually is to scan the playbook locally. We commit the code to a Git repo which in our case includes CI pipelines in place that check the quality of code – we have Ansible Lint and Steampunk Spotter in place to safeguard our main repo.&lt;/p&gt;

&lt;p&gt;First, we scanned our playbook with Ansible Lint:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9xcbk8qtba2a57xwf8s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9xcbk8qtba2a57xwf8s.png" alt="Image description" width="800" height="144"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then Spotter provided us with some significant security issues:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5pwo1ck0qxte5jtej0io.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5pwo1ck0qxte5jtej0io.png" alt="Image description" width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clearly there is a difference in the output. But even if Spotter provided deep insights into security issues, there’s a chance users might choose to ignore them to save time.&lt;/p&gt;

&lt;p&gt;Businesses can block a merge request to prevent the playbook from passing the CI pipeline, but users can just leave the code as it is in their branch and deploy the code with potential risks in the Ansible Automation Platform.&lt;/p&gt;

&lt;p&gt;Or, more commonly, this scenario: we correct all identified issues, but Spotter, while providing deep insight into the quality and security of playbooks and static analysis of not only Ansible content, but also Ansible modules and the code itself, still doesn’t have access to the values used in them, and these can be a big problem during production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Unsecure Playbooks: Two Scenarios to Consider
&lt;/h2&gt;

&lt;p&gt;No matter what the reason, we are left with a playbook that contains quite harmful security issues, so if we run it in AAP, here’s how this plays out with and without Spotter integration:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Without Spotter Integration:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The user syncs the project, retrieves playbooks, sets execution environments, and provides necessary credentials.&lt;/li&gt;
&lt;li&gt;They launch the playbook, effectively deploying code with potential security issues due to ignored tests and feedback from Steampunk Spotter and Ansible Lint.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;With Spotter integration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Similar steps occur initially, but Steampunk Spotter becomes the game-changer. Users can still skip checks, but the key difference lies in &lt;strong&gt;selecting the execution environment within the job template.&lt;/strong&gt; (We’ll explain this further.)&lt;/p&gt;

&lt;p&gt;When the user launches the job template, Steampunk Spotter &lt;strong&gt;detects potential security issues before and during execution.&lt;/strong&gt; Spotter &lt;strong&gt;checks the values of parameters and stops execution&lt;/strong&gt; if they violate your internal policies. In our example, Spotter would flag the playbook with errors, preventing its execution and potential security breaches.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fof6qitcny3ykabtndkzj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fof6qitcny3ykabtndkzj.png" alt="Image description" width="800" height="190"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Steampunk Spotter and AAP Integration 101
&lt;/h2&gt;

&lt;p&gt;We’ve explored the need for this integration and its benefits. Now, let’s see how it works and what new it brings to the table in the Ansible automation world.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;integration requires custom Execution Environments (EE)&lt;/strong&gt; to be used on Ansible Automation Platform, &lt;strong&gt;which are simple to create, and our Steampunk experts provide all the necessary instructions and support.&lt;/strong&gt; Spotter also comes with existing tooling to save you time on creating new execution environments.&lt;/p&gt;

&lt;p&gt;With the new execution environment containing Spotter, you can set it up within AAP and enforce its use for all users. This &lt;strong&gt;ensures all job templates undergo the necessary validation and inspection before execution.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fghd9lmzc1auk5vg9djoz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fghd9lmzc1auk5vg9djoz.png" alt="Image description" width="800" height="196"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What You Need to Change: A Streamlined Process
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Update your execution environments.&lt;/li&gt;
&lt;li&gt;Add custom credentials.&lt;/li&gt;
&lt;li&gt;That’s it! It’s a quick and efficient process that delivers immediate results.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Runtime Checks with Steampunk Spotter: A Game-changer
&lt;/h2&gt;

&lt;p&gt;Traditionally, we’ve relied on various methods to check code before execution, followed by additional scans. This approach, known as the “early fail principle,” is beneficial for catching errors early on. However, it has limitations. &lt;strong&gt;Static code analysis can only check Ansible tasks, parameters, and predefined values but struggles with variables and dynamic values produced during task execution.&lt;/strong&gt; This is where runtime checks, also known as dynamic analysis, come in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Runtime checks offer valuable insights into these dynamic values during playbook execution.&lt;/strong&gt; Based on pre-defined checks and policies within Steampunk Spotter, they can &lt;strong&gt;halt execution if potential problems arise.&lt;/strong&gt; While this might be considered a “late fail,” it’s certainly better to catch issues before they impact your infrastructure.&lt;/p&gt;

&lt;p&gt;Let’s explore a couple of scenarios:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Imagine a playbook deploying a Samba server with specific configurations. The playbook might attempt to open ports, including port 22 (SSH), to a public IP address, which could violate your company’s security policy. Static code analysis wouldn’t identify this risk since the port number is provided as a variable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhfjezxw6eoaebybbuzsy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhfjezxw6eoaebybbuzsy.png" alt="Image description" width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With runtime checks, however, Spotter detects this issue during execution and stops the playbook, preventing a potential security breach.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/rpYZ4JTegIk"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Another example involves creating a user with the username and password set to “ADMIN.” While Ansible might allow this seemingly valid password, it might contradict your company’s policy against weak passwords.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4m7s0ig8qq3dfz5x0kf9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4m7s0ig8qq3dfz5x0kf9.png" alt="Image description" width="800" height="538"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Spotter’s runtime checks would prevent this by identifying the weak password and halting execution before compromising security.&lt;/p&gt;

&lt;p&gt;Now we saw that &lt;strong&gt;Spotter stopped Ansible during execution, and with that prevented a security issue on our infrastructure.&lt;/strong&gt; But that’s not the end yet. Execution stopped, but we can’t see the code on which the error was triggered that would enable us to see what the actual problem was and what we have to fix.&lt;/p&gt;

&lt;p&gt;Again, Spotter has you covered.&lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond Stopping Execution: Code Analysis
&lt;/h2&gt;

&lt;p&gt;While stopping execution is crucial, Steampunk Spotter offers additional benefits. If Spotter halts execution due to an issue, you can access the Spotter App to &lt;strong&gt;analyze the specific code causing the problem.&lt;/strong&gt; This allows you to easily share the problematic code with your team and work together to fix it.&lt;/p&gt;

&lt;p&gt;The Scan environment feature captures a snapshot of relevant information during each scan, including Ansible and Python versions, installed collections, and Ansible configuration overrides. This provides valuable context for troubleshooting any issues identified by Spotter.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhp86lgw19sisrknnrnx6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhp86lgw19sisrknnrnx6.png" alt="Image description" width="800" height="644"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Red Hat Ansible Automation Platform focuses on running your automation efficiently and Steampunk Spotter validates your Ansible content before and during execution in AAP. It acts as a “gatekeeper,” catching errors and preventing potentially harmful deployments. This ensures thorough testing throughout the Ansible workflow, saving you time by preventing risky deployments and achieving compliant, secure execution.&lt;/p&gt;

&lt;p&gt;Beyond identifying issues, Steampunk Spotter empowers collaboration through code rendering and provides valuable insights through the scan environment feature.&lt;/p&gt;

&lt;p&gt;Don’t miss the opportunity to streamline and safeguard your Ansible workflows. &lt;a href="https://steampunk.si/spotter/book-a-demo/"&gt;Get a live demo&lt;/a&gt; today to see the power of Steampunk Spotter and AAP integration in action.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpwph99iuw4ac0i0l96c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpwph99iuw4ac0i0l96c.png" alt="Image description" width="800" height="272"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ansible</category>
      <category>ansibleplaybooks</category>
      <category>steampunkspotter</category>
      <category>spotterintegration</category>
    </item>
    <item>
      <title>How Deutsche Telekom MMS optimizes Ansible Playbooks with Steampunk Spotter</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Fri, 14 Jun 2024 11:58:47 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/how-deutsche-telekom-mms-optimizes-ansible-playbooks-with-steampunk-spotter-n26</link>
      <guid>https://forem.com/xlab_steampunk/how-deutsche-telekom-mms-optimizes-ansible-playbooks-with-steampunk-spotter-n26</guid>
      <description>&lt;p&gt;Managing Ansible code quality across multiple teams and projects can be challenging. We talked to &lt;strong&gt;Andreas Hering, System Engineer at Deutsche Telekom MMS&lt;/strong&gt; that shared how he and his team handle the complexities of managing diverse Ansible environments with the help of Steampunk Spotter. They not only achieved significant time saving with the Spotter’s rewrite feature, but also experienced 2-4x speedup in Ansible Playbooks improvement, upgrades and maintenance compared to manual methods.&lt;/p&gt;

&lt;p&gt;In this blog post, we’ll delve deeper into Deutsche Telekom MMS’s goals, implementation process, results achieved so far, and valuable lessons learned along the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges of managing multiple Ansible versions
&lt;/h2&gt;

&lt;p&gt;At Deutsche Telekom MMS, many teams used Ansible to automate customers’ flows, which means that different teams used various different versions of Ansible. Even though they had tools like Ansible Lint and Renovate to check their code and update Ansible, it became hard to keep their code clean and avoid duplication of roles and collections.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where they wanted to go
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;“Ideally we wanted to update and upgrade all our Ansible code across all projects to the latest version,”&lt;/em&gt; explains Andreas.&lt;/p&gt;

&lt;p&gt;However, with multiple customers and repositories managed by different team members, updating the code became a significant challenge.&lt;/p&gt;

&lt;p&gt;Their goals were multi-fold:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;enhance code quality so it is easily understandable by all colleagues in the team,&lt;/li&gt;
&lt;li&gt;improve security by discouraging specific modules,&lt;/li&gt;
&lt;li&gt;align with industry best practices,&lt;/li&gt;
&lt;li&gt;enhance the quality of their open-source projects.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setting up Steampunk Spotter
&lt;/h2&gt;

&lt;p&gt;At Deutsche Telekom, they successfully integrated Steampunk Spotter just over 4 months ago. &lt;em&gt;“When we first tested Spotter out on our code, we realized we had quite a bit of work ahead of us. For example, in one project, the average number of errors per scan and the total number of **detected errors were very high, even though we already had some mechanisms like linting in place&lt;/em&gt;&lt;em&gt;,”&lt;/em&gt; says Andreas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2lu66sjn8h1kr87pfru.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2lu66sjn8h1kr87pfru.PNG" alt="Image description" width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Initially, they needed to set up an efficient workflow. Since the team primarily uses VS Code, they decided to create a workflow using the Spotter extension for VS Code. Given their multiple customers, they wanted to distinguish the errors and track the progress of each codebase. To achieve this, they created multiple projects in Spotter. &lt;em&gt;“We created a configuration file with a project ID for each customer’s project. This setup worked excellently with Spotter, as it automatically searches for the config file and uses the project ID to perform scans.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;However, they also needed a solution for a command-line interface (CLI). They developed a script that facilitates scanning from the CLI by simply typing &lt;code&gt;spots&lt;/code&gt; followed by the path to scan, along with any additional parameters normally used with Spotter. The script requires the Spotter token and endpoint, which are exported as usual. The team set an alias for &lt;code&gt;spots&lt;/code&gt; and defined variables to extract the project ID from the VS Code config file in the repository. If no project ID is found, an error is thrown; otherwise, a Spotter scan is performed with the specified parameters.&lt;/p&gt;

&lt;p&gt;This script is designed to be used in a bash environment, such as Linux or Windows Subsystem for Linux (WSL). &lt;em&gt;“We didn’t create a version for PowerShell or Windows command line, but users are welcome to adapt it.”&lt;/em&gt; In Linux, you can add it to your &lt;code&gt;.bashrc&lt;/code&gt; file to source it at login, allowing you to use the function automatically.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftsylic1v06yif5n45c12.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftsylic1v06yif5n45c12.PNG" alt="Image description" width="780" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Optimizing code with Spotter’s powerful features
&lt;/h2&gt;

&lt;p&gt;With the help of Spotter, the Deutsche Telekom MMS team achieved significant progress in a short period. They &lt;strong&gt;elevated their playbooks to modern standards&lt;/strong&gt;, fine-tuned sections of the code that were previously neglected due to the lack of time and &lt;strong&gt;incorporated multiple best practices&lt;/strong&gt; across more than 10 projects.&lt;/p&gt;

&lt;p&gt;Andreas and the team tackled common errors, such as missing fully qualified names (FQCNs) and requirement files. Spotter also identified deprecated code usage and suggested areas where implementing loops could enhance efficiency. Additionally, they optimized the use of Ansible’s copy and template modules by explicitly setting modes, a frequently encountered issue. Their efforts extended beyond internal projects – they made substantial contributions to the open-source Nomad console with a large merge request facilitated by Spotter. They also used Spotter to improve their internal open-source projects.&lt;/p&gt;

&lt;p&gt;The Deutsche Telekom MMS team was especially satisfied with the Spotter’s rewriting feature, which they used extensively, especially in the beginning. This feature helped them &lt;strong&gt;easily increase code quality, significantly reducing the workload and saving a lot of time.&lt;/strong&gt; &lt;em&gt;“The total number of rewrites at the beginning was quite high, but I think this is a good sign because it is automatically done by Spotter. We managed to lower the total number of detected errors in the end. This is a valuable feature for us, and it saved us a lot of time,”&lt;/em&gt; explains Andreas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3dqgs4eattkiyn2jezxy.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3dqgs4eattkiyn2jezxy.PNG" alt="Image description" width="764" height="234"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Furthermore, Spotter fosters &lt;strong&gt;continuous code improvement.&lt;/strong&gt; By scanning new code, it aligns it with the latest best practices, ensuring your codebase constantly evolves.&lt;/p&gt;

&lt;p&gt;Throughout their journey, our team provided &lt;strong&gt;ongoing support&lt;/strong&gt; and made every effort to ensure a seamless and enjoyable user experience. &lt;em&gt;“Working with you guys was good. We requested one or two features and created bug reports, which you fixed quite fast. You were always open to help,”&lt;/em&gt; explains Andreas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Spotter: Enhancing code quality and reducing stress for developers
&lt;/h2&gt;

&lt;p&gt;Andreas highlighted that &lt;strong&gt;Spotter significantly enhances the quality of Ansible Playbooks,&lt;/strong&gt; even when existing mechanisms are in place. Its &lt;strong&gt;rewriting feature saves a considerable amount of time, being 2-4 times faster than manual efforts.&lt;/strong&gt; Spotter &lt;strong&gt;simplifies upgrades&lt;/strong&gt; by checking for deprecations and &lt;strong&gt;offering guidance on necessary changes. It helps developers write state-of-the-art code&lt;/strong&gt;, and although the ROI is not directly trackable, it has notably reduced stress for engineers and allowed them to focus on more enjoyable tasks 😉&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Spotter shines when it comes to writing new playbooks, following best practices and fixing errors in existing playbooks automatically. That’s a great feature and I would definitely recommend Spotter!”&lt;/em&gt; concludes Andreas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Take your Ansible automation to the next level
&lt;/h2&gt;

&lt;p&gt;If you want to get more details and information about Deutsche Telekom MMS’s experience, you can check out our free on-demand webinar: &lt;a href="https://steampunk.si/webinars-training/optimizing-ansible-playbooks-deutsche-telekom/"&gt;Optimizing Ansible Playbooks with Steampunk Spotter: Deutsche Telekom MMS’s Blueprint for Effective Automation.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if you want to see how Spotter can optimize YOUR automation workflows, we’d be more than happy to schedule a personalized demo tailored to your specific needs. &lt;a href="https://steampunk.si/spotter/book-a-demo/"&gt;Book a demo.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also try Spotter in your own infrastructure, without risk. &lt;a href="https://steampunk.si/spotter/onprem-testing/"&gt;Book your test now&lt;/a&gt; and experience premium features, dedicated support, and comprehensive report, highlighting time and cost savings for your enterprise – all for free.&lt;/p&gt;

</description>
      <category>ansibleplaybooks</category>
      <category>successstory</category>
      <category>automation</category>
    </item>
    <item>
      <title>[Webinar] Optimizing Ansible Playbooks with Spotter: Deutsche Telekom MMS’s Blueprint for Effective Automation</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Thu, 16 May 2024 10:48:00 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/webinar-optimizing-ansible-playbooks-with-spotter-deutsche-telekom-mmss-blueprint-for-effective-automation-2h9g</link>
      <guid>https://forem.com/xlab_steampunk/webinar-optimizing-ansible-playbooks-with-spotter-deutsche-telekom-mmss-blueprint-for-effective-automation-2h9g</guid>
      <description>&lt;p&gt;Join us for a FREE webinar to learn how Deutsche Telekom MMS handles the complexities of managing diverse Ansible environments and take a look how they strategically integrated Steampunk Spotter to streamline Ansible workflows and establish a compliance framework. &lt;/p&gt;

&lt;p&gt;You’ll learn: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How Deutsche Telekom leverages Spotter for more streamlined and secure Ansible operations. &lt;/li&gt;
&lt;li&gt;How Steampunk Spotter simplifies version control, compliance, and security audits. &lt;/li&gt;
&lt;li&gt;About Deutsche Telekom MMS’s approach to Ansible Playbook compliance. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Find out more &amp;amp; save your spot &lt;a href="https://steampunk.si/webinars-training/optimizing-ansible-playbooks-deutsche-telekom/"&gt;here.&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://steampunk.si/webinars-training/optimizing-ansible-playbooks-deutsche-telekom/"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiw4fvjfu4qnbn3lmole1.png" alt="Image description" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>steampunkspotter</category>
      <category>ansibleplaybooks</category>
      <category>automation</category>
      <category>webinar</category>
    </item>
    <item>
      <title>Avoid Ansible Playbooks Decay: Importance of Daily Playbook Testing</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Thu, 14 Mar 2024 15:35:00 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/avoid-ansible-playbooks-decay-importance-of-daily-playbook-testing-43b6</link>
      <guid>https://forem.com/xlab_steampunk/avoid-ansible-playbooks-decay-importance-of-daily-playbook-testing-43b6</guid>
      <description>&lt;p&gt;Sounds familiar? You’ve invested hours into writing a perfect Ansible Playbook only to see it fail a few months later. No matter how high-quality, super secure and reliable your playbooks are, the real challenge begins there. To maintain their functionality, consistent scanning is crucial. That may not seem like a big deal, but what if you’re dealing with thousands of playbooks? Sounds frustrating, we know. And yes, we’re here to tell you it doesn’t have to be that way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding Playbook Decay
&lt;/h2&gt;

&lt;p&gt;Ansible Playbooks are the lifeblood of automation workflows. While they automate your infrastructure, they’re not self-sustaining. Just like living things, they need constant care – that means continuous testing to ensure they remain effective, reliable and secure.&lt;/p&gt;

&lt;p&gt;Infrastructure evolves, and so do best practices. A playbook created a year ago might not adhere to the latest security guidelines or performance optimizations. New software versions, updates, or changes in dependencies can render playbooks ineffective or, worse, cause failures in critical tasks. Your organization introduces new policies that affect your playbooks. Crucial security patches or bug fixes in modules might go unnoticed, leaving your systems vulnerable. Manual changes outside the automation workflow can create inconsistencies and conflicts with playbooks. Team member turnover can lead to lost knowledge and poorly documented playbooks, hindering maintenance and updates.&lt;/p&gt;

&lt;p&gt;The list goes on, your playbooks are constantly at risk. This phenomenon, known as playbook decay, can lead to a number of challenges, from minor glitches to catastrophic failures.&lt;/p&gt;

&lt;p&gt;So, how do we keep our playbooks in tip-top shape and prevent them from succumbing to decay? The answer lies in automated monitoring.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don’t Let Your Playbooks Rust: Schedule Daily Scans
&lt;/h2&gt;

&lt;p&gt;Call it daily scanning or nightly build, regular testing is key to long-lasting, effective automation. Set a time and schedule it.&lt;/p&gt;

&lt;p&gt;Here’s why it matters:&lt;/p&gt;

&lt;p&gt;Daily scanning ensures that your playbooks remain agile, adapting to changes in infrastructure, security protocols, and application landscapes promptly. Most importantly, automated testing saves you a lot of time by instantly identifying issues and fixing them as soon as they arise, instead of dealing with a whole bunch of issues at once and prevents them from accumulating and causing major disruptions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Instantly identify issues:&lt;/strong&gt; By continuously monitoring playbooks, you can catch anomalies or errors early on, which enables you to fix them before they impact your systems.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Troubleshooting and debugging:&lt;/strong&gt; Playbook failures can occur due to various reasons, including changes in the underlying infrastructure or dependencies. Monitoring facilitates early detection of issues, making troubleshooting and debugging more efficient.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ensure compliance:&lt;/strong&gt; Regular monitoring ensures playbooks are adhering to established compliance standards, industry regulations, and your security policies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhance security:&lt;/strong&gt; Identify and address potential security risks before they can be exploited, safeguarding the integrity of the automaton process.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimize performance:&lt;/strong&gt; Overtime, changes in infrastructure and configurations can impact the performance of Ansible Playbooks. Regular monitoring allows you to identify and address performance bottlenecks, ensuring the efficiency of automated tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assure reliability:&lt;/strong&gt; Saily scanning validates the reliability of playbook’s and ensures they deliver consistent outcomes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentation accuracy:&lt;/strong&gt; Playbooks often double as documentation for system configurations. As they decay, the documentation becomes unreliable, making it challenging for teams to understand and troubleshoot issues. Regular scanning ensures that the documentation is accurate, aiding in troubleshooting and knowledge transfer within the team.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For service providers, regular daily monitoring is essential for providing reliable and secure services to clients.&lt;/p&gt;

&lt;h2&gt;
  
  
  Automate Automation with Steampunk Spotter
&lt;/h2&gt;

&lt;p&gt;Continuous testing of all your playbooks can be time-consuming and stressful. Enter the hero: automated scanning. By incorporating tools like Steampunk Spotter into your workflow, you can proactively safeguard your playbooks against decay. &lt;a href="https://steampunk.si/spotter/"&gt;Steampunk Spotter, Ansible Playbook Platform,&lt;/a&gt; seamlessly executes daily scanning and provides a centralized platform for monitoring Ansible playbooks effectively.&lt;/p&gt;

&lt;p&gt;Incorporate Steampunk Spotter into Ansible Playbook Monitoring to:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Automate playbook scanning:&lt;/strong&gt; Spotter automates the process of scanning Ansible Playbooks, providing a comprehensive analysis of potential issues and ensuring a consistent and thorough examination of playbooks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Enforce security rules:&lt;/strong&gt; By leveraging Spotter’s &lt;a href="https://steampunk.si/blog/spotter-custom-policies/"&gt;Custom rules feature&lt;/a&gt;, you can consistently enforce your security rules and best practices across all your playbooks. Learn more about &lt;a href="https://steampunk.si/blog/ensuring-ansible-playbook-security/"&gt;ensuring security with Spotter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Get real-time feedback:&lt;/strong&gt; Spotter catches errors in playbooks as you write, so teams build high-quality, easily maintained playbooks from the start.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Integrate scanning in CI/CD pipelines:&lt;/strong&gt; Integrating Steampunk Spotter into CI/CD pipelines ensures that playbook scans are performed automatically as part of the deployment process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Get insights into automation:&lt;/strong&gt; Centralize playbook management with &lt;a href="https://steampunk.si/blog/keep-track-of-scan-history-and-collaborate-with-your-team/"&gt;Spotter App&lt;/a&gt;. Monitor and manage performance, security, and compliance in one place. Get clear insights, prioritize issues, and generate easy-to-share reports for collaborative and streamlined playbook maintenance. Learn more in &lt;a href="https://www.youtube.com/watch?v=NNjxuDEYX74&amp;amp;t=4s&amp;amp;ab_channel=XLABSteampunk"&gt;this video&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Follow best practices:&lt;/strong&gt; Spotter guides your teams towards writing playbooks that adhere to coding standards and security guidelines, improving overall quality and maintainability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Version control compatibility:&lt;/strong&gt; Spotter helps ensure your playbooks are compatible with different Ansible versions, simplifying upgrades and preventing future compatibility issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Continuous improvement:&lt;/strong&gt; Automated testing fosters a culture of continuous improvement, encouraging frequent reviews and updates to keep your playbooks in sync with your evolving environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to set up daily monitoring with Spotter?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Install Spotter:&lt;/strong&gt; First, &lt;a href="https://spotter.steampunk.si/register/pro-plan"&gt;sign up for an account&lt;/a&gt;, then Install Spotter CLI. It’s available as a &lt;a href="https://pypi.org/project/steampunk-spotter/"&gt;steampunk-spotter&lt;/a&gt; Python package, but you will need at least Python 3 to install it:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pip install steampunk-spotter&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We recommend installing the package into a clean Python virtual environment. After the CLI is installed, you can explore its commands and options by running &lt;code&gt;spotter --help&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Configure Spotter:&lt;/strong&gt; Create &lt;a href="https://www.youtube.com/watch?v=8bjzWXZC9_E&amp;amp;t=83s&amp;amp;ab_channel=XLABSteampunk"&gt;custom rules and policies&lt;/a&gt;, determine which checks you’d like to always &lt;a href="https://www.youtube.com/watch?si=xdwr4zLuChMVxXV2&amp;amp;v=wC6sQ2BTHgk&amp;amp;feature=youtu.be"&gt;enforce or skip&lt;/a&gt;, adjust scan settings, customize outputs … Spotter is highly customizable to match your specific needs. Learn more about all the ways you can customize Spotter in the &lt;a href="https://steampunk.si/spotter/getting-started/"&gt;Getting started guide&lt;/a&gt; or &lt;a href="https://spotter.steampunk.si/docs/"&gt;Spotter Docs.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Schedule Spotter executions:&lt;/strong&gt; Use CI/CD to trigger daily execution of Steampunk Spotter.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting Up Nightly Runs of Steampunk Spotter with Error Notifications
&lt;/h3&gt;

&lt;p&gt;Here’s how to set up a nightly run of Steampunk Spotter and receive notifications for scans with errors:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Choose your platform:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Leverage integration features offered by your CI/CD platform (e.g., GitLab, Jenkins, CircleCI) to automate the process within your workflow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Schedule the scan:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Follow your platform’s documentation for creating scheduled pipelines.&lt;/li&gt;
&lt;li&gt;Define a pipeline step to execute the spotter scan command with necessary arguments.&lt;/li&gt;
&lt;li&gt;Schedule the pipeline to run daily at midnight.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Set up error notifications:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most platforms offer built-in notification features based on pipeline status and build outputs. Configure notifications for pipeline failures or specific error keywords in the scan report.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Additional tips:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consider using &lt;a href="https://steampunk.si/spotter/getting-started/set-scan-profiles/"&gt;Scan profiles&lt;/a&gt; for more specific scans (e.g., security checks).&lt;/li&gt;
&lt;li&gt;Explore integrating Spotter with communication tools like Slack or Microsoft Teams for instant notifications.&lt;/li&gt;
&lt;li&gt;Refer to the &lt;a href="https://spotter.steampunk.si/docs/"&gt;Spotter documentation&lt;/a&gt; for advanced configuration options and troubleshooting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By following these steps, you can ensure nightly scans of your Ansible content with efficient error notification, helping you maintain playbook quality and catch issues proactively.&lt;/p&gt;

&lt;p&gt;Remember to adapt these instructions to your specific environment and preferences. If you encounter any difficulties, reach out to the Spotter community or &lt;a href="https://steampunk.si/contact/support@steampunk.si"&gt;support&lt;/a&gt; for further assistance.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Interested in Spotter, but don’t know how to start? Explore our &lt;a href="https://steampunk.si/spotter/getting-started/"&gt;Getting started guide.&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Regularly monitor Ansible Playbooks to maintain a secure, compliant, and efficient automation environment. Integrate Steampunk Spotter for automated, customizable, and real-time playbook scanning, ensuring reliability, compliance, and efficiency in your IT operations.&lt;/p&gt;

&lt;p&gt;By implementing a daily scanning routine, you not only mitigate the risks associated with playbook decay but also foster a culture of continuous improvement within your automation workflows. Remember, a well-maintained playbook is the key to a resilient and future-ready automation strategy. &lt;a href="https://spotter.steampunk.si/register/pro-plan"&gt;Ready, set, go!&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ansibleplaybooks</category>
      <category>ansible</category>
      <category>automation</category>
      <category>dailyscanning</category>
    </item>
    <item>
      <title>Complete Ansible Documentation</title>
      <dc:creator>XLAB Steampunk</dc:creator>
      <pubDate>Wed, 21 Feb 2024 16:52:00 +0000</pubDate>
      <link>https://forem.com/xlab_steampunk/complete-ansible-documentation-1ado</link>
      <guid>https://forem.com/xlab_steampunk/complete-ansible-documentation-1ado</guid>
      <description>&lt;p&gt;Ansible Documentation is great, but what if you’re looking for documentation on a specific version of Ansible? Or a plugin from a collection on Galaxy? We generated a &lt;a href="https://docs.steampunk.si/plugins/"&gt;Complete Ansible Documentation&lt;/a&gt; that &lt;strong&gt;includes all versions of all Ansible collections on Ansible Galaxy,&lt;/strong&gt; providing complete module documentation for any specific Ansible version you need. And &lt;strong&gt;all of the examples have been checked&lt;/strong&gt; by &lt;a href="https://steampunk.si/spotter/"&gt;Steampunk Spotter&lt;/a&gt;, an Ansible playbook scanning tool, so you instantly see if there are any potential problems with using them in your playbooks or not.&lt;/p&gt;

&lt;p&gt;We’re constantly improving this documentation, so we’d love to know what you think. Is it useful? Anything you'd change? Is something missing? Let us know how we can improve to make it even more useful to you.&lt;/p&gt;

&lt;p&gt;Cheers! &lt;/p&gt;

</description>
      <category>ansibledocs</category>
      <category>ansible</category>
    </item>
  </channel>
</rss>
