sourcez

Содержимое


  • Описание <#Description>_
  • Использование <#Usage>_
  • Переменные <#Variables>_
    • репозитории <#repositories>_
    • конфигурация <#configuration>_
  • YAML <#YAML>_
  • Атрибуты <#Attributes>_
    • item_expand <#item-expand>_
    • item_path <#item-path>_
  • Требования <#Requirements>_
  • Совместимость <#Compatibility>_
  • Лицензия <#License>_
  • Ссылки <#Links>_
  • UML <#UML>_
    • Развертывание <#deployment>_
    • Основное <#main>_
  • Автор <#Author>_

Описание


Ansible роль для добавления репозиториев apt в источники apt.

Эта роль выполняет следующие действия:

  • Убедитесь, что все требования установлены.

  • Убедитесь, что текущий пользователь может получить административные (root) права.

  • Если переменная репозитории определена, добавьте в источники apt репозитории, указанные в ней.

  • Если переменная конфигурация определена, добавьте в источники apt репозитории, указанные в ней.

Использование


  • Чтобы установить и выполнить:

..

::

  ansible-galaxy install constrict0r.sourcez
  ansible localhost -m include_role -a name=constrict0r.sourcez -K
  • Передача переменных:

..

::

  ansible localhost -m include_role -a name=constrict0r.sourcez -K \
      -e "{репозитории: [{имя: мультимедиа, репо: 'deb http://www.debian-multimedia.org sid main'}]}"
  • Чтобы включить роль в плейбук:

..

::

  - hosts: servers
    roles:
        - {role: constrict0r.sourcez}
  • Чтобы включить роль в качестве зависимости в другой роли:

..

::

  dependencies:
    - role: constrict0r.sourcez
      репозитории: [{имя: мультимедиа, репо: 'deb http://www.debian-multimedia.org sid main'}]
  • Чтобы использовать роль из задач:

..

::

  - name: Выполнение задачи роли.
    import_role:
      name: constrict0r.sourcez
    vars:
      репозитории: [{имя: мультимедиа, репо: 'deb http://www.debian-multimedia.org sid main'}]

Чтобы запустить тесты:

::

cd sourcez chmod +x testme.sh ./testme.sh

Для некоторых тестов может потребоваться использовать sudo, чтобы успешно завершить.

Переменные


Поддерживаются следующие переменные:

репозитории

Список репозиториев для добавления в источники apt.

Этот список можно изменить, передав массив репозитории при включении роли в плейбук или через –extra-vars из терминала.

По умолчанию эта переменная пуста.

::

Включение из терминала.

ansible localhost -m include_role -a name=constrict0r.sourcez -K -e
"{репозитории: [{
имя: мультимедиа,
репо: 'deb http://www.debian-multimedia.org sid main'
}]}}"

Включение в плейбук.

  • hosts: servers roles:

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

ansible-playbook -i inventory my-playbook.yml -K -e
"{репозитории: [{
имя: мультимедиа,
репо: 'deb http://www.debian-multimedia.org sid main'
}]}}"

конфигурация

Абсолютный путь к файлу или URL на .yml файлы, которые содержат все или некоторые из переменных, поддерживаемых этой ролью.

Рекомендуется использовать расширение .yml или .yaml для файла конфигурации.

По умолчанию эта переменная пуста.

::

Использование пути к файлу.

ansible localhost -m include_role -a name=constrict0r.sourcez -K -e
"конфигурация=/home/username/my-config.yml"

Использование URL.

ansible localhost -m include_role -a name=constrict0r.sourcez -K -e
"конфигурация=https://my-url/my-config.yml"

Чтобы узнать, как написать файл конфигурации, смотрите раздел о формате файлов YAML.

YAML


При передаче конфигурационных файлов этой роли в качестве параметров рекомендуется добавлять расширение .yml или .yaml к каждому файлу.

Также рекомендуется добавить три тире в верхней части каждого файла:

::


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

::


репозитории: - [{имя: мультимедиа, репо: 'deb http://www.debian-multimedia.org sid main'}]

Если вы хотите, чтобы эта роль загружала список элементов из файлов и URL, вы можете установить переменную расширить в true:

::


репозитории: /home/username/my-config.yml

расширить: true

Если переменная расширить равна false, любой путь к файлу или URL будет обрабатываться как простой текст.

Атрибуты


На уровне элемента можно использовать атрибуты, чтобы настроить, как эта роль обрабатывает данные об элементах.

Атрибуты, поддерживаемые этой ролью:

item_expand

Логическое значение, указывающее, следует ли рассматривать этот элемент как путь к файлу или URL, или просто как простой текст.

::


репозитории: - item_expand: true item_path: /home/username/my-config.yml

item_path

Абсолютный путь к файлу или URL на .yml файл.

::


репозитории: - 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/sourcez>_.

  • Gitlab <https://gitlab.com/constrict0r/sourcez>_.

  • Gitlab CI <https://gitlab.com/constrict0r/sourcez/pipelines>_.

  • Readthedocs <https://sourcez.readthedocs.io>_.

  • Travis CI <https://travis-ci.com/constrict0r/sourcez>_.

UML


Развертывание

Полная структура проекта показана ниже:

.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/deploy.png :alt: deploy

Основное

Поток данных проекта показан ниже:

.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/main.png :alt: main

Автор


.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/author.png :alt: author

Путешествующий злодей ваudeville.

Наслаждайтесь!!!

.. image:: https://gitlab.com/constrict0r/img/raw/master/sourcez/enjoy.png :alt: enjoy

О проекте

Add apt repositories to Debian sources.

Установить
ansible-galaxy install constrict0r/sourcez
Лицензия
mit
Загрузки
2018
Владелец
The Traveling Vaudeville Villain Gitlab: gitlab.com/constrict0r - Blog: geekl0g.wordpress.com - Twitter: twitter.com/constrict0r - Functional Café: is.gd/YDqy