Files
openstack-ansible-haproxy_s…/tasks/main.yml
Dmitriy Rabotyagov 75092ec0a4 Add tags to PKI include
When rotating certificates for HAProxy it's quite neat to have
tags that will allow to run specifically certificate rotation without
any extra steps.

Change-Id: If1b6d6e46a4b2941198b0f57c858d415fbbdc8d1
2023-09-28 09:31:55 +00:00

91 lines
3.1 KiB
YAML

---
# Copyright 2014, Rackspace US, Inc.
#
# 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.
- name: Gather variables for each operating system
include_vars: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_facts['distribution'] | lower }}-{{ ansible_facts['distribution_version'] | lower }}.yml"
- "{{ ansible_facts['distribution'] | lower }}-{{ ansible_facts['distribution_major_version'] | lower }}.yml"
- "{{ ansible_facts['os_family'] | lower }}-{{ ansible_facts['distribution_major_version'] | lower }}.yml"
- "{{ ansible_facts['distribution'] | lower }}.yml"
- "{{ ansible_facts['os_family'] | lower }}.yml"
paths:
- "{{ role_path }}/vars"
tags:
- always
- name: Importing haproxy_pre_install tasks
import_tasks: haproxy_pre_install.yml
tags:
- haproxy_server-install
- name: Importing haproxy_install tasks
import_tasks: haproxy_install.yml
tags:
- haproxy_server-install
# NOTE (jrosser) the self signed certificate is also needed for bootstrapping
# letsencrypt, as haproxy will not start with ssl config but a missing certificate
- name: Create and install SSL certificates
include_role:
name: pki
apply:
tags:
- haproxy_server-config
- pki
vars:
pki_setup_host: "{{ haproxy_pki_setup_host }}"
pki_dir: "{{ haproxy_pki_dir }}"
pki_create_ca: "{{ haproxy_pki_create_ca }}"
pki_authorities: "{{ haproxy_pki_authorities }}"
pki_install_ca: "{{ haproxy_pki_install_ca }}"
pki_regen_ca: "{{ haproxy_pki_regen_ca }}"
pki_create_certificates: "{{ haproxy_user_ssl_cert is not defined and haproxy_user_ssl_key is not defined }}"
pki_regen_cert: "{{ haproxy_pki_regen_cert }}"
pki_certificates: "{{ haproxy_pki_certificates }}"
pki_install_certificates: "{{ haproxy_pki_install_certificates }}"
pki_handler_cert_installed: "haproxy cert installed"
when:
- haproxy_ssl | bool
tags:
- haproxy_server-config
- pki
- name: Importing haproxy_post_install tasks
import_tasks: haproxy_post_install.yml
tags:
- haproxy_server-config
# NOTE(jrosser) we must reload the haproxy config before doing the first time certbot setup to ensure the letsencypt backend is configured
- name: Flush handlers
meta: flush_handlers
- name: Including haproxy_ssl_letsencrypt tasks
include_tasks: haproxy_ssl_letsencrypt.yml
when:
- haproxy_ssl | bool
- haproxy_ssl_letsencrypt_enable | bool
- haproxy_user_ssl_cert is not defined or haproxy_user_ssl_key is not defined
args:
apply:
tags:
- haproxy_server-config
- letsencrypt
tags:
- haproxy_server-config
- letsencrypt