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
- wget : Nécessaire pour télécharger
bootstrap.sh
. - thedumbtechguy.configure-ansible : Nécessaire pour configurer Ansible. Installé s'il n'est pas disponible.
- thedumbtechguy.logrotate : Nécessaire pour configurer logrotate. Installé s'il n'est pas disponible.
- thedumbtechguy.mariadb : Nécessaire pour configurer MariaDB. Installé s'il n'est pas disponible.
Ce rôle a été testé uniquement sur
Ubuntu 16.04
etUbuntu 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
- Par défaut :
semaphore_port
: port à écouter.- Par défaut :
3000
- Par défaut :
semaphore_db_name
: le nom de la base de données à créer pour Semaphore.- Par défaut :
semaphore
- Par défaut :
semaphore_db_auth_user
: le nom de l'utilisateur de la base de données de l'application.- Par défaut :
semaphore
- Par défaut :
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
- Par défaut :
semaphore_config_auth_name
: le nom de l'utilisateur par défaut de l'application Semaphore.- Par défaut :
Admin
- Par défaut :
semaphore_config_auth_email
: l'email de l'utilisateur par défaut de l'application Semaphore.- Par défaut :
root
- Par défaut :
semaphore_config_auth_username
: l'utilisateur par défaut de l'application Semaphore.- Par défaut :
admin
- Par défaut :
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
- Par défaut :
semaphore_config_log_path
: où stocker les fichiers journaux.- Par défaut :
/var/log/semaphore
- Par défaut :
semaphore_config_email_alerts_enable
: activer les alertes par email.- Par défaut :
non
- Par défaut :
semaphore_config_email_alerts_server
: serveur smtp.- Par défaut :
localhost
- Par défaut :
semaphore_config_email_alerts_port
: port smtp.- Par défaut :
25
- Par défaut :
semaphore_config_email_alerts_sender
: adresse de l'expéditeur de l'email.- Par défaut :
semaphore@localhost
- Par défaut :
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 }}/
- Par défaut :
semaphore_config_telegram_alerts_enable
: activer les alertes Telegram.- Par défaut :
non
- Par défaut :
semaphore_config_telegram_alerts_bot_token
: obtenir auprès de @BotFather.- Par défaut :
''
- Par défaut :
semaphore_config_telegram_alerts_chat_id
: votre identifiant de chat Telegram.- Par défaut :
''
- Par défaut :
semaphore_config_ldap_enable
: activer l'authentification LDAP.- Par défaut :
non
- Par défaut :
semaphore_config_ldap_server
: serveur LDAP.- Par défaut :
localhost
- Par défaut :
semaphore_config_ldap_port
: port LDAP.- Par défaut :
389
- Par défaut :
semaphore_config_ldap_use_tls
: utiliser TLS lors de la connexion au serveur LDAP.- Par défaut :
non
- Par défaut :
semaphore_config_ldap_bind_dn
: bind dn.- Par défaut :
cn=user,ou=users,dc=example.tld
- Par défaut :
semaphore_config_ldap_bind_password
: .- Par défaut :
pa55w0rd
- Par défaut :
semaphore_config_ldap_search_dn
: search dn.- Par défaut :
ou=users,dc=example.tld
- Par défaut :
semaphore_config_ldap_search_filter
: filtre de recherche.- Par défaut :
(uid=%s)
- Par défaut :
semaphore_config_ldap_mapping_dn_field
: mappage vers le champ dn.- Par défaut :
dn
- Par défaut :
semaphore_config_ldap_mapping_username_field
: mappage vers le champ nom d'utilisateur.- Par défaut :
uid
- Par défaut :
semaphore_config_ldap_mapping_fullname_field
: mappage vers le champ nom complet.- Par défaut :
cn
- Par défaut :
semaphore_config_ldap_mapping_email_field
: mappage vers le champ email.- Par défaut :
mail
- Par défaut :
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éé.
- Par défaut :
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$")'
- Requis
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
- Par défaut :
semaphore_db_admin_user
: nom d'utilisateur administrateur de la base de données.- Par défaut :
admin
- Par défaut :
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 :
''
- 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
- Par défaut :
semaphore_ansible_cfg_host_key_checking
: activer la vérification de la clé hôte.- Par défaut :
False
- Options :
True
False
- Par défaut :
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}.
- Par défaut :
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
ansible-galaxy install thedumbtechguy.semaphore