thedumbtechguy.semaphore

Rôle Ansible : Semaphore

Un rôle Ansible pour installer et configurer Ansible Semaphore

Ce rôle contient un script shell pour configurer Ansible et Semaphore. Il gère la mise en place et l'installation de toutes les dépendances requises.

Exigences

Ce rôle a été testé uniquement sur Ubuntu 16.04 et Ubuntu 16.10.

Installation de Bootstrap

Si c'est un nouveau serveur, vous voudrez d'abord définir le nom d'hôte (hostname server.domain.tld).

Copiez et exécutez la commande suivante :

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

Vous pouvez ensuite personnaliser la configuration dans vars.json et exécuter sudo sh bootstrap.sh execute.

Variables

  • semaphore_version : version à installer.

    • Par défaut : 2.3.0
    • Options :
      • 2.2.0
      • 2.3.0
  • semaphore_port : port à écouter.

    • Par défaut : 3000
  • semaphore_db_name : le nom de la base de données à créer pour Semaphore.

    • Par défaut : semaphore
  • semaphore_db_auth_user : le nom de l'utilisateur de la base de données de l'application.

    • Par défaut : semaphore
  • semaphore_db_auth_password : le mot de passe de l'utilisateur de la base de données de l'application.

    • Requis
  • semaphore_db_auth_privileges : les privilèges à accorder à l'utilisateur de la base de données de l'application.

    • Par défaut : *.*:ALL
  • semaphore_config_auth_name : le nom de l'utilisateur par défaut de l'application Semaphore.

    • Par défaut : Admin
  • semaphore_config_auth_email : l'email de l'utilisateur par défaut de l'application Semaphore.

    • Par défaut : root
  • semaphore_config_auth_username : l'utilisateur par défaut de l'application Semaphore.

    • Par défaut : admin
  • semaphore_config_auth_password : le mot de passe de l'utilisateur par défaut de l'application Semaphore.

    • Requis
  • semaphore_config_data_dir : où stocker les fichiers de configuration et de playbook de Semaphore.

    • Par défaut : /var/lib/semaphore
  • semaphore_config_log_path : où stocker les fichiers journaux.

    • Par défaut : /var/log/semaphore
  • semaphore_config_email_alerts_enable : activer les alertes par email.

    • Par défaut : non
  • semaphore_config_email_alerts_server : serveur smtp.

    • Par défaut : localhost
  • semaphore_config_email_alerts_port : port smtp.

    • Par défaut : 25
  • semaphore_config_email_alerts_sender : adresse de l'expéditeur de l'email.

    • Par défaut : semaphore@localhost
  • semaphore_config_web_root : la racine web que vous utiliseriez pour accéder à l'application. Utilisée pour générer des urls dans les alertes.

    • Par défaut : http://{{ ansible_fqdn }}:{{ semaphore_port }}/
  • semaphore_config_telegram_alerts_enable : activer les alertes Telegram.

    • Par défaut : non
  • semaphore_config_telegram_alerts_bot_token : obtenir auprès de @BotFather.

    • Par défaut : ''
  • semaphore_config_telegram_alerts_chat_id : votre identifiant de chat Telegram.

    • Par défaut : ''
  • semaphore_config_ldap_enable : activer l'authentification LDAP.

    • Par défaut : non
  • semaphore_config_ldap_server : serveur LDAP.

    • Par défaut : localhost
  • semaphore_config_ldap_port : port LDAP.

    • Par défaut : 389
  • semaphore_config_ldap_use_tls : utiliser TLS lors de la connexion au serveur LDAP.

    • Par défaut : non
  • semaphore_config_ldap_bind_dn : bind dn.

    • Par défaut : cn=user,ou=users,dc=example.tld
  • semaphore_config_ldap_bind_password : .

    • Par défaut : pa55w0rd
  • semaphore_config_ldap_search_dn : search dn.

    • Par défaut : ou=users,dc=example.tld
  • semaphore_config_ldap_search_filter : filtre de recherche.

    • Par défaut : (uid=%s)
  • semaphore_config_ldap_mapping_dn_field : mappage vers le champ dn.

    • Par défaut : dn
  • semaphore_config_ldap_mapping_username_field : mappage vers le champ nom d'utilisateur.

    • Par défaut : uid
  • semaphore_config_ldap_mapping_fullname_field : mappage vers le champ nom complet.

    • Par défaut : cn
  • semaphore_config_ldap_mapping_email_field : mappage vers le champ email.

    • Par défaut : mail
  • semaphore_service_user_name : compte qui exécutera le service de l'application. Ne pas utiliser root.

    • Par défaut : semaphore

      NOTE : Si l'utilisateur n'existe pas, un compte de service sera créé.

  • semaphore_service_user_password : mot de passe du compte qui exécutera le service.

    • Requis

      NOTE : ne pas fournir cela accordera un sudo sans mot de passe au compte.

      Le mot de passe est nécessaire pour exécuter des playbooks locaux depuis Semaphore via become_password.

      Le mot de passe doit être une valeur cryptée compatible avec le module utilisateur Ansible.

      Vous pouvez en créer un en utilisant : python -c 'import crypt; print crypt.crypt("Ceci est le mot de passe", "$1$ThisIsSomeSalt$")'

Bootstrap

Ces variables ne sont pertinentes que pour le processus de bootstrap et peuvent être modifiées dans le fichier vars.json généré.

  • semaphore_db_admin_home : répertoire pour stocker .my.cnf pour MariaDB.

    • Par défaut : /root
  • semaphore_db_admin_user : nom d'utilisateur administrateur de la base de données.

    • Par défaut : admin
  • semaphore_db_admin_password : mot de passe administrateur de la base de données.

    • Requis
  • semaphore_ansible_cfg_vault_password : mot de passe de coffre.

    • Par défaut : ''
  • semaphore_ansible_cfg_vault_password_file : emplacement du fichier de mot de passe du coffre.

    • Par défaut : /var/lib/semaphore/.vpf
  • semaphore_ansible_cfg_host_key_checking : activer la vérification de la clé hôte.

    • Par défaut : False
    • Options :
      • True
      • False
  • semaphore_ansible_cfg_ansible_managed : chaîne gérée par Ansible pour les fichiers gérés. Utilisé par certains rôles.

    • Par défaut : NE PAS MODIFIER à la main. Ce fichier est sous le contrôle d'Ansible sur {host}.

Exemple d'utilisation

- 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

Licence

MIT / BSD

Informations sur l'auteur

Ce rôle a été créé par TheDumbTechGuy ( twitter | blog | galaxy )

Crédits

À propos du projet

Ansible-Semaphore for Linux.

Installer
ansible-galaxy install thedumbtechguy.semaphore
Licence
Unknown
Téléchargements
114
Propriétaire