ca

Ansible роль ca

Установите и настройте центр сертификации на вашей системе.

GitHub GitLab Загрузки Версия
github gitlab загрузки Версия

Пример Playbook

Этот пример взят из molecule/default/converge.yml и тестируется при каждом пуше, запросе на использование и релизе.

---
- name: Сводка
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.ca

Машину нужно подготовить. В CI это делается с помощью molecule/default/prepare.yml:

---
- name: Подготовка
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.buildtools
    - role: robertdebock.epel
    - role: robertdebock.python_pip
    - role: robertdebock.openssl
      openssl_items:
        - name: apache-httpd
          common_name: "{{ ansible_fqdn }}"
    - role: robertdebock.httpd

Смотрите также полное объяснение и пример о том, как использовать эти роли.

Переменные роли

Значения переменных по умолчанию установлены в defaults/main.yml:

---
# файл по умолчанию для ca

# установите ca_init: 'yes' для создания CA
ca_init: true

# ca_own_root: 'yes', если вы хотите иметь свой собственный корневой CA.
# если нет, установите ca_certificate_path вручную
ca_own_root: true

# Пароль для ключа CA.
ca_passphrase: SuP3rS3creT

# Общее имя для CA.
ca_common_name: example.com

# Другие данные для CA.
ca_country_name: NL
ca_email_address: [email protected]
ca_organization_name: Very little
ca_organizational_unit_name: Even less
ca_state_or_province_name: Utrecht
ca_locality_name: Utrecht

# Существует два формата для запроса ключа и сертификата:
# 1. С деталями: (включает `name:`)
# ca_requests:
#   - name: certificate1.example.com
#     passphrase: S3creT
#
# 2. Без деталей: (не включает `name:`)
# ca_requests:
#   - "{{ ansible_fqdn }}"

# Вы также можете комбинировать эти форматы:
# ca_requests:
#   - name: certificate1.example.com
#     passphrase: S3creT
#   - "{{ ansible_fqdn }}"

# Где публиковать сертификаты, обычно это местоположение веб-сервера.
# Если не указано, сертификаты не будут опубликованы.
# {{ httpd_data_directory }} наследуется от роли robertdebock.httpd.
ca_publication_location: "{{ httpd_data_directory | default('/tmp') }}/pub"

# Где сертификаты должны храниться? По умолчанию используются
# предпочтительные местоположения дистрибуции (см. `vars/main.yml`, под `_ca_openssl_path`.
# Если вам нужен сертификат CA где-то еще, просто используйте что-то подобное:
# ca_openssl_path: /my/preferred/path
ca_openssl_path: "{{ _ca_openssl_path[ansible_os_family] | default(_ca_openssl_path['default']) }}"

Требования

Состояние используемых ролей

Следующие роли используются для подготовки системы. Вы можете подготовить вашу систему другим способом.

Требование GitHub GitLab
robertdebock.bootstrap Статус сборки GitHub Статус сборки GitLab
robertdebock.buildtools Статус сборки GitHub Статус сборки GitLab
robertdebock.epel Статус сборки GitHub Статус сборки GitLab
robertdebock.httpd Статус сборки GitHub Статус сборки GitLab
robertdebock.openssl Статус сборки GitHub Статус сборки GitLab
robertdebock.python_pip Статус сборки GitHub Статус сборки GitLab

Контекст

Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.

Вот обзор связанных ролей: зависимости

Совместимость

Эта роль была протестирована на этих образах контейнеров:

контейнер теги
EL 9
Debian все
Fedora все
Ubuntu jammy, focal

Минимальная версия Ansible, требуемая для работы, 2.12, тесты были проведены для:

  • Предыдущей версии.
  • Текущей версии.
  • Версии разработки.

Если вы найдете проблемы, пожалуйста, зарегистрируйте их на GitHub.

Лицензия

Apache-2.0.

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

robertdebock

Пожалуйста, подумайте о помощи мне.

О проекте

Install and configure a certificate authority on your system.

Установить
ansible-galaxy install robertdebock/ansible-role-ca
Лицензия
apache-2.0
Загрузки
30362
Владелец
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.