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
- wget: Wymagane do pobrania
bootstrap.sh. - thedumbtechguy.configure-ansible: Wymagane do konfiguracji ansible. Zainstalowane, jeśli nie jest dostępne.
- thedumbtechguy.logrotate: Wymagane do konfiguracji logrotate. Zainstalowane, jeśli nie jest dostępne.
- thedumbtechguy.mariadb: Wymagane do konfiguracji mariadb. Zainstalowane, jeśli nie jest dostępne.
Ta rola została przetestowana tylko na
Ubuntu 16.04iUbuntu 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.02.3.0
- Domyślnie:
semaphore_port: port, na którym ma działać.- Domyślnie:
3000
- Domyślnie:
semaphore_db_name: nazwa bazy danych do utworzenia dla semaphore.- Domyślnie:
semaphore
- Domyślnie:
semaphore_db_auth_user: nazwa użytkownika bazy danych aplikacji.- Domyślnie:
semaphore
- Domyślnie:
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
- Domyślnie:
semaphore_config_auth_name: nazwa domyślnego użytkownika aplikacji semaphore.- Domyślnie:
Admin
- Domyślnie:
semaphore_config_auth_email: adres e-mail domyślnego użytkownika aplikacji semaphore.- Domyślnie:
root
- Domyślnie:
semaphore_config_auth_username: nazwa użytkownika domyślnego użytkownika aplikacji semaphore.- Domyślnie:
admin
- Domyślnie:
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
- Domyślnie:
semaphore_config_log_path: miejsce przechowywania plików dziennika.- Domyślnie:
/var/log/semaphore
- Domyślnie:
semaphore_config_email_alerts_enable: włącz powiadomienia e-mail.- Domyślnie:
no
- Domyślnie:
semaphore_config_email_alerts_server: serwer smtp.- Domyślnie:
localhost
- Domyślnie:
semaphore_config_email_alerts_port: port smtp.- Domyślnie:
25
- Domyślnie:
semaphore_config_email_alerts_sender: adres e-mail nadawcy.- Domyślnie:
semaphore@localhost
- Domyślnie:
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 }}/
- Domyślnie:
semaphore_config_telegram_alerts_enable: włącz powiadomienia telegram.- Domyślnie:
no
- Domyślnie:
semaphore_config_telegram_alerts_bot_token: uzyskaj od @BotFather.- Domyślnie:
''
- Domyślnie:
semaphore_config_telegram_alerts_chat_id: twój identyfikator czatu telegram.- Domyślnie:
''
- Domyślnie:
semaphore_config_ldap_enable: włącz uwierzytelnianie LDAP.- Domyślnie:
no
- Domyślnie:
semaphore_config_ldap_server: serwer LDAP.- Domyślnie:
localhost
- Domyślnie:
semaphore_config_ldap_port: port LDAP.- Domyślnie:
389
- Domyślnie:
semaphore_config_ldap_use_tls: użyj tls podczas łączenia z serwerem LDAP.- Domyślnie:
no
- Domyślnie:
semaphore_config_ldap_bind_dn: bind dn.- Domyślnie:
cn=user,ou=users,dc=example.tld
- Domyślnie:
semaphore_config_ldap_bind_password: .- Domyślnie:
pa55w0rd
- Domyślnie:
semaphore_config_ldap_search_dn: search dn.- Domyślnie:
ou=users,dc=example.tld
- Domyślnie:
semaphore_config_ldap_search_filter: filtr wyszukiwania.- Domyślnie:
(uid=%s)
- Domyślnie:
semaphore_config_ldap_mapping_dn_field: mapowanie do pola dn.- Domyślnie:
dn
- Domyślnie:
semaphore_config_ldap_mapping_username_field: mapowanie do pola nazwy użytkownika.- Domyślnie:
uid
- Domyślnie:
semaphore_config_ldap_mapping_fullname_field: mapowanie do pola pełnej nazwy.- Domyślnie:
cn
- Domyślnie:
semaphore_config_ldap_mapping_email_field: mapowanie do pola e-mail.- Domyślnie:
mail
- Domyślnie:
semaphore_service_user_name: konto, które będzie uruchamiać usługę aplikacji. nie uruchamiaj jako root.- Domyślnie:
semaphoreUWAGA: jeśli użytkownik nie istnieje, zostanie utworzone konto serwisowe.
- Domyślnie:
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$")'
- Wymagane
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
- Domyślnie:
semaphore_db_admin_user: nazwa użytkownika administratora bazy danych.- Domyślnie:
admin
- Domyślnie:
semaphore_db_admin_password: hasło administratora bazy danych.- Wymagane
semaphore_ansible_cfg_vault_password: hasło do skarbca.- Domyślnie:
''
- Domyślnie:
semaphore_ansible_cfg_vault_password_file: lokalizacja pliku hasła do skarbca.- Domyślnie:
/var/lib/semaphore/.vpf
- Domyślnie:
semaphore_ansible_cfg_host_key_checking: włącz sprawdzanie kluczy hosta.- Domyślnie:
False - Opcje:
TrueFalse
- Domyślnie:
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}.
- Domyślnie:
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
ansible-galaxy install thedumbtechguy.semaphore