constrict0r.aptitude
aptitude
Роль Ansible, используемая как оболочка для apt <https://wiki.debian.org/Apt>_, для управления пакетами.
Полная документация на Readthedocs <https://aptitude.readthedocs.io>_.
Исходный код на:
Github <https://github.com/constrict0r/aptitude>_.
Gitlab <https://gitlab.com/constrict0r/aptitude>_.
Часть: <https://gitlab.com/explore/projects?tag=doombot>_
Ингредиенты
Содержимое
Описание <#Description>_Использование <#Usage>_Переменные <#Variables>_пакеты <#packages>_пакеты_удаление <#packages-purge>_конфигурация <#configuration>_
YAML <#YAML>_Атрибуты <#Attributes>_item_expand <#item-expand>_item_path <#item-path>_
Требования <#Requirements>_Совместимость <#Compatibility>_Лицензия <#License>_Ссылки <#Links>_UML <#UML>_Развертывание <#deployment>_Основное <#main>_
Автор <#Author>_
Описание
Роль Ansible, используемая как оболочка для apt для управления пакетами.
Эта роль выполняет следующие действия:
Проверяет, установлены ли все необходимые компоненты.
Убедитесь, что текущий пользователь может получить административные права.
Обновляет кэш apt.
Если задана переменная пакеты_удаление, удаляет указанные в ней пакеты.
Если задана переменная конфигурация, удаляет пакеты из пакеты_удаление.
Если задана переменная пакеты, устанавливает указанные в ней пакеты.
Если задана переменная конфигурация, устанавливает пакеты, указанные в ней.
Использование
Для установки и выполнения:
::
ansible-galaxy install constrict0r.aptitude ansible localhost -m include_role -a name=constrict0r.aptitude -KПередача переменных:
::
ansible localhost -m include_role -a name=constrict0r.aptitude -K \ -e "{packages: [gedit, rolldice]}"Чтобы включить роль в плейбук:
::
- hosts: servers roles: - {role: constrict0r.aptitude}Чтобы включить роль как зависимость в другую роль:
::
dependencies: - role: constrict0r.aptitude packages: [gedit, rolldice]Чтобы использовать роль из задач:
::
- name: Выполнить задачу роли. import_role: name: constrict0r.aptitude vars: packages: [gedit, rolldice]
Чтобы выполнить тесты:
::
cd aptitude chmod +x testme.sh ./testme.sh
В некоторых тестах может потребоваться использовать sudo для успешного выполнения.
Переменные
Поддерживаемые переменные:
пакеты
Список пакетов для установки через apt.
Этот список можно изменить, передав массив пакеты при включении роли в плейбук или через –extra-vars из терминала.
Эта переменная по умолчанию пуста.
::
Включение из терминала.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"{packages: [gedit, rolldice]}"
Включение в плейбук.
- hosts: servers
roles:
- role: constrict0r.aptitude
packages:
- gedit
- rolldice
- role: constrict0r.aptitude
packages:
Для плейбука из терминала.
ansible-playbook -i inventory my-playbook.yml -K -e
"{packages: [gedit, rolldice]}"
пакеты_удаление
Список пакетов для удаления с помощью apt.
Этот список можно изменить, передав массив пакеты_удаление при включении роли в плейбук или через –extra-vars из терминала.
Эта переменная по умолчанию пуста.
::
Включение из терминала.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"{packages_purge: [gedit, rolldice]}"
Включение в плейбук.
- hosts: servers
roles:
- role: constrict0r.aptitude
packages_purge:
- gedit
- rolldice
- role: constrict0r.aptitude
packages_purge:
Для плейбука из терминала.
ansible-playbook -i inventory my-playbook.yml -K -e
"{packages_purge: [gedit, rolldice]}"
конфигурация
Абсолютный путь к файлу или URL к .yml файлу, который содержит все или некоторые из переменных, поддерживаемых этой ролью.
Рекомендуется использовать расширение .yml или .yaml для файла конфигурация.
Эта переменная по умолчанию пуста.
::
Использование пути к файлу.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"configuration=/home/username/my-config.yml"
Использование URL.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"configuration=https://my-url/my-config.yml"
Чтобы узнать, как написать файл конфигурации, смотрите раздел YAML.
YAML
При передаче файлов конфигурации в эту роль в качестве параметров рекомендуется добавлять расширение .yml или .yaml к каждому файлу.
Также рекомендуется добавлять три дефиса в верхней части каждого файла:
::
Вы можете включить в файл необходимые переменные для ваших задач:
::
packages: - [gedit, rolldice]
Если вы хотите, чтобы эта роль загружала список элементов из файлов и URL, установите переменную expand в true:
::
packages: /home/username/my-config.yml
expand: true
Если переменная expand равна false, любой найденный путь к файлу или URL будет считаться обычным текстом.
Атрибуты
На уровне элемента вы можете использовать атрибуты для настройки обработки данной ролью данных элементов.
Поддерживаемые этой ролью атрибуты:
item_expand
Булевое значение, указывающее, следует ли обрабатывать этот элемент как путь к файлу или URL, или просто как обычный текст.
::
packages: - item_expand: true item_path: /home/username/my-config.yml
item_path
Абсолютный путь к файлу или URL к .yml файлу.
::
packages: - item_path: /home/username/my-config.yml
Этот атрибут также работает с URL.
Требования
Ansible <https://www.ansible.com>_ >= 2.8.Jinja2 <https://palletsprojects.com/p/jinja/>_.Pip <https://pypi.org/project/pip/>_.Python <https://www.python.org/>_.PyYAML <https://pyyaml.org/>_.Requests <https://2.python-requests.org/en/master/>_.
Если вы хотите запустить тесты, вам также потребуется:
Docker <https://www.docker.com/>_.Molecule <https://molecule.readthedocs.io/>_.Setuptools <https://pypi.org/project/setuptools/>_.
Совместимость
Debian Buster <https://wiki.debian.org/DebianBuster>_.Debian Raspbian <https://raspbian.org/>_.Debian Stretch <https://wiki.debian.org/DebianStretch>_.Ubuntu Xenial <http://releases.ubuntu.com/16.04/>_.
Лицензия
MIT. Смотрите файл LICENSE для получения дополнительных сведений.
Ссылки
Github <https://github.com/constrict0r/aptitude>_.Gitlab <https://gitlab.com/constrict0r/aptitude>_.Gitlab CI <https://gitlab.com/constrict0r/aptitude/pipelines>_.Readthedocs <https://aptitude.readthedocs.io>_.Travis CI <https://travis-ci.com/constrict0r/aptitude>_.
UML
Развертывание
Полная структура проекта показана ниже:
Основное
Поток данных проекта показан ниже:
Автор
Путешествующий злодей.
Наслаждайтесь!!!
Wrapper for apt to install Debian packages.
ansible-galaxy install constrict0r.aptitude