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.0
2.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
- Опции:
True
False
- По умолчанию:
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/ansible-role-semaphore