Simplify PKI host directory creation

Create all the necessary directories for the CA and any certificates
that are created when the CA is initialised. This means that those
tasks are not re-run on the PKI host every time a server cert is created.

Change-Id: Ib2a090dd0d164927307b6617e988f715e8a08db6
This commit is contained in:
Jonathan Rosser 2023-10-25 14:56:04 +01:00
parent 677f11d71f
commit deec9f47a2
4 changed files with 14 additions and 46 deletions

View File

@ -26,8 +26,8 @@
mode: "{{ item.mode | default('0755') }}"
with_items:
- "{{ pki_ca_dirs }}"
- "{{ pki_cert_dirs }}"
delegate_to: "{{ pki_setup_host }}"
when: pki_create_ca | bool
check_mode: no
- name: Create certificate authorities

View File

@ -13,24 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Include {{ pki_method }} certificate variables
include_vars:
file: "{{ pki_method ~ '_cert.yml' }}"
- name: Create certificate directories
file:
state: directory
path: "{{ item.path }}"
owner: "{{ item.owner | default(pki_owner) | default(omit) }}"
group: "{{ item.group | default(pki_group) | default(omit) }}"
mode: "{{ item.mode | default('0755') }}"
with_items:
- "{{ pki_cert_dirs }}"
when: pki_create_certificates | default(true)
delegate_to: "{{ pki_setup_host }}"
run_once: yes
check_mode: no
- name: Create Server certificates
include_tasks: "{{ pki_method }}/create_cert.yml"
loop: "{{ _pki_certificates_defs }}"

View File

@ -18,6 +18,18 @@ pki_ca_dirs:
- path: "{{ pki_dir }}"
- path: "{{ pki_dir ~ '/roots' }}"
# directories for server certificates on the CA host
_pki_cert_dirs:
- path: "{{ pki_dir }}"
- path: "{{ pki_dir ~ '/certs' }}"
mode: "{{ pki_cert_dir_mode }}"
- path: "{{ pki_dir ~ '/certs/csr' }}"
mode: "{{ pki_key_dir_mode }}"
- path: "{{ pki_dir ~ '/certs/private' }}"
mode: "{{ pki_key_dir_mode }}"
- path: "{{ pki_dir ~ '/certs/certs' }}"
mode: "{{ pki_cert_dir_mode }}"
pki_ca_install_command:
apt: "update-ca-certificates"
dnf: "update-ca-trust extract"

View File

@ -1,26 +0,0 @@
---
# Copyright 2021, BBC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# directories for server certificates on the CA host
_pki_cert_dirs:
- path: "{{ pki_dir }}"
- path: "{{ pki_dir ~ '/certs' }}"
mode: "{{ pki_cert_dir_mode }}"
- path: "{{ pki_dir ~ '/certs/csr' }}"
mode: "{{ pki_key_dir_mode }}"
- path: "{{ pki_dir ~ '/certs/private' }}"
mode: "{{ pki_key_dir_mode }}"
- path: "{{ pki_dir ~ '/certs/certs' }}"
mode: "{{ pki_cert_dir_mode }}"