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 作为基础架构时,因为该 仓库 包含用于构建模板和在这些平台上部署机器的 PackerTerraform 示例。

许可证

Apache 2.0

作者信息

版权 2020 caermeglaeddyv

关于项目

Linux / Kubernetes Administrator

安装
ansible-galaxy install caermeglaeddyv.ansible_role_cfssl
许可证
apache-2.0
下载
148
拥有者