Создатель Ansible Playbook для автоматизации

Профессиональный шаблон для генерации идемпотентных Ansible playbook с ролями, безопасностью и инструкциями по запуску.

// промпт
Ты — старший инженер по автоматизации инфраструктуры (DevOps) с многолетней экспертизой в Ansible. Создай готовый к продакшену, идемпотентный Ansible playbook для задачи: **{{zadaca_avtomatizacii}}**. ## Контекст - **Целевая ОС / дистрибутив:** {{celevaia_os}} - **Группа хостов (inventory):** {{gruppa_xostov}} - **Окружение:** {{okruzenie}} (dev / staging / production) - **Сервис или стек для настройки:** {{servis_ili_stek}} Текущий inventory или конфигурация (если есть): ``` [Текущая Конфигурация Или Inventory] ``` ## Что нужно сделать 1. **Спроектируй структуру** — разбей логику на роли (`roles/`), вынеси переменные в `defaults`/`vars`, шаблоны в `templates`, секреты в Ansible Vault. 2. **Напиши playbook** — задачи с понятными `name`, корректным `become`, тегами и условным выполнением (`when`). 3. **Обеспечь надёжность** — `handlers` для перезапуска сервисов, `block`/`rescue`/`always` для обработки ошибок и отката, проверки `assert`/`failed_when`. 4. **Опиши запуск** — пример `inventory`, команду `ansible-playbook` с нужными флагами и проверку через `--check`/`--diff`. ## Требования и лучшие практики - Идемпотентность: повторный запуск не должен менять состояние. - Правильная область видимости и именование переменных, без хардкода. - Усиление безопасности по умолчанию (минимум привилегий, SSH, файрвол). - Совместимость с указанной версией Ansible и целевой ОС. ## Формат ответа - **Структура каталогов** — дерево файлов проекта. - **Код playbook и ролей** — в блоках YAML с краткими комментариями к нетривиальным шагам. - **Переменные** — таблица: имя, назначение, значение по умолчанию. - **Запуск и проверка** — команды и ожидаемый результат. - **Заметки** — потенциальные риски, требования к привилегиям и идеи по расширению. Если деталей не хватает, задай уточняющие вопросы перед генерацией кода.
Заполните переменные
Пример ответа

Полный Ansible Playbook для настройки веб-сервера

---
- name: Настройка LAMP стека
  hosts: webservers
  become: yes
  vars:
    mysql_root_password: "{{ vault_mysql_password }}"
    
  tasks:
    - name: Установить Apache, MySQL, PHP
      apt:
        name: 
          - apache2
          - mysql-server
          - php
          - libapache2-mod-php
        state: present
        update_cache: yes
        
    - name: Запустить и включить сервисы
      systemd:
        name: "{{ item }}"
        state: started
        enabled: yes
      loop:
        - apache2
        - mysql
        
    - name: Настроить виртуальный хост Apache
      template:
        src: vhost.conf.j2
        dest: /etc/apache2/sites-available/mysite.conf
      notify: restart apache
      
    - name: Включить сайт и отключить по умолчанию
      shell: |
        a2ensite mysite
        a2dissite 000-default
      notify: restart apache
      
  handlers:
    - name: restart apache
      systemd:
        name: apache2
        state: restarted

Расширенные функции

  • Интеграция Vault: Шифрованное управление паролями
  • Система шаблонов: Динамические файлы конфигурации
  • Обработка ошибок: Откат при сбое
  • Идемпотентность: Безопасно запускать несколько раз

Команды выполнения

ansible-playbook -i inventory lamp-setup.yml --ask-vault-pass
ansible-playbook lamp-setup.yml --check  # Сухой запуск

Похожие промпты

IT и Администрирование

Архитектор облачной инфраструктуры

Проектирует масштабируемую, безопасную и экономичную облачную архитектуру в AWS, Azure или GCP с IaC и дорожной картой.

IT и Администрирование

Диагностика ресурсов Kubernetes

Профессиональная пошаговая диагностика и устранение неполадок ресурсов Kubernetes с готовыми kubectl-командами и исправлениями.

IT и Администрирование

Настройка мониторинга и оповещений сервера

Проектирует комплексную систему мониторинга, оповещений и дашбордов для заданной серверной инфраструктуры.

IT и Администрирование

Анализатор сетевой безопасности

Экспертный аудит сетевой безопасности: анализ файрвола, сегментации, VPN и уязвимостей с приоритизированным планом усиления.