heat_template_version: ocata description: > Apache service TLS configurations. parameters: ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set via parameter_defaults in the resource registry. This mapping overrides those in ServiceNetMapDefaults. type: json # The following parameters are not needed by the template but are # required to pass the pep8 tests DefaultPasswords: default: {} type: json EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json resources: ApacheNetworks: type: OS::Heat::Value properties: value: # NOTE(jaosorior) Get unique network names to create # certificates for those. We skip the tenant network since # we don't need a certificate for that, and the external # network will be handled in another template. yaql: expression: list($.data.map.items().map($1[1])).distinct().where($ != external and $ != tenant) data: map: get_param: ServiceNetMap outputs: role_data: description: Role data for the Apache role. value: service_name: apache_internal_tls_certmonger config_settings: generate_service_certificates: true apache_certificates_specs: map_merge: repeat: template: httpd-NETWORK: service_certificate: '/etc/pki/tls/certs/httpd-NETWORK.crt' service_key: '/etc/pki/tls/private/httpd-NETWORK.key' hostname: "%{hiera('fqdn_NETWORK')}" principal: "HTTP/%{hiera('fqdn_NETWORK')}" for_each: NETWORK: {get_attr: [ApacheNetworks, value]} metadata_settings: repeat: template: - service: HTTP network: $NETWORK type: node for_each: $NETWORK: {get_attr: [ApacheNetworks, value]} upgrade_tasks: - name: "PreUpgrade step0,validation: Check service httpd is running" shell: /usr/bin/systemctl show 'httpd' --property ActiveState | grep '\bactive\b' tags: step0,validation