Merge "Use DeployedSSLCertificatePath for public TLS via certmonger" into stable...
[apex-tripleo-heat-templates.git] / puppet / services / haproxy-public-tls-certmonger.yaml
1 heat_template_version: pike
2
3 description: >
4   HAProxy deployment with TLS enabled, powered by certmonger
5
6 parameters:
7   ServiceData:
8     default: {}
9     description: Dictionary packing service data
10     type: json
11   ServiceNetMap:
12     default: {}
13     description: Mapping of service_name -> network name. Typically set
14                  via parameter_defaults in the resource registry.  This
15                  mapping overrides those in ServiceNetMapDefaults.
16     type: json
17   DefaultPasswords:
18     default: {}
19     type: json
20   RoleName:
21     default: ''
22     description: Role name on which the service is applied
23     type: string
24   RoleParameters:
25     default: {}
26     description: Parameters specific to the role
27     type: json
28   EndpointMap:
29     default: {}
30     description: Mapping of service endpoint -> protocol. Typically set
31                  via parameter_defaults in the resource registry.
32     type: json
33   HAProxyInternalTLSCertsDirectory:
34     default: '/etc/pki/tls/certs/haproxy'
35     type: string
36   HAProxyInternalTLSKeysDirectory:
37     default: '/etc/pki/tls/private/haproxy'
38     type: string
39   DeployedSSLCertificatePath:
40     default: '/etc/pki/tls/private/overcloud_endpoint.pem'
41     description: >
42         The filepath of the certificate as it will be stored in the controller.
43     type: string
44
45 outputs:
46   role_data:
47     description: Role data for the HAProxy public TLS via certmonger role.
48     value:
49       service_name: haproxy_public_tls_certmonger
50       config_settings:
51         generate_service_certificates: true
52         tripleo::haproxy::service_certificate: {get_param: DeployedSSLCertificatePath}
53         tripleo::certmonger::haproxy_dirs::certificate_dir:
54           get_param: HAProxyInternalTLSCertsDirectory
55         tripleo::certmonger::haproxy_dirs::key_dir:
56           get_param: HAProxyInternalTLSKeysDirectory
57       certificates_specs:
58         haproxy-external:
59           service_pem: {get_param: DeployedSSLCertificatePath}
60           service_certificate:
61             list_join:
62             - ''
63             - - {get_param: HAProxyInternalTLSCertsDirectory}
64               - '/overcloud-haproxy-external.crt'
65           service_key:
66             list_join:
67             - ''
68             - - {get_param: HAProxyInternalTLSKeysDirectory}
69               - '/overcloud-haproxy-external.key'
70           hostname: "%{hiera('cloud_name_external')}"
71           principal: "haproxy/%{hiera('cloud_name_external')}"
72       metadata_settings:
73         - service: haproxy
74           network: external
75           type: vip