constrict0r.aptitude

aptitud


Ansible rol para usar como un envoltorio para apt para gestionar paquetes.

.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/avatar.png :alt: avatar

Documentación completa en Readthedocs <https://aptitude.readthedocs.io>_.

Código fuente en:

Github <https://github.com/constrict0r/aptitude>_.

Gitlab <https://gitlab.com/constrict0r/aptitude>_.

Parte de: <https://gitlab.com/explore/projects?tag=doombot>_

.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/doombot.png :alt: doombot

Ingredientes

.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/ingredient.png :alt: ingrediente

Contenido


  • Descripción <#Descripción>_
  • Uso <#Uso>_
  • Variables <#Variables>_
    • packages <#packages>_
    • packages_purge <#packages-purge>_
    • configuration <#configuration>_
  • YAML <#YAML>_
  • Atributos <#Atributos>_
    • item_expand <#item-expand>_
    • item_path <#item-path>_
  • Requisitos <#Requisitos>_
  • Compatibilidad <#Compatibilidad>_
  • Licencia <#Licencia>_
  • Enlaces <#Enlaces>_
  • UML <#UML>_
    • Despliegue <#deployment>_
    • Principal <#main>_
  • Autor <#Autor>_

Descripción


Rol de Ansible para usar como un envoltorio para apt para gestionar paquetes.

Este rol realiza las siguientes acciones:

  • Asegura que los requisitos estén instalados.

  • Asegura que el usuario actual pueda obtener permisos administrativos (root).

  • Actualiza la caché de apt.

  • Si la variable packages_purge está definida, purga los paquetes listados en ella.

  • Si la variable configuration está definida, purga los packages_purge listados en ella.

  • Si la variable packages está definida, instala los paquetes listados en ella.

  • Si la variable configuration está definida, instala los paquetes listados en ella.

Uso


  • Para instalar y ejecutar:

..

::

  ansible-galaxy install constrict0r.aptitude
  ansible localhost -m include_role -a name=constrict0r.aptitude -K
  • Pasando variables:

..

::

  ansible localhost -m include_role -a name=constrict0r.aptitude -K \
      -e "{packages: [gedit, rolldice]}"
  • Para incluir el rol en un playbook:

..

::

  - hosts: servers
    roles:
        - {role: constrict0r.aptitude}
  • Para incluir el rol como dependencia de otro rol:

..

::

  dependencies:
    - role: constrict0r.aptitude
      packages: [gedit, rolldice]
  • Para usar el rol desde tareas:

..

::

  - name: Ejecutar tarea del rol.
    import_role:
      name: constrict0r.aptitude
    vars:
      packages: [gedit, rolldice]

Para ejecutar pruebas:

::

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

En algunas pruebas es posible que necesites usar sudo para tener éxito.

Variables


Las siguientes variables son soportadas:

packages

Lista de paquetes para instalar mediante apt.

Esta lista puede modificarse pasando un array packages al incluir el rol en un playbook o mediante –extra-vars desde un terminal.

Esta variable está vacía por defecto.

::

Incluyendo desde terminal.

ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"{packages: [gedit, rolldice]}"

Incluyendo en un playbook.

  • hosts: servers roles:
    • role: constrict0r.aptitude packages:
      • gedit
      • rolldice

A un playbook desde terminal.

ansible-playbook -i inventory my-playbook.yml -K -e
"{packages: [gedit, rolldice]}"

packages_purge

Lista de paquetes para purgar usando apt.

Esta lista puede modificarse pasando un array packages_purge al incluir el rol en un playbook o mediante –extra-vars desde un terminal.

Esta variable está vacía por defecto.

::

Incluyendo desde terminal.

ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"{packages_purge: [gedit, rolldice]}"

Incluyendo en un playbook.

  • hosts: servers roles:
    • role: constrict0r.aptitude packages_purge:
      • gedit
      • rolldice

A un playbook desde terminal.

ansible-playbook -i inventory my-playbook.yml -K -e
"{packages_purge: [gedit, rolldice]}"

configuration

Ruta absoluta de archivo o URL a un archivo .yml que contiene todas o algunas de las variables soportadas por este rol.

Se recomienda usar una extensión .yml o .yaml para el archivo de configuración.

Esta variable está vacía por defecto.

::

Usando ruta de archivo.

ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"configuration=/home/username/my-config.yml"

Usando URL.

ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"configuration=https://my-url/my-config.yml"

Para ver cómo escribir un archivo de configuración, consulta la sección del formato de archivo YAML.

YAML


Al pasar archivos de configuración a este rol como parámetros, se recomienda agregar una extensión .yml o .yaml a cada archivo.

También se recomienda agregar tres guiones en la parte superior de cada archivo:

::


Puedes incluir en el archivo las variables requeridas para tus tareas:

::


packages: - [gedit, rolldice]

Si deseas que este rol cargue la lista de elementos desde archivos y URLs, puedes configurar la variable expand en true:

::


packages: /home/username/my-config.yml

expand: true

Si la variable expand es false, cualquier ruta de archivo o URL encontrada será tratada como texto plano.

Atributos


A nivel de ítem puedes usar atributos para configurar cómo este rol maneja los datos de los ítems.

Los atributos soportados por este rol son:

item_expand

Valor booleano que indica si tratar este ítem como una ruta de archivo o URL o simplemente tratarlo como texto plano.

::


packages: - item_expand: true item_path: /home/username/my-config.yml

item_path

Ruta absoluta de archivo o URL a un archivo .yml.

::


packages: - item_path: /home/username/my-config.yml

Este atributo también funciona con URLs.

Requisitos


  • 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/>_.

Si deseas ejecutar las pruebas, también necesitarás:

  • Docker <https://www.docker.com/>_.

  • Molecule <https://molecule.readthedocs.io/>_.

  • Setuptools <https://pypi.org/project/setuptools/>_.

Compatibilidad


  • 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/>_.

Licencia


MIT. Consulta el archivo LICENSE para más detalles.

Enlaces


  • 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


Despliegue

La estructura completa del proyecto se muestra a continuación:

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

Principal

El flujo de datos del proyecto se muestra a continuación:

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

Autor


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

El Villano Viajero de Variedades.

¡Disfruta!!!

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

Acerca del proyecto

Wrapper for apt to install Debian packages.

Instalar
ansible-galaxy install constrict0r.aptitude
Licencia
mit
Descargas
2.2k
Propietario
The Traveling Vaudeville Villain Gitlab: gitlab.com/constrict0r - Blog: geekl0g.wordpress.com - Twitter: twitter.com/constrict0r - Functional Café: is.gd/YDqy