thedumbtechguy.semaphore

Rol de Ansible: Semaphore

Un rol de ansible para instalar y configurar Ansible Semaphore

Este rol contiene un script de shell para preparar ansible y semaphore. Maneja la configuración y la instalación de todas las dependencias necesarias.

Requisitos

Este rol ha sido probado solo en Ubuntu 16.04 y Ubuntu 16.10.

Instalación Inicial

Si este es un nuevo servidor, querrás configurar primero el nombre del host (hostname server.domain.tld).

Copia y ejecuta el siguiente comando

sudo apt-get install -y wget &&
  mkdir /tmp/bootstrap &&
  cd /tmp/bootstrap &&
  wget https://raw.githubusercontent.com/thedumbtechguy/ansible-semaphore-bootstrap/master/bootstrap.sh &&
  sudo sh bootstrap.sh init

Luego puedes personalizar la configuración en vars.json y ejecutar sudo sh bootstrap.sh execute.

Variables

  • semaphore_version: versión a instalar.

    • Predeterminado: 2.3.0
    • Opciones:
      • 2.2.0
      • 2.3.0
  • semaphore_port: puerto a escuchar.

    • Predeterminado: 3000
  • semaphore_db_name: el nombre de la base de datos que se creará para semaphore.

    • Predeterminado: semaphore
  • semaphore_db_auth_user: el nombre del usuario de la base de datos de la aplicación.

    • Predeterminado: semaphore
  • semaphore_db_auth_password: la contraseña del usuario de la base de datos de la aplicación.

    • Requerido
  • semaphore_db_auth_privileges: los privilegios a otorgar al usuario de la base de datos de la aplicación.

    • Predeterminado: *.*:ALL
  • semaphore_config_auth_name: el nombre del usuario de la aplicación semaphore por defecto.

    • Predeterminado: Admin
  • semaphore_config_auth_email: el correo electrónico del usuario de la aplicación semaphore por defecto.

    • Predeterminado: root
  • semaphore_config_auth_username: el usuario del usuario de la aplicación semaphore por defecto.

    • Predeterminado: admin
  • semaphore_config_auth_password: la contraseña del usuario de la aplicación semaphore por defecto.

    • Requerido
  • semaphore_config_data_dir: donde almacenar la configuración de semaphore y los archivos de playbook.

    • Predeterminado: /var/lib/semaphore
  • semaphore_config_log_path: donde almacenar los archivos de registro.

    • Predeterminado: /var/log/semaphore
  • semaphore_config_email_alerts_enable: habilitar alertas por correo electrónico.

    • Predeterminado: no
  • semaphore_config_email_alerts_server: servidor smtp.

    • Predeterminado: localhost
  • semaphore_config_email_alerts_port: puerto smtp.

    • Predeterminado: 25
  • semaphore_config_email_alerts_sender: dirección de correo del remitente de las alertas.

    • Predeterminado: semaphore@localhost
  • semaphore_config_web_root: la raíz web que usarías para acceder a la aplicación. se utiliza para generar URLs en las alertas.

    • Predeterminado: http://{{ ansible_fqdn }}:{{ semaphore_port }}/
  • semaphore_config_telegram_alerts_enable: habilitar alertas de telegram.

    • Predeterminado: no
  • semaphore_config_telegram_alerts_bot_token: obtener de @BotFather.

    • Predeterminado: ''
  • semaphore_config_telegram_alerts_chat_id: tu id de chat de telegram.

    • Predeterminado: ''
  • semaphore_config_ldap_enable: habilitar autenticación ldap.

    • Predeterminado: no
  • semaphore_config_ldap_server: servidor ldap.

    • Predeterminado: localhost
  • semaphore_config_ldap_port: puerto ldap.

    • Predeterminado: 389
  • semaphore_config_ldap_use_tls: usar tls al conectarse al servidor ldap.

    • Predeterminado: no
  • semaphore_config_ldap_bind_dn: bind dn.

    • Predeterminado: cn=user,ou=users,dc=example.tld
  • semaphore_config_ldap_bind_password: .

    • Predeterminado: pa55w0rd
  • semaphore_config_ldap_search_dn: search dn.

    • Predeterminado: ou=users,dc=example.tld
  • semaphore_config_ldap_search_filter: filtro de búsqueda.

    • Predeterminado: (uid=%s)
  • semaphore_config_ldap_mapping_dn_field: mapeo al campo dn.

    • Predeterminado: dn
  • semaphore_config_ldap_mapping_username_field: mapeo al campo de nombre de usuario.

    • Predeterminado: uid
  • semaphore_config_ldap_mapping_fullname_field: mapeo al campo de nombre completo.

    • Predeterminado: cn
  • semaphore_config_ldap_mapping_email_field: mapeo al campo de correo electrónico.

    • Predeterminado: mail
  • semaphore_service_user_name: cuenta que ejecutará el servicio de la aplicación. no ejecutar como root.

    • Predeterminado: semaphore

      NOTA: si el usuario no existe, se creará una cuenta de servicio.

  • semaphore_service_user_password: contraseña de la cuenta que ejecutará el servicio.

    • Requerido

      NOTA: no proporcionar esto permitirá otorgar sudo sin contraseña a la cuenta.

      se necesita una contraseña para ejecutar playbooks locales desde semaphore a través de become_password.

      La contraseña debe ser un valor encriptado compatible con el módulo de usuario de ansible.

      Puedes crear una usando: python -c 'import crypt; print crypt.crypt("Esta es la contraseña", "$1$ThisIsSomeSalt$")'

Inicialización

Estas variables son relevantes solo para el proceso de inicialización y se pueden modificar en el archivo vars.json generado.

  • semaphore_db_admin_home: directorio para almacenar .my.cnf para mariadb.

    • Predeterminado: /root
  • semaphore_db_admin_user: nombre de usuario del administrador de la base de datos.

    • Predeterminado: admin
  • semaphore_db_admin_password: contraseña del administrador de la base de datos.

    • Requerido
  • semaphore_ansible_cfg_vault_password: contraseña del vault.

    • Predeterminado: ''
  • semaphore_ansible_cfg_vault_password_file: ubicación del archivo de contraseña del vault.

    • Predeterminado: /var/lib/semaphore/.vpf
  • semaphore_ansible_cfg_host_key_checking: habilitar la verificación de claves del host.

    • Predeterminado: False
    • Opciones:
      • True
      • False
  • semaphore_ansible_cfg_ansible_managed: cadena administrada por ansible para archivos gestionados. utilizada por algunos roles.

    • Predeterminado: NO MODIFICAR a mano. Este archivo está bajo control de Ansible en {host}.

Ejemplo de Uso

- hosts: all
  vars:
    semaphore_config_auth_email: '[email protected]'
    semaphore_config_auth_password: '4dm1nPa55w0rd'
    semaphore_service_user_password: '$1$ThisIsSo$RwIOJHdSWIzAJjbvBdbOZ0'
    semaphore_ansible_cfg_vault_password: 'pa55w0rd'
  roles:
    - thedumbtechguy.semaphore

Licencia

MIT / BSD

Información del Autor

Este rol fue creado por TheDumbTechGuy ( twitter | blog | galaxy )

Créditos

Acerca del proyecto

Ansible-Semaphore for Linux.

Instalar
ansible-galaxy install thedumbtechguy.semaphore
Licencia
Unknown
Descargas
114
Propietario