thedumbtechguy.semaphore

Rola Ansible: Semaphore

Rola Ansible do instalacji i konfiguracji Ansible Semaphore

Ta rola zawiera skrypt powłoki do zainicjowania ansible i semaphore. Obsługuje konfigurację i instalację wszystkich wymaganych zależności.

Wymagania

Ta rola została przetestowana tylko na Ubuntu 16.04 i Ubuntu 16.10.

Instalacja Bootstrap

Jeśli to nowy serwer, najpierw ustaw nazwę hosta (hostname server.domain.tld).

Skopiuj i uruchom poniższe polecenia:

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

Następnie możesz dostosować konfigurację w vars.json i uruchomić sudo sh bootstrap.sh execute.

Zmienne

  • semaphore_version: wersja do zainstalowania.

    • Domyślnie: 2.3.0
    • Opcje:
      • 2.2.0
      • 2.3.0
  • semaphore_port: port, na którym ma działać.

    • Domyślnie: 3000
  • semaphore_db_name: nazwa bazy danych do utworzenia dla semaphore.

    • Domyślnie: semaphore
  • semaphore_db_auth_user: nazwa użytkownika bazy danych aplikacji.

    • Domyślnie: semaphore
  • semaphore_db_auth_password: hasło użytkownika bazy danych aplikacji.

    • Wymagane
  • semaphore_db_auth_privileges: przywileje dla użytkownika bazy danych aplikacji.

    • Domyślnie: *.*:ALL
  • semaphore_config_auth_name: nazwa domyślnego użytkownika aplikacji semaphore.

    • Domyślnie: Admin
  • semaphore_config_auth_email: adres e-mail domyślnego użytkownika aplikacji semaphore.

    • Domyślnie: root
  • semaphore_config_auth_username: nazwa użytkownika domyślnego użytkownika aplikacji semaphore.

    • Domyślnie: admin
  • semaphore_config_auth_password: hasło domyślnego użytkownika aplikacji semaphore.

    • Wymagane
  • semaphore_config_data_dir: miejsce przechowywania plików konfiguracyjnych semaphore i playbooków.

    • Domyślnie: /var/lib/semaphore
  • semaphore_config_log_path: miejsce przechowywania plików dziennika.

    • Domyślnie: /var/log/semaphore
  • semaphore_config_email_alerts_enable: włącz powiadomienia e-mail.

    • Domyślnie: no
  • semaphore_config_email_alerts_server: serwer smtp.

    • Domyślnie: localhost
  • semaphore_config_email_alerts_port: port smtp.

    • Domyślnie: 25
  • semaphore_config_email_alerts_sender: adres e-mail nadawcy.

    • Domyślnie: semaphore@localhost
  • semaphore_config_web_root: adres główny, używany do uzyskiwania dostępu do aplikacji. używany do generowania adresów url w powiadomieniach.

    • Domyślnie: http://{{ ansible_fqdn }}:{{ semaphore_port }}/
  • semaphore_config_telegram_alerts_enable: włącz powiadomienia telegram.

    • Domyślnie: no
  • semaphore_config_telegram_alerts_bot_token: uzyskaj od @BotFather.

    • Domyślnie: ''
  • semaphore_config_telegram_alerts_chat_id: twój identyfikator czatu telegram.

    • Domyślnie: ''
  • semaphore_config_ldap_enable: włącz uwierzytelnianie LDAP.

    • Domyślnie: no
  • semaphore_config_ldap_server: serwer LDAP.

    • Domyślnie: localhost
  • semaphore_config_ldap_port: port LDAP.

    • Domyślnie: 389
  • semaphore_config_ldap_use_tls: użyj tls podczas łączenia z serwerem LDAP.

    • Domyślnie: no
  • semaphore_config_ldap_bind_dn: bind dn.

    • Domyślnie: cn=user,ou=users,dc=example.tld
  • semaphore_config_ldap_bind_password: .

    • Domyślnie: pa55w0rd
  • semaphore_config_ldap_search_dn: search dn.

    • Domyślnie: ou=users,dc=example.tld
  • semaphore_config_ldap_search_filter: filtr wyszukiwania.

    • Domyślnie: (uid=%s)
  • semaphore_config_ldap_mapping_dn_field: mapowanie do pola dn.

    • Domyślnie: dn
  • semaphore_config_ldap_mapping_username_field: mapowanie do pola nazwy użytkownika.

    • Domyślnie: uid
  • semaphore_config_ldap_mapping_fullname_field: mapowanie do pola pełnej nazwy.

    • Domyślnie: cn
  • semaphore_config_ldap_mapping_email_field: mapowanie do pola e-mail.

    • Domyślnie: mail
  • semaphore_service_user_name: konto, które będzie uruchamiać usługę aplikacji. nie uruchamiaj jako root.

    • Domyślnie: semaphore

      UWAGA: jeśli użytkownik nie istnieje, zostanie utworzone konto serwisowe.

  • semaphore_service_user_password: hasło konta, które będzie uruchamiać usługę.

    • Wymagane

      UWAGA: niepodanie tego pozwoli na udzielenie uprawnień sudo bez hasła dla tego konta.

      hasło jest potrzebne do uruchamiania lokalnych playbooków z semaphore przez become_password.

      Hasło powinno być zaszyfrowaną wartością zgodną z modułem użytkownika ansible.

      Możesz stworzyć jedno za pomocą: python -c 'import crypt; print crypt.crypt("This is the password", "$1$ThisIsSomeSalt$")'

Bootstrapping

Te zmienne są istotne tylko dla procesu inicjalizacji i można je modyfikować w wygenerowanym pliku vars.json.

  • semaphore_db_admin_home: katalog do przechowywania .my.cnf dla mariadb.

    • Domyślnie: /root
  • semaphore_db_admin_user: nazwa użytkownika administratora bazy danych.

    • Domyślnie: admin
  • semaphore_db_admin_password: hasło administratora bazy danych.

    • Wymagane
  • semaphore_ansible_cfg_vault_password: hasło do skarbca.

    • Domyślnie: ''
  • semaphore_ansible_cfg_vault_password_file: lokalizacja pliku hasła do skarbca.

    • Domyślnie: /var/lib/semaphore/.vpf
  • semaphore_ansible_cfg_host_key_checking: włącz sprawdzanie kluczy hosta.

    • Domyślnie: False
    • Opcje:
      • True
      • False
  • semaphore_ansible_cfg_ansible_managed: napis kontrolowany przez ansible dla zarządzanych plików. używany przez niektóre role.

    • Domyślnie: DO NOT MODIFY by hand. This file is under control of Ansible on {host}.

Przykład zastosowania

- 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

Licencja

MIT / BSD

Informacje o autorze

Ta rola została stworzona przez TheDumbTechGuy ( twitter | blog | galaxy )

Podziękowania

O projekcie

Ansible-Semaphore for Linux.

Zainstaluj
ansible-galaxy install thedumbtechguy.semaphore
Licencja
Unknown
Pobrania
114
Właściciel