entanet_devops.ansible_role_supervisor

Ansibleロール: Supervisor

ビルドステータス

このAnsibleロールは、LinuxにSupervisorをインストールします。

要件

Pythonのpipがインストールされている必要があります。まだインストールされていない場合は、geerlingguy.pip Ansibleロールを使用して、まずPipをインストールしてください。

ロール変数

使用可能な変数は以下に示されており、デフォルト値も含まれています(defaults/main.ymlを参照)。

supervisor_version: latest

特定のバージョンのSupervisorをここで設定できます。利用可能なSupervisorのバージョンはこちらから確認できます。latestを設定すると、最新の安定版がインストールされます。

supervisor_started: true
supervisor_enabled: true

Supervisorをインストールした際、またはシステムの起動後に、initスクリプトまたはsystemdユニット構成を使用して起動するかどうかを選択します。

supervisor_config_path: /etc/supervisor

Supervisorの設定ファイルを保存するパスです。

supervisor_programs:
  - name: 'foo'
    command: /bin/cat
    state: present

  - name: 'apache'
    command: apache2ctl -DFOREGROUND
    state: present
    configuration: |
      autostart=true
      autorestart=true
      startretries=1
      startsecs=1
      redirect_stderr=true
      stderr_logfile=/var/log/apache-err.log
      stdout_logfile=/var/log/apache-out.log
      user=root
      killasgroup=true
      stopasgroup=true

supervisor_programsはデフォルトで空のリストです; Supervisorによって管理されるprogramのリストを定義できます。statepresentに設定すると、そのプログラムの設定ファイル([program-name-here].confという名前)が、グローバルなSupervisor設定に含まれるconf.dパスに追加されます。もっと柔軟に管理する場合は、このロールの外でプログラムレベルの設定を行うこともできます。

supervisor_nodaemon: false

Supervisorをフォアグラウンドで実行する必要がある場合は、trueに設定します。

supervisor_log_dir: /var/log/supervisor

Supervisorのログが保存される場所です。

supervisor_user: root
supervisor_password: 'my_secret_password'

supervisordが実行されるユーザーと、SupervisorのHTTPサーバーに接続する際に使われるパスワードです(supervisorctlアクセスや管理者UIを表示する際に使用)。

supervisor_unix_http_server_password_protect: true
supervisor_inet_http_server_password_protect: true

これらの変数をfalseに設定することで、Unix HTTPおよびInet HTTPのパスワード保護を無効にできます。これにより、supervisorctlへのパスワード保護も無効になります。

supervisor_unix_http_server_enable: true
supervisor_unix_http_server_socket_path: /var/run/supervisor.sock

UNIXソケットベースのHTTPサーバーを有効にするかどうか、そして有効にされた場合に使用するソケットファイルです。

注意: デフォルトでは、このロールはUNIXソケットを介したHTTPサーバーを有効にしており、以前に定義した_user_passwordを使用してローカルにアクセスできます。未承認のアクセスを防ぐために、安全なsupervisor_passwordを設定してください! (また、HTTPサーバーやsupervisorctlを使用する必要がない場合は、この変数をfalseに設定してUNIX HTTPサーバーを無効にするべきです)。

supervisor_inet_http_server_enable: false
supervisor_inet_http_server_port: '*:9001'

TCPベースのHTTPサーバーを有効にするかどうか、及び有効にした場合にサーバーがリッスンするインターフェースとポートです。

依存関係

なし。

例プレイブック

- hosts: all
  roles:
    - geerlingguy.pip
    - geerlingguy.supervisor

supervisorctlを使用する必要がある場合は、Ansibleの組み込みsupervisorctlモジュールを使用して管理するか、次のように実行することができます(設定ディレクトリへのパスを考慮します):

supervisorctl -c /etc/supervisor/supervisord.conf -u root -p [password] status all

ライセンス

MIT / BSD

著者情報

このロールは2017年にJeff Geerlingによって作成されました。彼はAnsible for DevOpsの著者です。

プロジェクトについて

Supervisor (process state manager) for Linux.

インストール
ansible-galaxy install entanet_devops.ansible_role_supervisor
ライセンス
mit
ダウンロード
261
所有者