Galaxy
4:48 Ansible Galaxy
repositorio online gratuito donde se alojan roles a ser utilizados en playbooks
es posible compartir tus propios roles usando para autentificarte una cuenta de GitHub
existe una herramienta CLI (ansible-galaxy
) que permite:
- descargar roles desde Galaxy o VCS
- crear roles
- eliminar roles
- realizar tareas de mantenimiento en la web de Galaxy
4:49 CLI
sintaxis: ansible-galaxy [acción] [opciones] argumentos
acciones
- delete : elimina un rol de Galaxy
- import : importa un rol desde GitHub a Galaxy
- info : muestra información detallada de un rol
- init : inicializar estructura directorio
- install : descargar rol en /etc/ansible/roles (por defecto, configurable en ansible.cfg)
- list : lista los roles instalados
- login : autentificación en Galaxy
- remove : elimina un rol del servidor (no de Galaxy)
- search : búsqueda dentro del repositorio
- setup : crea una integración con Travis CI
opciones
- -f / –force : sobreescritura del rol
- -i / –ignore-errors
- -n / –no-deps : ignora las dependencias
- -p / –roles-path : directorio alternativo de roles
- -r / –roles-file : listado de roles a instalar
4:50 Compartir Rol
- crear repositorio en GitHub
- crear la estructura del rol
ansible-galaxy init <nombre_rol>
- editar
meta/main.yml
para especificar:- autor
- descripción
- plataformas: linux, distro, versión ansible
- licencia
- etiquetas
- dependencias
- …
- publicar en GitHub (add,commit,push)
- iniciar sesión en Galaxy:
ansible-galaxy login
- importar el rol:
ansible-galaxy import <github-user> <github-repository>
para eliminar de Galaxy : ansible-galaxy delete <github-user> <github-repository>
para eliminar del servidor : ansible-galaxy remove
4:51 Roles
fichero con el listado de roles a instalar
atributos
- src : origen del rol
- usuario nombre : desde Galaxy
- dirección SCM (http, https, git, git@)
- scm : específica del tipo SCM: git o hg
- version : la versión a instalar
- name : un nombre distinto al original
- requirements.yml
- src: bennojoy.nginx version: master name: nginx_master - src: https://github.com/bennejoy/redis # en este caso, el formato que se guardará será solo el nombre
para proceder, ansible-galaxy install -r requeriments.yml