ansible_role_cfssl
Ansible роль: CFSSL
Эта роль используется для генерации профилей и сертификатов cfssl.
На данный момент она выполняет следующее:
- генерирует корневой центр сертификации (CA) и серверные сертификаты cfssl
Требования
Это не строгие требования, и может не работать с другими версиями, кроме протестированных. В любом случае, не стесняйтесь тестировать самостоятельно, предлагать добавление новой функциональности и вносить вклад.
Роль протестирована с:
- версия Ansible >= 2.8.6
cfssl и cfssljson должны быть установлены на локальном компьютере, если переменная cfssl_create установлена в True (по умолчанию).
Переменные роли
Переменные и их описания скопированы из 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 и cfssljson должны быть установлены на локальном компьютере, если переменная cfssl_create установлена в True (по умолчанию).
Пример плейбука
---
- hosts: localhost
gather_facts: false
become: no
tasks:
- name: Проверка версии ansible >=2.8.6
assert:
msg: Ansible должен быть версии 2.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
ansible-galaxy install caermeglaeddyv/ansible-role-cfssl