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
- wget: Necesario para descargar
bootstrap.sh. - thedumbtechguy.configure-ansible: Necesario para configurar ansible. Se instalará si no está disponible.
- thedumbtechguy.logrotate: Necesario para configurar logrotate. Se instalará si no está disponible.
- thedumbtechguy.mariadb: Necesario para configurar mariadb. Se instalará si no está disponible.
Este rol ha sido probado solo en
Ubuntu 16.04yUbuntu 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.02.3.0
- Predeterminado:
semaphore_port: puerto a escuchar.- Predeterminado:
3000
- Predeterminado:
semaphore_db_name: el nombre de la base de datos que se creará para semaphore.- Predeterminado:
semaphore
- Predeterminado:
semaphore_db_auth_user: el nombre del usuario de la base de datos de la aplicación.- Predeterminado:
semaphore
- Predeterminado:
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
- Predeterminado:
semaphore_config_auth_name: el nombre del usuario de la aplicación semaphore por defecto.- Predeterminado:
Admin
- Predeterminado:
semaphore_config_auth_email: el correo electrónico del usuario de la aplicación semaphore por defecto.- Predeterminado:
root
- Predeterminado:
semaphore_config_auth_username: el usuario del usuario de la aplicación semaphore por defecto.- Predeterminado:
admin
- Predeterminado:
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
- Predeterminado:
semaphore_config_log_path: donde almacenar los archivos de registro.- Predeterminado:
/var/log/semaphore
- Predeterminado:
semaphore_config_email_alerts_enable: habilitar alertas por correo electrónico.- Predeterminado:
no
- Predeterminado:
semaphore_config_email_alerts_server: servidor smtp.- Predeterminado:
localhost
- Predeterminado:
semaphore_config_email_alerts_port: puerto smtp.- Predeterminado:
25
- Predeterminado:
semaphore_config_email_alerts_sender: dirección de correo del remitente de las alertas.- Predeterminado:
semaphore@localhost
- Predeterminado:
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 }}/
- Predeterminado:
semaphore_config_telegram_alerts_enable: habilitar alertas de telegram.- Predeterminado:
no
- Predeterminado:
semaphore_config_telegram_alerts_bot_token: obtener de @BotFather.- Predeterminado:
''
- Predeterminado:
semaphore_config_telegram_alerts_chat_id: tu id de chat de telegram.- Predeterminado:
''
- Predeterminado:
semaphore_config_ldap_enable: habilitar autenticación ldap.- Predeterminado:
no
- Predeterminado:
semaphore_config_ldap_server: servidor ldap.- Predeterminado:
localhost
- Predeterminado:
semaphore_config_ldap_port: puerto ldap.- Predeterminado:
389
- Predeterminado:
semaphore_config_ldap_use_tls: usar tls al conectarse al servidor ldap.- Predeterminado:
no
- Predeterminado:
semaphore_config_ldap_bind_dn: bind dn.- Predeterminado:
cn=user,ou=users,dc=example.tld
- Predeterminado:
semaphore_config_ldap_bind_password: .- Predeterminado:
pa55w0rd
- Predeterminado:
semaphore_config_ldap_search_dn: search dn.- Predeterminado:
ou=users,dc=example.tld
- Predeterminado:
semaphore_config_ldap_search_filter: filtro de búsqueda.- Predeterminado:
(uid=%s)
- Predeterminado:
semaphore_config_ldap_mapping_dn_field: mapeo al campo dn.- Predeterminado:
dn
- Predeterminado:
semaphore_config_ldap_mapping_username_field: mapeo al campo de nombre de usuario.- Predeterminado:
uid
- Predeterminado:
semaphore_config_ldap_mapping_fullname_field: mapeo al campo de nombre completo.- Predeterminado:
cn
- Predeterminado:
semaphore_config_ldap_mapping_email_field: mapeo al campo de correo electrónico.- Predeterminado:
mail
- Predeterminado:
semaphore_service_user_name: cuenta que ejecutará el servicio de la aplicación. no ejecutar como root.- Predeterminado:
semaphoreNOTA: si el usuario no existe, se creará una cuenta de servicio.
- Predeterminado:
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$")'
- Requerido
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
- Predeterminado:
semaphore_db_admin_user: nombre de usuario del administrador de la base de datos.- Predeterminado:
admin
- Predeterminado:
semaphore_db_admin_password: contraseña del administrador de la base de datos.- Requerido
semaphore_ansible_cfg_vault_password: contraseña del vault.- Predeterminado:
''
- Predeterminado:
semaphore_ansible_cfg_vault_password_file: ubicación del archivo de contraseña del vault.- Predeterminado:
/var/lib/semaphore/.vpf
- Predeterminado:
semaphore_ansible_cfg_host_key_checking: habilitar la verificación de claves del host.- Predeterminado:
False - Opciones:
TrueFalse
- Predeterminado:
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}.
- Predeterminado:
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
ansible-galaxy install thedumbtechguy.semaphore