enix.mongodb

enix.mongodb

Un rol para implementar y configurar mongodb y extensiones en hosts unix usando Ansible.

Requisitos

Targets soportados:

  • Ubuntu 16.04 "Xenial"
  • Ubuntu 18.04 "Bionic"
  • Debian 8 "Jessie"
  • Debian 9 "Stretch"
  • Debian 10 "Buster"

Variables del Rol

Este rol viene precargado con casi todas las configuraciones por defecto disponibles. Puedes sobrescribir cada una en las variables de tus hosts/grupos, en tu inventario, o en tu juego (play). Consulta los valores por defecto anotados en defaults/main.yml para obtener ayuda sobre la configuración. Todas las variables proporcionadas comienzan con mongodb__.

  • mongodb__version - Versión del software MongoDB a instalar. Selecciona la rama estable para la instalación. por defecto 4.2. Versiones disponibles actualmente: 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4.
  • mongodb__apt_localkey - En caso de que el sistema esté detrás de un proxy, puede haber problemas para obtener la clave del repositorio desde el servidor de claves. Habilitar esto usará una copia local. La advertencia puede que ya no funcione si la clave cambia en el repositorio remoto. por defecto es false.
  • mongodb__packages - Paquetes de MongoDB a instalar. por defecto es mongodb-org que instala todo. Se pueden seleccionar los siguientes: mongodb-org, mongodb-org-server, mongodb-org-mongos, mongodb-org-shell, mongodb-org-tools. Consulta los detalles en https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/.
  • mongodb__conf_port - Puerto al que debe vincularse mongod, por defecto es 27017.
  • mongodb__conf_bindIp - IP a la que debe vincularse mongod, por defecto es 127.0.0.1.
  • mongodb__conf_extra - Opciones de configuración adicionales para establecer en mongod.conf. Esto debe ser un bloque de configuración en yaml que entienda el demonio.
mongodb__conf_extra: |
  net.ipv6: false
  systemLog:
    verbosity: 2
    logRotate: reopen

Dependencias

  • Ninguna

Uso

Usa Ansible galaxy requirements.yml

# mongodb de enix
- src: enix.mongodb

Y agrégalo a los roles de tu juego:

- hosts: all
  roles:
    - role: enix.mongodb
        mongodb__version: 4.2
        mongodb__packages: ["mongodb-org-server", "mongodb-org-tools"]

También puedes usar el rol como un playbook. Se te pedirá qué hosts provisionar, y puedes configurar aún más el juego usando --extra-vars.

$ ansible-playbook -i inventory --extra-vars='{...}' main.yml

Pendiente

  • Agregar soporte para clustering
  • Agregar soporte para sharding
  • Permitir gestión de usuarios y credenciales

Historial de Cambios

1.2.0

Agregar soporte para debian buster Agregar soporte para versiones más nuevas de mongodb (4.2, 4.4)

1.1.0

Agregar soporte para clave gnupg local

1.0.0

Versión inicial.

Licencia

GPLv2

Información del Autor

Laurent Corbes laurent.corbes@enix.fr - http://www.enix.io

Acerca del proyecto

Ansible role to deploy mongodb software

Instalar
ansible-galaxy install enix.mongodb
Licencia
Unknown
Descargas
9k
Propietario
Enix