openssl
Ansible роль openssl
Создание сертификатов openssl.
GitHub | Версия | Проблемы | Запросы на изменения | Скачивания |
---|---|---|---|---|
Пример Программного Сценария
Этот пример взят из molecule/default/converge.yml
и проверяется на каждой операции push, pull request и при выпуске.
---
- name: Converge
hosts: all
become: true
gather_facts: true
pre_tasks:
- name: Обновить кэш apt.
apt: update_cache=yes cache_valid_time=600
when: ansible_os_family == 'Debian'
changed_when: false
- name: Проверить существует ли файл python3.11 EXTERNALLY-MANAGED
ansible.builtin.stat:
path: /usr/lib/python3.11/EXTERNALLY-MANAGED
register: externally_managed_file_py311
- name: Переименовать файл python3.11 EXTERNALLY-MANAGED, если он существует
ansible.builtin.command:
cmd: mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.old
when: externally_managed_file_py311.stat.exists
args:
creates: /usr/lib/python3.11/EXTERNALLY-MANAGED.old
- name: Проверить существует ли файл python3.12 EXTERNALLY-MANAGED
ansible.builtin.stat:
path: /usr/lib/python3.12/EXTERNALLY-MANAGED
register: externally_managed_file_py312
- name: Переименовать файл python3.12 EXTERNALLY-MANAGED, если он существует
ansible.builtin.command:
cmd: mv /usr/lib/python3.12/EXTERNALLY-MANAGED /usr/lib/python3.12/EXTERNALLY-MANAGED.old
when: externally_managed_file_py312.stat.exists
args:
creates: /usr/lib/python3.12/EXTERNALLY-MANAGED.old
roles:
- role: buluma.openssl
openssl_items:
- name: my_openssl_key
common_name: my.example.com
Машина должна быть подготовлена. В CI это делает файл molecule/default/prepare.yml
:
---
- name: Prepare
hosts: all
become: true
gather_facts: false
roles:
- role: buluma.bootstrap
- role: buluma.buildtools
- role: buluma.epel
- role: buluma.python_pip
Смотрите также полное объяснение и пример о том, как использовать эти роли.
Переменные Роли
По умолчанию значения для переменных установлены в defaults/main.yml
:
---
# файл с настройками по умолчанию для openssl
# Вы можете передать список ssl ключей/csr/crt/p12 для генерации:
# openssl_items:
# - name: my_openssl_key
# common_name: my.example.com
# Вы можете изменить пути для хранения каждого типа объекта (ключ, csr, crt,
# p12 и pkcs12). Это не обязательно, по умолчанию установлено в расположение,
# принятом в дистрибутивах в `vars/main.yml`.
# Этот каталог хранит чувствительные объекты. (ключ, p12 и pkcs12)
openssl_key_directory: "{{ _openssl_key_directory[ansible_os_family] | default(_openssl_key_directory['default']) }}"
# Этот каталог хранит публичные, непостоянные объекты. (csr)
openssl_csr_directory: "{{ _openssl_csr_directory[ansible_os_family] | default(_openssl_csr_directory['default']) }}"
# Этот каталог хранит публичные, постоянные объекты. (crt)
openssl_crt_directory: "{{ _openssl_crt_directory[ansible_os_family] | default(_openssl_crt_directory['default']) }}"
# Вы можете изменить владельца и группу файлов, создаваемых этой ролью.
openssl_file_owner: root
openssl_file_group: root
Требования
- пакеты pip, перечисленные в requirements.txt.
Состояние используемых ролей
Для подготовки системы используются следующие роли. Вы можете подготовить вашу систему другим способом.
Требование | GitHub | Версия |
---|---|---|
buluma.bootstrap | ||
buluma.buildtools | ||
buluma.epel | ||
buluma.python_pip |
Контекст
Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.
Вот обзор связанных ролей:
Совместимость
Эта роль была протестирована на следующих образах контейнеров:
контейнер | теги |
---|---|
Alpine | все |
EL | 8, 9 |
Debian | все |
Fedora | 38, 39, 40 |
opensuse | все |
Ubuntu | focal, bionic, jammy, noble |
Минимальная требуемая версия Ansible - 2.17, тесты были проведены для:
- Предыдущей версии.
- Текущей версии.
- Версии разработки.
Если вы столкнетесь с проблемами, пожалуйста, зарегистрируйте их в GitHub
Изменения
Лицензия
Информация об авторе
ansible-galaxy install buluma/ansible-role-openssl