thedumbtechguy.semaphore
Ansibleロール: セマフォ
Ansible Semaphoreをインストールして構成するためのAnsibleロールです。
このロールには、Ansibleとセマフォをセットアップするためのシェルスクリプトが含まれています。必要なすべての依存関係のセットアップとインストールを処理します。
要件
- wget:
bootstrap.sh
をダウンロードするために必要です。 - thedumbtechguy.configure-ansible: Ansibleを設定するために必要です。存在しない場合はインストールされます。
- thedumbtechguy.logrotate: logrotateを設定するために必要です。存在しない場合はインストールされます。
- thedumbtechguy.mariadb: mariadbを設定するために必要です。存在しない場合はインストールされます。
このロールは、
Ubuntu 16.04
とUbuntu 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-galaxy install thedumbtechguy.semaphore