3fd76806e1
This patch adds possibility to connect sensu-clients to RabbitMQ cluster instead of a single RabbitMQ node. Closes-Bug: #1714910 Change-Id: I291a9ddb888aa2291181715c198f7ba5ca1a6ad4
118 lines
3.9 KiB
YAML
118 lines
3.9 KiB
YAML
heat_template_version: pike
|
|
|
|
description: Sensu base service
|
|
|
|
parameters:
|
|
ServiceData:
|
|
default: {}
|
|
description: Dictionary packing service data
|
|
type: json
|
|
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
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
RoleName:
|
|
default: ''
|
|
description: Role name on which the service is applied
|
|
type: string
|
|
RoleParameters:
|
|
default: {}
|
|
description: Parameters specific to the role
|
|
type: json
|
|
MonitoringRabbitCluster:
|
|
description: RabbitMQ cluster configuration Sensu has to connect to.
|
|
type: json
|
|
default: []
|
|
MonitoringRabbitHost:
|
|
description: RabbitMQ host Sensu has to connect to.
|
|
type: string
|
|
default: ''
|
|
MonitoringRabbitPort:
|
|
default: 5672
|
|
description: Set RabbitMQ subscriber port, change this if using SSL.
|
|
type: number
|
|
MonitoringRabbitUseSSL:
|
|
default: false
|
|
description: >
|
|
RabbitMQ client subscriber parameter to specify an SSL connection
|
|
to the RabbitMQ host. Set MonitoringRabbitUseSSL to true without
|
|
specifying a private key or cert chain to use SSL transport,
|
|
but not cert auth.
|
|
type: boolean
|
|
MonitoringRabbitSSLPrivateKey:
|
|
default: ''
|
|
description: Private key to be used by Sensu to connect to RabbitMQ host.
|
|
type: string
|
|
MonitoringRabbitSSLCertChain:
|
|
default: ''
|
|
description: >
|
|
Private SSL cert chain to be used by Sensu to connect to RabbitMQ host.
|
|
type: string
|
|
MonitoringRabbitPassword:
|
|
description: The RabbitMQ password used for monitoring purposes.
|
|
type: string
|
|
hidden: true
|
|
default: sensu
|
|
MonitoringRabbitUserName:
|
|
description: The RabbitMQ username used for monitoring purposes.
|
|
type: string
|
|
default: sensu
|
|
MonitoringRabbitVhost:
|
|
description: The RabbitMQ vhost used for monitoring purposes.
|
|
type: string
|
|
default: '/sensu'
|
|
SensuRedactVariables:
|
|
description: Variables from Sensu configuration, which have to be redacted.
|
|
type: comma_delimited_list
|
|
default:
|
|
- password
|
|
- passwd
|
|
- pass
|
|
- api_key
|
|
- api_token
|
|
- access_key
|
|
- secret_key
|
|
- private_key
|
|
- secret
|
|
|
|
conditions:
|
|
not_cluster_connection:
|
|
equals: [{get_param: MonitoringRabbitCluster}, []]
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Sensu role.
|
|
value:
|
|
service_name: sensu_base
|
|
config_settings:
|
|
map_merge:
|
|
- sensu::enterprise: false
|
|
sensu::enterprise_dashboard: false
|
|
sensu::install_repo: false
|
|
sensu::manage_user: false
|
|
sensu::redact: {get_param: SensuRedactVariables}
|
|
sensu::sensu_plugin_provider: 'yum'
|
|
sensu::sensu_plugin_name: 'rubygem-sensu-plugin'
|
|
sensu::version: 'present'
|
|
- if:
|
|
- not_cluster_connection
|
|
- sensu::rabbitmq_host: {get_param: MonitoringRabbitHost}
|
|
sensu::rabbitmq_port: {get_param: MonitoringRabbitPort}
|
|
sensu::rabbitmq_user: {get_param: MonitoringRabbitUserName}
|
|
sensu::rabbitmq_password: {get_param: MonitoringRabbitPassword}
|
|
sensu::rabbitmq_vhost: {get_param: MonitoringRabbitVhost}
|
|
sensu::rabbitmq_ssl: {get_param: MonitoringRabbitUseSSL}
|
|
sensu::rabbitmq_ssl_private_key: {get_param: MonitoringRabbitSSLPrivateKey}
|
|
sensu::rabbitmq_ssl_cert_chain: {get_param: MonitoringRabbitSSLCertChain}
|
|
- sensu::rabbitmq_cluster: {get_param: MonitoringRabbitCluster}
|