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.04
iUbuntu 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
- 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:
semaphore
UWAGA: 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:
True
False
- 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