atosatto.caddy

Ansibleロール: Caddy

ビルドステータス Galaxy

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_)

プロジェクトについて

Install and Configure Caddy

インストール
ansible-galaxy install atosatto.caddy
ライセンス
mit
ダウンロード
185
所有者
Automation fan-boy. Head in the ☁️. Loving Containers, Micro-Services, OpenSource, Golang and Python