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-Semaphore for Linux.

Установить
ansible-galaxy install thedumbtechguy/ansible-role-semaphore
Лицензия
Unknown
Загрузки
105
Владелец