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