atosatto.caddy
Ansibleロール: Caddy
Caddyをインストールして設定します。
要件
Ansible 2.2以上のインストールが必要です。
このロールは、Ansibleマシンにjmespath
がインストールされていることを要求するjson_filter
を使用します。
requirements.txt
ファイルには、このロールが必要とするjmespath
の特定のバージョンに関する詳細が記載されています。
ロール変数
利用可能な変数は以下に示されており、デフォルト値も記載されています(defaults/main.yml参照):
caddy_download_url: ""
# caddy_download_url: "https://caddyserver.com/download/linux/amd64?plugins=http.prometheus&license=personal&telemetry=off"
インストールするCaddyのバイナリの場所。
上記の例は、http.prometheus
プラグインを含む事前コンパイル済みのCaddyリリースをダウンロードする方法を示しています。
空の場合、ロールはGithubからCaddyをダウンロードします。
caddy_release_tag: "latest"
インストールするCaddyのGithubリリース。
デフォルトでは、https://github.com/caddy/caddy/releases に公開されている最新のリリースです。
注意:このオプションはcaddy_download_url == ""
の場合のみ効果があります。
caddy_user: "caddy"
caddy_group: "caddy"
Caddyのシステムユーザーとグループ。
caddy_install_path: "/opt"
ダウンロードしたCaddyリリースのアーティファクトを格納するディレクトリ。
caddy_bin_path: "/usr/local/bin"
Caddyのバイナリがシンボリックリンクされるディレクトリ。
caddy_config_file: "/etc/caddy.conf"
メインのCaddy設定ファイルのパス。
caddy_config_import_path: "/etc/caddy.conf.d"
caddy_config_import_files:
default: |
127.0.0.1:8080 {
root {{ caddy_web_root }}
}
caddy_config_file
ファイルにインポートされるCaddyの追加設定ファイル。
caddy_ssl_certificates_path: "/etc/ssl/caddy"
CaddyのリッスンIPアドレスとポート。
caddy_web_root: "/var/www"
Caddy HTTPサーバーのデフォルトWebフォルダ。
caddy_log_path: "/var/log/caddy"
Caddyのログファイルを格納するディレクトリ。
caddy_additional_cli_args: ""
Caddyサービスユニットに追加されるコマンドライン引数。
利用可能なCLI引数の完全なリファレンスについては、caddy --help
コマンドの出力を参照してください。
依存関係
なし。
サンプルプレイブック
$ cat playbook.yml
- name: "Caddyをインストールして設定"
hosts: all
roles:
- { role: atosatto.caddy }
テスト
テストはMoleculeを使用して自動化されています。
$ pip install tox
すべてのシナリオをテストするには、以下を実行します。
$ tox
カスタムモレキュールコマンドを実行するには、
$ tox -e py27-ansible23 -- molecule test -s caddy-latest
ライセンス
MIT
著者情報
Andrea Tosatto (@_hilbert_)
ansible-galaxy install atosatto.caddy