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

Для плейбука из терминала.

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

Для плейбука из терминала.

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
Лицензия
mit
Загрузки
2143
Владелец
The Traveling Vaudeville Villain Gitlab: gitlab.com/constrict0r - Blog: geekl0g.wordpress.com - Twitter: twitter.com/constrict0r - Functional Café: is.gd/YDqy