thedumbtechguy.semaphore
Ansible-Rolle: Semaphore
Eine Ansible-Rolle zur Installation und Konfiguration von Ansible Semaphore.
Diese Rolle enthält ein Shell-Skript, um Ansible und Semaphore einzurichten. Es kümmert sich um die Installation aller erforderlichen Abhängigkeiten.
Anforderungen
- wget: Wird benötigt, um
bootstrap.sh
herunterzuladen. - thedumbtechguy.configure-ansible: Wird benötigt, um Ansible einzurichten. Wird installiert, wenn nicht vorhanden.
- thedumbtechguy.logrotate: Wird benötigt, um logrotate einzurichten. Wird installiert, wenn nicht vorhanden.
- thedumbtechguy.mariadb: Wird benötigt, um MariaDB einzurichten. Wird installiert, wenn nicht vorhanden.
Diese Rolle wurde nur auf
Ubuntu 16.04
undUbuntu 16.10
getestet.
Bootstrap-Installation
Wenn dies ein neuer Server ist, sollten Sie zuerst den Hostnamen festlegen (hostname server.domain.tld
).
Kopieren und führen Sie den folgenden Befehl aus:
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
Sie können dann die Konfiguration in vars.json
anpassen und sudo sh bootstrap.sh execute
ausführen.
Variablen
semaphore_version
: Version, die installiert werden soll.- Standard:
2.3.0
- Optionen:
2.2.0
2.3.0
- Standard:
semaphore_port
: Port, auf dem zugehört wird.- Standard:
3000
- Standard:
semaphore_db_name
: Name der Datenbank, die für Semaphore erstellt werden soll.- Standard:
semaphore
- Standard:
semaphore_db_auth_user
: Name des Datenbankbenutzers der Anwendung.- Standard:
semaphore
- Standard:
semaphore_db_auth_password
: Passwort des Datenbankbenutzers der Anwendung.- Erforderlich
semaphore_db_auth_privileges
: Berechtigungen für den Datenbankbenutzer der Anwendung.- Standard:
*.*:ALL
- Standard:
semaphore_config_auth_name
: Name des Standardbenutzers der Semaphore-Anwendung.- Standard:
Admin
- Standard:
semaphore_config_auth_email
: E-Mail des Standardbenutzers der Semaphore-Anwendung.- Standard:
root
- Standard:
semaphore_config_auth_username
: Benutzername des Standardbenutzers der Semaphore-Anwendung.- Standard:
admin
- Standard:
semaphore_config_auth_password
: Passwort des Standardbenutzers der Semaphore-Anwendung.- Erforderlich
semaphore_config_data_dir
: Wo die Semaphore-Konfiguration und Playbook-Dateien gespeichert werden.- Standard:
/var/lib/semaphore
- Standard:
semaphore_config_log_path
: Wo die Protokolldateien gespeichert werden.- Standard:
/var/log/semaphore
- Standard:
semaphore_config_email_alerts_enable
: E-Mail-Benachrichtigungen aktivieren.- Standard:
nein
- Standard:
semaphore_config_email_alerts_server
: SMTP-Server.- Standard:
localhost
- Standard:
semaphore_config_email_alerts_port
: SMTP-Port.- Standard:
25
- Standard:
semaphore_config_email_alerts_sender
: E-Mail-Absenderadresse.- Standard:
semaphore@localhost
- Standard:
semaphore_config_web_root
: Die Web-Adresse, um auf die Anwendung zuzugreifen. Wird zum Generieren von URLs in Benachrichtigungen verwendet.- Standard:
http://{{ ansible_fqdn }}:{{ semaphore_port }}/
- Standard:
semaphore_config_telegram_alerts_enable
: Telegram-Benachrichtigungen aktivieren.- Standard:
nein
- Standard:
semaphore_config_telegram_alerts_bot_token
: Von @BotFather erhalten.- Standard:
''
- Standard:
semaphore_config_telegram_alerts_chat_id
: Ihre Telegram-Chat-ID.- Standard:
''
- Standard:
semaphore_config_ldap_enable
: LDAP-Authentifizierung aktivieren.- Standard:
nein
- Standard:
semaphore_config_ldap_server
: LDAP-Server.- Standard:
localhost
- Standard:
semaphore_config_ldap_port
: LDAP-Port.- Standard:
389
- Standard:
semaphore_config_ldap_use_tls
: TLS verwenden, wenn eine Verbindung zum LDAP-Server hergestellt wird.- Standard:
nein
- Standard:
semaphore_config_ldap_bind_dn
: Bind DN.- Standard:
cn=user,ou=users,dc=example.tld
- Standard:
semaphore_config_ldap_bind_password
: .- Standard:
pa55w0rd
- Standard:
semaphore_config_ldap_search_dn
: Such-DN.- Standard:
ou=users,dc=example.tld
- Standard:
semaphore_config_ldap_search_filter
: Suchfilter.- Standard:
(uid=%s)
- Standard:
semaphore_config_ldap_mapping_dn_field
: Zuordnung zum DN-Feld.- Standard:
dn
- Standard:
semaphore_config_ldap_mapping_username_field
: Zuordnung zum Benutzernamenfeld.- Standard:
uid
- Standard:
semaphore_config_ldap_mapping_fullname_field
: Zuordnung zum vollständigen Namen.- Standard:
cn
- Standard:
semaphore_config_ldap_mapping_email_field
: Zuordnung zum E-Mail-Feld.- Standard:
mail
- Standard:
semaphore_service_user_name
: Konto, das den Anwendungsdienst ausführt. Nicht als root ausführen.- Standard:
semaphore
HINWEIS: Wenn der Benutzer nicht existiert, wird ein Dienstkonto erstellt.
- Standard:
semaphore_service_user_password
: Passwort des Kontos, das den Dienst ausführt.- Erforderlich
HINWEIS: Wenn dies nicht bereitgestellt wird, erhält das Konto passlosen sudo-Zugriff.
Ein Passwort wird benötigt, um lokale Playbooks von Semaphore über
become_password
auszuführen.Das Passwort sollte ein verschlüsselter Wert sein, der mit dem Ansible-Benutzermodul kompatibel ist.
Sie können eines erstellen mit:
python -c 'import crypt; print crypt.crypt("This is the password", "$1$ThisIsSomeSalt$")'
- Erforderlich
Bootstrap
Diese Variablen sind nur für den Bootstrap-Prozess relevant und können in der generierten vars.json
-Datei geändert werden.
semaphore_db_admin_home
: Verzeichnis zur Speicherung von .my.cnf für MariaDB.- Standard:
/root
- Standard:
semaphore_db_admin_user
: Datenbank-Administrator Benutzername.- Standard:
admin
- Standard:
semaphore_db_admin_password
: Passwort des Datenbankadministrators.- Erforderlich
semaphore_ansible_cfg_vault_password
: Vault-Passwort.- Standard:
''
- Standard:
semaphore_ansible_cfg_vault_password_file
: Speicherort der Vault-Passwortdatei.- Standard:
/var/lib/semaphore/.vpf
- Standard:
semaphore_ansible_cfg_host_key_checking
: Host-Key-Überprüfung aktivieren.- Standard:
False
- Optionen:
True
False
- Standard:
semaphore_ansible_cfg_ansible_managed
: Ansible verwalteter Text für verwaltete Dateien. Wird von einigen Rollen verwendet.- Standard:
DO NOT MODIFY by hand. This file is under control of Ansible on {host}.
- Standard:
Beispiel für die Nutzung
- hosts: all
vars:
semaphore_config_auth_email: 'username@company.tld'
semaphore_config_auth_password: '4dm1nPa55w0rd'
semaphore_service_user_password: '$1$ThisIsSo$RwIOJHdSWIzAJjbvBdbOZ0'
semaphore_ansible_cfg_vault_password: 'pa55w0rd'
roles:
- thedumbtechguy.semaphore
Lizenz
MIT / BSD
Autor Informationen
Diese Rolle wurde von TheDumbTechGuy erstellt ( twitter | blog | galaxy )
Danksagungen
ansible-galaxy install thedumbtechguy.semaphore