Merge "Availability monitoring agents support"
[apex-tripleo-heat-templates.git] / puppet / services / haproxy.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   HAproxy service configured with Puppet
5
6 parameters:
7   ServiceNetMap:
8     default: {}
9     description: Mapping of service_name -> network name. Typically set
10                  via parameter_defaults in the resource registry.  This
11                  mapping overrides those in ServiceNetMapDefaults.
12     type: json
13   DefaultPasswords:
14     default: {}
15     type: json
16   EndpointMap:
17     default: {}
18     description: Mapping of service endpoint -> protocol. Typically set
19                  via parameter_defaults in the resource registry.
20     type: json
21   HAProxyStatsPassword:
22     description: Password for HAProxy stats endpoint
23     hidden: true
24     type: string
25   HAProxyStatsUser:
26     description: User for HAProxy stats endpoint
27     default: admin
28     type: string
29   HAProxySyslogAddress:
30     default: /dev/log
31     description: Syslog address where HAproxy will send its log
32     type: string
33   RedisPassword:
34     description: The password for Redis
35     type: string
36     hidden: true
37   ControlVirtualInterface:
38     default: 'br-ex'
39     description: Interface where virtual ip will be assigned.
40     type: string
41   PublicVirtualInterface:
42     default: 'br-ex'
43     description: >
44         Specifies the interface where the public-facing virtual ip will be assigned.
45         This should be int_public when a VLAN is being used.
46     type: string
47   MonitoringSubscriptionHaproxy:
48     default: 'overcloud-haproxy'
49     type: string
50
51 outputs:
52   role_data:
53     description: Role data for the HAproxy role.
54     value:
55       service_name: haproxy
56       monitoring_subscription: {get_param: MonitoringSubscriptionHaproxy}
57       config_settings:
58         tripleo.haproxy.firewall_rules:
59           '107 haproxy stats':
60             dport: 1993
61         # TODO(emilien) make it composable to find which services are actually running
62         tripleo::haproxy::keystone_admin: '"%{hiera(\"keystone_enabled\")}"'
63         tripleo::haproxy::keystone_public: '"%{hiera(\"keystone_enabled\")}"'
64         tripleo::haproxy::neutron: '"%{hiera(\"neutron_api_enabled\")}"'
65         tripleo::haproxy::cinder: '"%{hiera(\"cinder_api_enabled\")}"'
66         tripleo::haproxy::glance_api: '"%{hiera(\"glance_api_enabled\")}"'
67         tripleo::haproxy::glance_registry: '"%{hiera(\"glance_registry_enabled\")}"'
68         tripleo::haproxy::nova_osapi: '"%{hiera(\"nova_api_enabled\")}"'
69         tripleo::haproxy::nova_metadata: '"%{hiera(\"nova_api_enabled\")}"'
70         tripleo::haproxy::nova_novncproxy: '"%{hiera(\"nova_vncproxy_enabled\")}"'
71         tripleo::haproxy::mysql: true
72         tripleo::haproxy::redis: '"%{hiera(\"redis_enabled\")}"'
73         tripleo::haproxy::sahara: '"%{hiera(\"sahara_api_enabled\")}"'
74         tripleo::haproxy::swift_proxy_server: '"%{hiera(\"swift_proxy_enabled\")}"'
75         tripleo::haproxy::ceilometer: '"%{hiera(\"ceilometer_api_enabled\")}"'
76         tripleo::haproxy::aodh: '"%{hiera(\"aodh_api_enabled\")}"'
77         tripleo::haproxy::gnocchi: '"%{hiera(\"gnocchi_api_enabled\")}"'
78         tripleo::haproxy::heat_api: '"%{hiera(\"heat_api_enabled\")}"'
79         tripleo::haproxy::heat_cloudwatch: '"%{hiera(\"heat_api_cloudwatch_enabled\")}"'
80         tripleo::haproxy::heat_cfn: '"%{hiera(\"heat_api_cfn_enabled\")}"'
81         tripleo::haproxy::horizon: '"%{hiera(\"horizon_enabled\")}"'
82         tripleo::haproxy::ironic: '"%{hiera(\"ironic_api_enabled\")}"'
83         tripleo::haproxy::haproxy_log_address: {get_param: HAProxySyslogAddress}
84         tripleo::haproxy::haproxy_stats_user: {get_param: HAProxyStatsUser}
85         tripleo::haproxy::haproxy_stats_password: {get_param: HAProxyStatsPassword}
86         tripleo::haproxy::redis_password: {get_param: RedisPassword}
87         tripleo::haproxy::control_virtual_interface: {get_param: ControlVirtualInterface}
88         tripleo::haproxy::public_virtual_interface: {get_param: PublicVirtualInterface}
89       step_config: |
90         include ::tripleo::profile::base::haproxy