caermeglaeddyv.ansible_role_cfssl
Ansible 角色: CFSSL
此角色用于生成 cfssl 配置文件和证书。
目前,它执行以下操作:
- 生成 cfssl 根 CA 和服务器证书
要求
这不是严格的要求,可能与未测试的其他版本不兼容。 无论如何,请随意自行测试、建议添加新功能并进行贡献。
该角色已在以下环境中测试:
- Ansible 版本 >= 2.8.6
如果 cfssl_create 变量设置为 True(默认值),则必须在本地主机上安装 cfssl 和 cfssljson。
角色变量
变量及其描述引用自 defaults/main.yml
# 大多数项目通用的变量,用于
# 配置文件或文件/目录名。
# 默认用作 cfssl_project_dir 变量的参考:
cfssl_project_name: test
# 大多数项目通用的变量,用作
# 角色在本地主机上的工作目录。
# 目前用于存储创建的证书:
cfssl_project_dir: "{{ cfssl_project_name }}"
# 根 CA 的通用名称:
cfssl_ca_cn: "cfssl root ca"
# 根 CA 的密钥算法:
cfssl_ca_key_algo: "rsa"
# 根 CA 的密钥大小:
cfssl_ca_key_size: 4096
# 根 CA 的区分名称:
cfssl_ca_names:
- c: "Neverland"
l: "Rivia"
o: "Witchers"
ou: "Caer Morhen"
# 服务器证书的有效期(小时):
cfssl_server_expiry: "17520h"
# 证书的使用类型:
cfssl_server_usages:
- 数字签名
- 密钥加密
- 服务器身份验证
# 服务器证书的通用名称:
cfssl_server_cn: "server"
# 服务器证书的密钥算法:
cfssl_server_key_algo: "rsa"
# 服务器证书的密钥大小:
cfssl_server_key_size: 2048
# 服务器证书的区分名称:
cfssl_server_names:
- c: "Neverland"
l: "Rivia"
o: "Witchers"
ou: "Caer Morhen"
# 服务器证书将签署的主机名、DNS 名称和/或 IP 地址。
# 如果您的服务器主机名和 IP 地址与清单中的不同,
# 请使用此变量手动提供:
cfssl_server_hosts: []
# 将添加到每个生成文件名称的前缀:
cfssl_prefix: test
依赖关系
如果 cfssl_create 变量设置为 True(默认值),则必须在本地主机上安装 cfssl 和 cfssljson。
示例剧本
---
- hosts: localhost
gather_facts: false
become: no
tasks:
- name: 检查 ansible 版本 >=2.8.6
assert:
msg: Ansible 必须是 v2.8.6 或更高版本
that:
- ansible_version.string is version("2.8.6", ">=")
tags:
- check
vars:
ansible_connection: local
- hosts: all
become: yes
tasks:
- import_role:
name: cfssl
有关此角色和其他角色更详细的示例(库存、剧本等),可以在 这里 找到。
强烈建议您从那开始进行测试部署,特别是在您使用 Google Cloud Platform 或 VMware vCenter 作为基础架构时,因为该 仓库 包含用于构建模板和在这些平台上部署机器的 Packer 和 Terraform 示例。
许可证
作者信息
版权 2020 caermeglaeddyv