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