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 для создания шаблонов и развертывания машин на этих платформах.

Лицензия

Apache 2.0

Информация об авторе

Авторские права 2020 caermeglaeddyv

О проекте

Linux / Kubernetes Administrator

Установить
ansible-galaxy install caermeglaeddyv/ansible-role-cfssl
Лицензия
apache-2.0
Загрузки
131
Владелец