thedumbtechguy.semaphore
Ansible Роль: Semaphore
Ansible роль для установки и настройки Ansible Semaphore.
Эта роль содержит скрипт оболочки для начальной настройки ansible и semaphore. Она управляет установкой всех необходимых зависимостей.
Требования
- wget: требуется для загрузки
bootstrap.sh. - thedumbtechguy.configure-ansible: требуется для настройки ansible. Установится, если недоступен.
- thedumbtechguy.logrotate: требуется для настройки logrotate. Установится, если недоступен.
- thedumbtechguy.mariadb: требуется для настройки mariadb. Установится, если недоступен.
Эта роль была протестирована только на
Ubuntu 16.04иUbuntu 16.10.
Установка
Если это новый сервер, сначала установите hostname (hostname server.domain.tld).
Скопируйте и выполните следующую команду:
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
Затем вы можете настроить конфигурацию в vars.json и выполнить sudo sh bootstrap.sh execute.
Переменные
semaphore_version: версию для установки.- По умолчанию:
2.3.0 - Опции:
2.2.02.3.0
- По умолчанию:
semaphore_port: порт, на котором слушать.- По умолчанию:
3000
- По умолчанию:
semaphore_db_name: имя базы данных для semaphore.- По умолчанию:
semaphore
- По умолчанию:
semaphore_db_auth_user: имя пользователя базы данных приложения.- По умолчанию:
semaphore
- По умолчанию:
semaphore_db_auth_password: пароль пользователя базы данных приложения.- Обязательно
semaphore_db_auth_privileges: права доступа для пользователя базы данных приложения.- По умолчанию:
*.*:ALL
- По умолчанию:
semaphore_config_auth_name: имя пользователя приложения по умолчанию.- По умолчанию:
Admin
- По умолчанию:
semaphore_config_auth_email: email пользователя приложения по умолчанию.- По умолчанию:
root
- По умолчанию:
semaphore_config_auth_username: имя пользователя по умолчанию.- По умолчанию:
admin
- По умолчанию:
semaphore_config_auth_password: пароль пользователя по умолчанию.- Обязательно
semaphore_config_data_dir: где хранить конфигурацию semaphore и файлы playbook.- По умолчанию:
/var/lib/semaphore
- По умолчанию:
semaphore_config_log_path: где хранить файлы журналов.- По умолчанию:
/var/log/semaphore
- По умолчанию:
semaphore_config_email_alerts_enable: включить email-уведомления.- По умолчанию:
no
- По умолчанию:
semaphore_config_email_alerts_server: smtp-сервер.- По умолчанию:
localhost
- По умолчанию:
semaphore_config_email_alerts_port: smtp-порт.- По умолчанию:
25
- По умолчанию:
semaphore_config_email_alerts_sender: адрес отправителя email.- По умолчанию:
semaphore@localhost
- По умолчанию:
semaphore_config_web_root: корень веба, который вы будете использовать для доступа к приложению. используется при генерации URL в уведомлениях.- По умолчанию:
http://{{ ansible_fqdn }}:{{ semaphore_port }}/
- По умолчанию:
semaphore_config_telegram_alerts_enable: включить уведомления в Telegram.- По умолчанию:
no
- По умолчанию:
semaphore_config_telegram_alerts_bot_token: получить от @BotFather.- По умолчанию:
''
- По умолчанию:
semaphore_config_telegram_alerts_chat_id: ваш Telegram ID чата.- По умолчанию:
''
- По умолчанию:
semaphore_config_ldap_enable: включить аутентификацию LDAP.- По умолчанию:
no
- По умолчанию:
semaphore_config_ldap_server: LDAP сервер.- По умолчанию:
localhost
- По умолчанию:
semaphore_config_ldap_port: порт LDAP.- По умолчанию:
389
- По умолчанию:
semaphore_config_ldap_use_tls: использовать TLS при подключении к LDAP серверу.- По умолчанию:
no
- По умолчанию:
semaphore_config_ldap_bind_dn: привязка dn.- По умолчанию:
cn=user,ou=users,dc=example.tld
- По умолчанию:
semaphore_config_ldap_bind_password: .- По умолчанию:
pa55w0rd
- По умолчанию:
semaphore_config_ldap_search_dn: поиск dn.- По умолчанию:
ou=users,dc=example.tld
- По умолчанию:
semaphore_config_ldap_search_filter: фильтр поиска.- По умолчанию:
(uid=%s)
- По умолчанию:
semaphore_config_ldap_mapping_dn_field: отображение на поле dn.- По умолчанию:
dn
- По умолчанию:
semaphore_config_ldap_mapping_username_field: отображение на поле имени пользователя.- По умолчанию:
uid
- По умолчанию:
semaphore_config_ldap_mapping_fullname_field: отображение на поле полного имени.- По умолчанию:
cn
- По умолчанию:
semaphore_config_ldap_mapping_email_field: отображение на поле email.- По умолчанию:
mail
- По умолчанию:
semaphore_service_user_name: учетная запись, которая будет запускать сервис приложения. не запускать от root.- По умолчанию:
semaphoreПРИМЕЧАНИЕ: если пользователь не существует, будет создана сервисная учетная запись.
- По умолчанию:
semaphore_service_user_password: пароль учетной записи, которая будет запускать сервис.- Обязательно
ПРИМЕЧАНИЕ: отсутствие этого пароля позволит учетной записи получить доступ без пароля к sudo.
пароль нужен для запуска локальных playbook из semaphore через
become_password.Пароль должен быть зашифрованным значением, совместимым с модулем пользователя ansible.
Вы можете создать его с помощью:
python -c 'import crypt; print crypt.crypt("This is the password", "$1$ThisIsSomeSalt$")'
- Обязательно
Начальная настройка
Эти переменные актуальны только для процесса начальной настройки и могут быть изменены в созданном файле vars.json.
semaphore_db_admin_home: каталог для хранения .my.cnf для mariadb.- По умолчанию:
/root
- По умолчанию:
semaphore_db_admin_user: имя пользователя администратора базы данных.- По умолчанию:
admin
- По умолчанию:
semaphore_db_admin_password: пароль администратора базы данных.- Обязательно
semaphore_ansible_cfg_vault_password: пароль хранилища.- По умолчанию:
''
- По умолчанию:
semaphore_ansible_cfg_vault_password_file: местоположение файла пароля хранилища.- По умолчанию:
/var/lib/semaphore/.vpf
- По умолчанию:
semaphore_ansible_cfg_host_key_checking: включить проверку ключей хоста.- По умолчанию:
False - Опции:
TrueFalse
- По умолчанию:
semaphore_ansible_cfg_ansible_managed: строка управления ansible для управляемых файлов. используется некоторыми ролями.- По умолчанию:
НЕ ИЗМЕНЯЙТЕ вручную. Этот файл находится под контролем Ansible на {host}.
- По умолчанию:
Пример использования
- 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
Лицензия
MIT / BSD
Информация об авторе
Эта роль была создана TheDumbTechGuy ( twitter | блог | galaxy )
Благодарности
ansible-galaxy install thedumbtechguy.semaphore