Methodologygeneric

ansible-automation

Methodology skill.md.

aj-geddes/useful-ai-prompts
View source

Install

npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill ansible-automation

Use with your agent

ClaudeCursorOpenAIGemini

Install the ansible-automation skill, then use it as build context. Run: npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill ansible-automation. Then read the installed skill.md and follow its guidance to build or refactor my project.

Ansible Automation

Table of Contents

Overview

Automate infrastructure provisioning, configuration management, and application deployment across multiple servers using Ansible playbooks, roles, and dynamic inventory management.

When to Use

  • Configuration management
  • Application deployment
  • Infrastructure patching and updates
  • Multi-server orchestration
  • Cloud instance provisioning
  • Container management
  • Database administration
  • Security compliance automation

Quick Start

Minimal working example:

# site.yml - Main playbook
---
- name: Deploy application stack
  hosts: all
  gather_facts: yes
  serial: 1  # Rolling deployment

  pre_tasks:
    - name: Display host information
      debug:
        var: inventory_hostname
      tags: [always]

  roles:
    - common
    - docker
    - application

  post_tasks:
    - name: Verify deployment
      uri:
        url: "http://{{ inventory_hostname }}:8080/health"
        status_code: 200
      retries: 3
      delay: 10
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Playbook Structure and Best PracticesPlaybook Structure and Best Practices
Inventory and VariablesInventory and Variables
Ansible Deployment ScriptAnsible Deployment Script
Configuration TemplateConfiguration Template

Best Practices

✅ DO

  • Use roles for modularity
  • Implement proper error handling
  • Use templates for configuration
  • Leverage handlers for idempotency
  • Use serial deployment for rolling updates
  • Implement health checks
  • Store inventory in version control
  • Use vault for sensitive data

❌ DON'T

  • Use command/shell without conditionals
  • Copy files without templates
  • Run without check mode first
  • Mix environments in inventory
  • Hardcode values
  • Ignore error handling
  • Use shell for simple tasks