ansible_role_openscap

ansible-role-openscap

Эта роль обеспечит правильную установку и настройку среды разработки для участия в проектах ComplianceAsCode. Вы можете пока пропустить длинное чтение документации и начать кодить раньше. ;)

Все переменные, которые вы можете изменить, определены в "defaults/main.yml". Вы можете изменить их непосредственно там или, что более элегантно и рекомендуемо, переопределить в своем плейбуке.

Эта роль будет:

  • Опционально настраивать дополнительные репозитории.
  • Устанавливать все необходимые пакеты:
    • Пакеты, необходимые для разработки, тестирования и дополнительных инструментов.
  • Устанавливать модули Python:
    • Устанавливать дополнительные модули Python, необходимые для CMakeTests или JSON, например.
  • Настраивать базовую среду:
    • Создавать основную папку (~/CaC)
    • Обновлять переменную PATH, если это необходимо.
    • Создавать подпапку Forks, если включен какой-либо форкнутый репозиторий.
  • Настраивать git:
    • Убедиться, что имя и email, которые будут отображаться при коммитах в репозиториях ComplianceAsCode.
  • Настраивать лаборатории:
    • Копировать Vagrantfiles в ~/CaC/Labs/VMs
    • Копировать файлы инструкций для лабораторий и тестов, связанных с ВМ в Labs/VMs.
    • TODO: Копировать файлы инструкций для лабораторий и тестов, связанных с контейнерами в Labs/Containers.
  • Наполнять среду:
    • Клонировать репозитории "fork", если таковые присутствуют и включены.
    • Клонировать и "lab" репозитории, если таковые присутствуют и включены.
    • Копировать общие файлы инструкций в ~/CaC

TODO

  • Открыт для конструктивных идей.

Чтобы установить эту роль

ansible-galaxy role install marcusburghardt.openscap

Требования

  • python3

Переменные роли

Вы можете настроить свою среду очень простым и централизованным способом, изменив некоторые переменные в:

  • defaults/main.yml

Тем не менее, я настоятельно рекомендую переопределять эти переменные в вашем плейбуке. Это намного элегантнее и дает вам больше гибкости. ;)

Для этого изучите "defaults/main.yml", который очень хорошо документирован, чтобы прояснить назначение и эффект любой переменной. Затем просто скопируйте то, что вы хотите изменить, в вашем плейбуке и настройте по желанию. Обратите внимание на раздел Пример плейбука.

В некоторых редких случаях вам может понадобиться изменить некоторые настройки, чтобы отразить вашу локальную среду в:

  • vars/*.yml Если это было необходимо вам по какой-либо причине, рассмотрите возможность предложения PR для улучшения роли.

Зависимости

Нет

Пример плейбука

Этот плейбук подготовит все с основными переменными. Вы можете найти образец в files/Ansible_Samples, названный ansible_cac.yml.

Для этого примера давайте назовем этот файл плейбука ansible_cac.yml, с следующим содержимым:

- hosts: linux
  vars:
    - available_tasks:
      - { enabled: true, name: 'install_packages' }
      - { enabled: true, name: 'install_python_modules' }
      - { enabled: true, name: 'configure_env' }
      - { enabled: true, name: 'configure_labs' }
      - { enabled: true, name: 'populate_env' }

  roles:
    - marcusburghardt.openscap

Обратите внимание, что эта ansible роль была создана группой специфических задач (available_tasks). Вы можете отключать и включать комбинацию задач в зависимости от ваших потребностей. Предполагая, что файл инвентаризации hosts_cac находится в той же папке с следующим содержимым:

[linux:children]
install_packages
install_python_modules
configure_env
populate_env
configure_labs

...строки опущены для удобства чтения...

OBS.: Вы также можете найти образец в files/Ansible_Samples, названный hosts_cac.

Теперь выполните эту команду, чтобы увидеть магию:

ansible-playbook -K ansible_cac.yml

Возможно, вам будет интересно установить некоторые конфигурации ansible для этой среды.
Например, определить локальную папку для загрузки ролей.
Вы можете найти пример файла ansible.cfg в папке files/Ansible_Samples, названный ansible.cfg.

Лицензия

Этот исходный код подчиняется условиям лицензии Mozilla Public
License, v. 2.0. Если копия MPL не была распространяема с этим
файлом, вы можете получить ее по адресу http://mozilla.org/MPL/2.0/.

Информация об авторе

Marcus Burghardt

О проекте

Role for quickly prepare a Development Environment for OpenSCAP projects.

Установить
ansible-galaxy install marcusburghardt/ansible-role-openscap
Лицензия
mpl-2.0
Загрузки
262
Владелец