cans.systemd-unit-install
systemd-install-unit
systemdユニットのインストールと設定を行います。
この役割では、各ユニットを以下のスキーマに従ってアイテムで説明することを期待しています。
- directory: "/some/other/path" # ユニットをインストールするディレクトリ(デフォルト: `systemd_unit_install_dir`)
remote: true # `unit`のパスがローカルマシンに関連するか、リモートマシンホストに関連するか(デフォルト: False)
unit: "/path/to/unit.service" # ユニットファイルへのパス(`.service`、`.timer`などを含む)。
user: true # サービスをユーザー単位(システム全体でなく)でインストール/実行するかどうか。
state: "started" # ユニットを次回のブート時に開始する、即座に開始する、または決して開始しないか。
# 許可される値: "disabled"(開始しない)、"enabled"(次回ブート時に開始)、または"started"(即座に開始)
tasks: # 文字列のリスト; systemdテンプレートをインスタンス化するために使用(デフォルトは`[]`)
- "first"
- "second"
ユニットはAnsibleの template を通じてインストールされることに注意してください。
要件
この役割は、明らかにsystemdを実行しているシステムにのみ適用されます。つまり、Linuxシステムであり、それを採用したディストリビューションのみ: Debian(および派生物)、RedHat(および派生物)など。
役割変数
systemd_unit_install_dir
: ユニットをインストールするディレクトリ;systemd_unit_install_units
: 上記のように説明されたユニットのリスト;systemd_unit_install_state
: ユニットのデフォルトの状態(デフォルト: 'enabled')systemd_unit_install_remote
: ユニットファイルをローカルまたはリモートホストから取得するか(デフォルト: False)。systemd_unit_install_user
: ユニットがシステム全体(False)またはユーザー単位サービス(True)としてインストールされるべきかどうか(デフォルト: False)。
依存関係
この役割には依存関係はありません。
例プレイブック
- hosts: servers
roles:
# リモートマシンのファイルから多数のユニットをインストール
- role: cans.systemd-install-unit
systemd_unit_install_remote: True
# ローカルファイルから多数のユニットをインストール
- role: cans.systemd-install-unit
systemd_unit_install_units:
- unit: units/wonderful.service
directory: /usr/local/etc/systemd/system
- unit: units/critical.service
state: "started"
ライセンス
GPLv2
著者情報
著作権 © 2017-2018, Nicolas CANIART。