atosatto.caddy

Ansible 角色:Caddy

构建状态 Galaxy

安装和配置 Caddy。

要求

需要安装 Ansible 2.2 或更高版本。
此角色使用 Ansible 的 json_filter,需要在 Ansible 机器上安装 jmespath。 有关此角色所需的具体版本 jmespath,请参见 requirements.txt 文件。

角色变量

可用变量如下,并包含默认值(参见 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

要运行自定义的 molecule 命令

$ 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