thedumbtechguy.semaphore

Ansibleロール: セマフォ

Ansible Semaphoreをインストールして構成するためのAnsibleロールです。
このロールには、Ansibleとセマフォをセットアップするためのシェルスクリプトが含まれています。必要なすべての依存関係のセットアップとインストールを処理します。

要件

  • wget: bootstrap.shをダウンロードするために必要です。
  • thedumbtechguy.configure-ansible: Ansibleを設定するために必要です。存在しない場合はインストールされます。
  • thedumbtechguy.logrotate: logrotateを設定するために必要です。存在しない場合はインストールされます。
  • thedumbtechguy.mariadb: mariadbを設定するために必要です。存在しない場合はインストールされます。

このロールは、Ubuntu 16.04Ubuntu 16.10でのみテストされています。

ブートストラップインストール

新しいサーバーの場合、最初にホスト名を設定する必要があります(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_db_auth_user: アプリケーションのデータベースユーザー名。

    • デフォルト: semaphore
  • semaphore_db_auth_password: アプリケーションのデータベースユーザーのパスワード。

    • 必須
  • semaphore_db_auth_privileges: アプリケーションのデータベースユーザーに付与する権限。

    • デフォルト: *.*:ALL
  • semaphore_config_auth_name: デフォルトのセマフォアプリケーションユーザー名。

    • デフォルト: Admin
  • semaphore_config_auth_email: デフォルトのセマフォアプリケーションユーザーのメール。

    • デフォルト: root
  • semaphore_config_auth_username: デフォルトのセマフォアプリケーションユーザーのユーザー名。

    • デフォルト: admin
  • semaphore_config_auth_password: デフォルトのセマフォアプリケーションユーザーのパスワード。

    • 必須
  • semaphore_config_data_dir: セマフォの設定とプレイブックファイルを保存する場所。

    • デフォルト: /var/lib/semaphore
  • semaphore_config_log_path: ログファイルを保存する場所。

    • デフォルト: /var/log/semaphore
  • semaphore_config_email_alerts_enable: メールアラートを有効にする。

    • デフォルト: no
  • semaphore_config_email_alerts_server: SMTPサーバー。

    • デフォルト: localhost
  • semaphore_config_email_alerts_port: SMTPポート。

    • デフォルト: 25
  • semaphore_config_email_alerts_sender: メール送信者のアドレス。

    • デフォルト: semaphore@localhost
  • semaphore_config_web_root: アプリケーションにアクセスするために使用するウェブルート。アラートのURL生成に使用されます。

    • デフォルト: http://{{ ansible_fqdn }}:{{ semaphore_port }}/
  • semaphore_config_telegram_alerts_enable: テレグラムアラートを有効にする。

    • デフォルト: no
  • semaphore_config_telegram_alerts_bot_token: @BotFatherから取得。

    • デフォルト: ''
  • semaphore_config_telegram_alerts_chat_id: テレグラムチャットID。

    • デフォルト: ''
  • semaphore_config_ldap_enable: LDAP認証を有効にする。

    • デフォルト: no
  • semaphore_config_ldap_server: LDAPサーバー。

    • デフォルト: localhost
  • semaphore_config_ldap_port: LDAPポート。

    • デフォルト: 389
  • semaphore_config_ldap_use_tls: LDAPサーバーに接続する際にTLSを使用する。

    • デフォルト: 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: メールフィールドにマッピング。

    • デフォルト: mail
  • semaphore_service_user_name: アプリケーションサービスを実行するアカウント。rootで実行しない。

    • デフォルト: semaphore

      注意: ユーザーが存在しない場合、サービスアカウントが作成されます。

  • semaphore_service_user_password: パスワードサービスを実行するアカウントのパスワード。

    • 必須

      注意: これを提供しないと、アカウントにパスワードなしでsudo権限が与えられます。

      パスワードは、become_passwordを介してセマフォからローカルプレイブックを実行するために必要です。

      パスワードは、ansibleユーザーモジュールと互換性のある暗号化された値である必要があります。

      次のコマンドを使用して作成できます: python -c 'import crypt; print crypt.crypt("This is the password", "$1$ThisIsSomeSalt$")'

ブートストラッピング

これらの変数はブートストラッピングプロセスにのみ関連し、生成されたvars.jsonファイルで変更できます。

  • semaphore_db_admin_home: mariadbのための .my.cnf を格納するディレクトリ。

    • デフォルト: /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管理文字列。一部のロールで使用されます。

    • デフォルト: 手動で修正しないでください。このファイルは{host}においてAnsibleによって管理されています。

使用例

- 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 | blog | galaxy

謝辞

プロジェクトについて

Ansible-Semaphore for Linux.

インストール
ansible-galaxy install thedumbtechguy.semaphore
ライセンス
Unknown
ダウンロード
114
所有者