Installing the python cryptography bindings with ansible.builtin.pip is rejected by PEP 668 on distributions which mark their python installation as externally managed. Fedora 38+, Ubuntu 23.04+ and RHEL 10 are affected, so the role aborted on its very first task there. The package names are resolved from vars/ via first_found, which keeps distribution specifics out of the task file. vars/main.yaml provides python3-cryptography as a fallback for every family without a dedicated file, Archlinux overrides it with python-cryptography. Co-authored-by: Copilot <copilot@github.com>
35 lines
1.3 KiB
YAML
35 lines
1.3 KiB
YAML
---
|
|
|
|
- name: Include OS-specific variables
|
|
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
|
|
vars:
|
|
params:
|
|
files:
|
|
- "{{ ansible_facts['distribution'] }}_{{ ansible_facts['architecture'] }}.yaml"
|
|
- "{{ ansible_facts['distribution'] }}.yaml"
|
|
- "{{ ansible_facts['os_family'] }}_{{ ansible_facts['architecture'] }}.yaml"
|
|
- "{{ ansible_facts['os_family'] }}.yaml"
|
|
- main.yaml
|
|
paths:
|
|
- vars
|
|
|
|
- name: Install required python libraries
|
|
ansible.builtin.package:
|
|
name: "{{ certificate_authority_python_packages }}"
|
|
state: present
|
|
|
|
- name: Create or import a root Certificate Authority (CA)
|
|
ansible.builtin.include_tasks: root_certificate_authority.yaml
|
|
when: certificate_authority_root_ca_skip is defined and
|
|
not certificate_authority_root_ca_skip
|
|
|
|
- name: Create or import a intermediate Certificate Authority (CA)
|
|
ansible.builtin.include_tasks: intermediate_certificate_authority.yaml
|
|
when: certificate_authority_intermediate_ca_skip is defined and
|
|
not certificate_authority_intermediate_ca_skip
|
|
|
|
- name: Create or import a client certificate
|
|
ansible.builtin.include_tasks: client_certificate.yaml
|
|
when: certificate_authority_client_skip is defined and
|
|
not certificate_authority_client_skip
|