我目前正在使用自制游戏手册来管理网络服务器。我已经指定了应该在另一个文件中创建的网站,名为sites.yml。
到目前为止,一切都运转良好。除此之外,我想在我的网站上添加Let's Encrypt支持,问题就出现了。怎么样?
我正在根据文件sites.yml的内容执行各种任务。但我想使用每个站点的变量启用Let的加密。
我的sites.yml如下:
sites:
site1:
name: site1
server_name: site1.example.com
document_root: /var/vhosts/site1.example.com
environment: staging
db_name: site1
db_password: password
site2:
name: site2
server_name: site2.example.com
document_root: /var/vhosts/site2.staging.sddev.nl
environment: staging
db_name: site2
db_password: password
我想添加一个像letsencrypt: true
这样的变量来启用Let的加密,但是如何在with_dict循环中检查这个变量?只有在设置变量时才能执行Letsencrypt任务。
我认为它应该是这样的:
- name: LETSENCRYPT | Securing websites
command: --COMMAND FOR OBTAINING CERTIFICATE--
with_dict: "{{ sites }}"
when: "site.letsencrypt = true?"
有人可以向我提供有关在when
循环中使用with_dict
的更多信息吗?
答案 0 :(得分:1)
您可能需要查看with_dict文档。您可以使用item.value
:
- name: LETSENCRYPT | Securing websites
command: --COMMAND FOR OBTAINING CERTIFICATE--
with_dict: "{{ sites }}"
when: item.value.letsencrypt | default(false) | bool