idiv-biodiversity.ssl_certificates
Ansible 角色:SSL 证书
一个安装 SSL 证书的 Ansible 角色。
目录
要求
- Ansible 2.4+
角色变量
这个角色只需要一个变量,虽然刚开始看起来有点冗长。这个变量基本上是一个证书列表。每个证书需要一个 key
和一个 cert
,并可选地指定一个 chain
。
ssl_certificates:
- name: 用于 blah.example.com 的 somehosts SSL 证书
key:
content: '{{ vault_ssl_certificate_key }}'
dest: /path/to/key.pem
cert:
src: path/to/cert.pem
dest: /path/to/cert.pem
chain:
src: path/to/chain
dest: /path/to/chain
- name: 用于 bippy.example.com 的 somehosts SSL 证书
key:
...
注意: 推荐将密钥放在 保险库 中!
注意: 确保 Ansible 能找到 src
文件。group_vars/group
和 host_vars/host
不会自动搜索。如果想将文件放在那里,可以使用例如 host_vars/host/example.com.pem
。
注意: key
、cert
和 chain
也允许设置自定义的 setype
,默认值是 cert_t
。
注意: key
还允许通过 ACL 条目设置一个列表,以提供额外的读取权限。这是为了需要访问密钥的服务,这些服务不是以 root 身份启动然后再降低权限的。
ssl_certificates:
- name: 用于 blah.example.com 的 somehosts SSL 证书
key:
content: '{{ vault_ssl_certificate_key }}'
dest: /path/to/key.pem
acl_users:
- service-user-a
- service-user-b
cert:
...
重用目标变量
你可以重用 目标 变量用于其他角色的配置变量,例如:
---
ssl_certificates:
- name: 用于 blah.example.com 的 somehosts SSL 证书
...
- name: ...
...
# 由于 ssl_certificates 是一个列表,你需要用 [n] 索引
apache_ssl_cert_key_file: '{{ ssl_certificates[0].key.dest }}'
apache_ssl_cert_file: '{{ ssl_certificates[0].cert.dest }}'
apache_ssl_cert_chain_file: '{{ ssl_certificates[0].chain.dest }}'
# 这里使用第二个密钥用于 postfix
postfix_smtp_tls_key_file: '{{ ssl_certificates[1].key.dest }}'
postfix_smtp_tls_cert_file: '{{ ssl_certificates[1].cert.dest }}'
postfix_smtpd_tls_key_file: '{{ ssl_certificates[1].key.dest }}'
postfix_smtpd_tls_cert_file: '{{ ssl_certificates[1].cert.dest }}'
...
依赖
无。
示例剧本
添加到 requirements.yml
:
---
- src: idiv-biodiversity.ssl_certificates
...
下载:
$ ansible-galaxy install -r requirements.yml
顶级剧本
编写一个顶级剧本:
---
- name: head 服务器
hosts: head
roles:
- role: idiv-biodiversity.ssl_certificates
tags:
- certificates
- ssl-certificates
...
角色依赖
在 meta/main.yml
中定义角色依赖:
---
dependencies:
- role: idiv-biodiversity.ssl_certificates
tags:
- certificates
- ssl-certificates
...
许可证
MIT
作者信息
这个角色是由 Christian Krause(GitHub 上的 wookietreiber)和 Dirk Sarpe(GitHub 上的 dirks)于 2019 年创建的,二人都是 德国综合生物多样性研究中心 (iDiv) 的系统管理员,基于 Ben Langenberg(GitHub 上的 sloan87)的草稿。
安装
ansible-galaxy install idiv-biodiversity.ssl_certificates
许可证
mit
下载
47k