simoncaron.pve_acme

Ansible 角色:Proxmox VE Acme 配置

Ansible Lint Ansible Release Ansible Galaxy 下载

这是一个配置 Proxmox VE 节点的 acme 插件和证书的 Ansible 角色。

此角色已在 Proxmox VE 7.2 上测试。

要求

这个角色需要 pexpect 来配置各种命令行提示。如果主机缺少该模块,先决条件任务将安装它以及 python3-pip 包。

角色变量

可用变量如下所示,以及默认值(请参见 defaults/main.yml):

pve_acme_domain: ""

pve_acme_account_name: default
pve_acme_account_email: ""
pve_acme_account_directory: "https://acme-v02.api.letsencrypt.org/directory"

pve_acme_validation_delay: "30"

pve_acme_plugin_name: ""
pve_acme_plugin_api: ""
pve_acme_plugin_data: ""

pve_acme_domain 变量的值应为节点的 fqdn(例如:pve.example.com)。接下来的三个变量允许配置用于请求证书的 Acme 账户。pve_acme_account_name 如果可能应保持默认,因为这是默认用于订购证书的账户。pve_acme_account_email 的值应为接收 letsencrypt 通知的电子邮件。最后一个键 pve_acme_account_directory 应为 https://acme-v02.api.letsencrypt.org/directory(用于生产证书)或 https://acme-staging-v02.api.letsencrypt.org/directory(用于测试证书)。

pve_acme_validation_delay 表示在请求验证之前的额外等待时间(以秒为单位)。它可以应对 DNS 记录较长的 TTL。

最后三个变量配置将用于验证域的插件。pve_acme_plugin_name 设置将在 Proxmox VE UI 中显示的插件名称。pve_acme_plugin_api 键应设置为 Proxmox 支持的一个 API 插件名称。(请参见此处 ACME 插件 ID 名称 获取可用插件的完整列表。)最后,pve_acme_plugin_data 应包含所选插件 API 的配置值。(例如,对于 Cloudflare 令牌配置,内容应为 CF_Token=cloudflare_token)。请参考 Proxmox UI 获取每个提供者的配置键列表。

依赖关系

无。

示例剧本

- hosts: localhost

  vars:
    pve_acme_domain: "pve.example.com"
    pve_acme_account_email: "[email protected]"
    pve_acme_plugin_name: "cloudflare"
    pve_acme_plugin_api: "cf"
    pve_acme_plugin_data: |
      CF_Token=123456abcde

  roles:
    - simoncaron.pve_acme

许可证

MIT

作者信息

该角色由 Simon Caron 创建于 2022 年。

关于项目

A role to configure acme certificates on PVE node

安装
ansible-galaxy install simoncaron.pve_acme
许可证
Unknown
下载
21.5k
拥有者
Software Engineer | IaC | Containers | Ansible | Kubernetes | Helm