一个letsencrypt certbot auth/cleanup hook程序,用于通过DigitalOcean的DNS系统处理主机名所有权验证。
lets-do-dns的Python项目详细描述
此程序的目的是作为手动身份验证和 当您 希望在证书身份验证期间使用acme-dns身份验证 进程,同时使用DigitalOcean的dns基础结构 创建和删除acme-dns所需的dns txt记录。这个程序 还支持传递一个命令字符串,该字符串将在 身份验证过程的清理钩子阶段。
安装
安装这个程序很容易,因为它只有一个外部 依赖项,此程序在setup.py中包含此依赖项 文件。
也就是说,有4种方法可以安装此程序;
第一种是通过正常方式,也就是说,pypi通过pip,因此:
pip install lets-do-dns
也可以从源的克隆安装此程序 存储库,因此(记住,如果您想修改源代码 在不重新安装的情况下,将-e标志传递给pip):
pip install .
您也可以使用Docker安装/运行此程序。你可以这么做 就像从Docker Hub抓取时一样:
docker pull jitsusama/lets-do-dns
最后,您可以从源的克隆构建映像 这样的存储库:
docker build -t jitsusama/lets-do-dns .
用法
确保传递DO_APIKEY和DO_DOMAIN环境 调用certbot时的变量。告诉certbot加载此程序 通过--manual-auth-hook和 --manual-cleanup-hookcli参数。
如果您还希望此程序在 清理钩子阶段,确保通过LETS_DO_POSTCMD certbot的环境变量,指定调用字符串 你的计划。
下面是一个示例,说明当 您通过pip安装了程序:
DO_APIKEY=super-secret-key \ DO_DOMAIN=mydomain.com \ LETS_DO_POSTCMD='echo ${CERTBOT_DOMAIN} > command_output.txt'\ certbot certonly --manual -d myhostname.mydomain.com \ --preferred-challenges dns \ --manual-auth-hook lets-do-dns \ --manual-cleanup-hook lets-do-dns
下面是一个例子,说明当Docker 您已从Docker Hub中提取图像:
docker run -v "$(pwd)/my-cert-dir:/etc/letsencrypt"\ -e "DO_APIKEY=super-secret-key"\ -e "DO_DOMAIN=mydomain.com"\ -e 'LETS_DO_POSTCMD="echo ${CERTBOT_DOMAIN} > /etc/letsencrypt/command_output.txt"'\ jitsusama/lets-do-dns \ certonly --manual -d myhostname.mydomain.com \ --preferred-challenges dns \ --manual-auth-hook lets-do-dns \ --manual-cleanup-hook lets-do-dns