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
- role: constrict0r.aptitude
packages:
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
- role: constrict0r.aptitude
packages_purge:
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
Wrapper for apt to install Debian packages.
ansible-galaxy install constrict0r.aptitude