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

Diese Rolle wurde nur auf Ubuntu 16.04 und Ubuntu 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
  • semaphore_port: Port, auf dem zugehört wird.

    • Standard: 3000
  • semaphore_db_name: Name der Datenbank, die für Semaphore erstellt werden soll.

    • Standard: semaphore
  • semaphore_db_auth_user: Name des Datenbankbenutzers der Anwendung.

    • Standard: semaphore
  • semaphore_db_auth_password: Passwort des Datenbankbenutzers der Anwendung.

    • Erforderlich
  • semaphore_db_auth_privileges: Berechtigungen für den Datenbankbenutzer der Anwendung.

    • Standard: *.*:ALL
  • semaphore_config_auth_name: Name des Standardbenutzers der Semaphore-Anwendung.

    • Standard: Admin
  • semaphore_config_auth_email: E-Mail des Standardbenutzers der Semaphore-Anwendung.

    • Standard: root
  • semaphore_config_auth_username: Benutzername des Standardbenutzers der Semaphore-Anwendung.

    • Standard: admin
  • 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
  • semaphore_config_log_path: Wo die Protokolldateien gespeichert werden.

    • Standard: /var/log/semaphore
  • semaphore_config_email_alerts_enable: E-Mail-Benachrichtigungen aktivieren.

    • Standard: nein
  • semaphore_config_email_alerts_server: SMTP-Server.

    • Standard: localhost
  • semaphore_config_email_alerts_port: SMTP-Port.

    • Standard: 25
  • semaphore_config_email_alerts_sender: E-Mail-Absenderadresse.

    • Standard: semaphore@localhost
  • 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 }}/
  • semaphore_config_telegram_alerts_enable: Telegram-Benachrichtigungen aktivieren.

    • Standard: nein
  • semaphore_config_telegram_alerts_bot_token: Von @BotFather erhalten.

    • Standard: ''
  • semaphore_config_telegram_alerts_chat_id: Ihre Telegram-Chat-ID.

    • Standard: ''
  • semaphore_config_ldap_enable: LDAP-Authentifizierung aktivieren.

    • Standard: nein
  • semaphore_config_ldap_server: LDAP-Server.

    • Standard: localhost
  • semaphore_config_ldap_port: LDAP-Port.

    • Standard: 389
  • semaphore_config_ldap_use_tls: TLS verwenden, wenn eine Verbindung zum LDAP-Server hergestellt wird.

    • Standard: nein
  • semaphore_config_ldap_bind_dn: Bind DN.

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

    • Standard: pa55w0rd
  • semaphore_config_ldap_search_dn: Such-DN.

    • Standard: ou=users,dc=example.tld
  • semaphore_config_ldap_search_filter: Suchfilter.

    • Standard: (uid=%s)
  • semaphore_config_ldap_mapping_dn_field: Zuordnung zum DN-Feld.

    • Standard: dn
  • semaphore_config_ldap_mapping_username_field: Zuordnung zum Benutzernamenfeld.

    • Standard: uid
  • semaphore_config_ldap_mapping_fullname_field: Zuordnung zum vollständigen Namen.

    • Standard: cn
  • semaphore_config_ldap_mapping_email_field: Zuordnung zum E-Mail-Feld.

    • Standard: mail
  • 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.

  • 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$")'

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
  • semaphore_db_admin_user: Datenbank-Administrator Benutzername.

    • Standard: admin
  • semaphore_db_admin_password: Passwort des Datenbankadministrators.

    • Erforderlich
  • semaphore_ansible_cfg_vault_password: Vault-Passwort.

    • Standard: ''
  • semaphore_ansible_cfg_vault_password_file: Speicherort der Vault-Passwortdatei.

    • Standard: /var/lib/semaphore/.vpf
  • semaphore_ansible_cfg_host_key_checking: Host-Key-Überprüfung aktivieren.

    • Standard: False
    • Optionen:
      • True
      • False
  • 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}.

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

Über das Projekt

Ansible-Semaphore for Linux.

Installieren
ansible-galaxy install thedumbtechguy.semaphore
GitHub Repository
Lizenz
Unknown
Downloads
114
Besitzer