Files
openstack-ansible-haproxy_s…/tasks/main.yml
Dmitriy Rabotyagov c0da2e5095 Fix linters issue and metadata
With update of ansible-lint to version >=6.0.0 a lot of new
linters were added, that enabled by default. In order to comply
with linter rules we're applying changes to the role.

With that we also update metdata to reflect current state.

Change-Id: I8c316dd62ac22ccd9578bb0199ab8f25c0104f9a
2023-08-07 06:55:22 +00:00

84 lines
3.0 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
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
- 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