RabbitMQ Environment Variables
Note: Pivotal Platform is now part of VMware Tanzu. In v1.20 and later, VMware Tanzu RabbitMQ [VMs] is named VMware Tanzu RabbitMQ for VMs.
This topic provides a reference for the environment variables that VMware Tanzu Application Service for VMs stores for VMware Tanzu RabbitMQ for VMs service instances. These variables include the credentials that apps use to access the service instances.
VCAP_SERVICES
Apps running in TAS for VMs gain access to the bound service instances
through an environment variable credentials hash called VCAP_SERVICES
.
An example hash is show below:
{
"p.rabbitmq": [{
"label": "p.rabbitmq",
"name": "my-rabbit-service-instance",
"plan": "single-node",
"tags": ["rabbitmq"],
"credentials": {
"dashboard_url": "http://pivotal-rabbitmq.your.pcf.example.com",
"username": "b5d0ad14-4352-48e8-8982-d5b1d257029f",
"vhost": "62e5ab21-7b38-44ac-b139-6aa97af01cd7",
"password": "#passwordexample123456789",
"ssl": false,
"hostname": "q-s0.rabbitmq-server.services-subnet.service-instance-e0e7fc5f-c1c7-4211-81b9-284fb29ba851.bosh",
"hostnames": [
"q-s0.rabbitmq-server.services-subnet.service-instance-e0e7fc5f-c1c7-4211-81b9-284fb29ba851.bosh",
],
"uri": "amqp://b5d0ad14-4352-48e8-8982-d5b1d257029f:tavk86pnnns1ddiqpsdtbchurn@q-s0.rabbitmq-server.services-subnet.service-instance-e0e7fc5f-c1c7-4211-81b9-284fb29ba851.bosh/62e5ab21-7b38-44ac-b139-6aa97af01cd7",
"uris": [
"amqp://b5d0ad14-4352-48e8-8982-d5b1d257029f:tavk86pnnns1ddiqpsdtbchurn@q-s0.rabbitmq-server.services-subnet.service-instance-e0e7fc5f-c1c7-4211-81b9-284fb29ba851.bosh/62e5ab21-7b38-44ac-b139-6aa97af01cd7",
],
"http_api_uri": "http://b5d0ad14-4352-48e8-8982-d5b1d257029f:tavk86pnnns1ddiqpsdtbchurn@q-s0.rabbitmq-server.services-subnet.service-instance-e0e7fc5f-c1c7-4211-81b9-284fb29ba851.bosh:15672/api",
"http_api_uris": [
"http://b5d0ad14-4352-48e8-8982-d5b1d257029f:tavk86pnnns1ddiqpsdtbchurn@q-s0.rabbitmq-server.services-subnet.service-instance-e0e7fc5f-c1c7-4211-81b9-284fb29ba851.bosh:15672/api",
],
"protocols": {
"amqp": {
"password": "passwordexample123456789",
"port": 5672,
"ssl": false,
"username": "b5d0ad14-4352-48e8-8982-d5b1d257029f",
"vhost": "62e5ab21-7b38-44ac-b139-6aa97af01cd7",
"host": "q-s0.rabbitmq-server.services-subnet.service-instance-e0e7fc5f-c1c7-4211-81b9-284fb29ba851.bosh",
"hosts": [
"q-s0.rabbitmq-server.services-subnet.service-instance-e0e7fc5f-c1c7-4211-81b9-284fb29ba851.bosh",
],
"uri": "amqp://b5d0ad14-4352-48e8-8982-d5b1d257029f:passwordexample123456789@q-s0.rabbitmq-server.services-subnet.service-instance-e0e7fc5f-c1c7-4211-81b9-284fb29ba851.bosh:5672/62e5ab21-7b38-44ac-b139-6aa97af01cd7",
"uris": [
"amqp://b5d0ad14-4352-48e8-8982-d5b1d257029f:passwordexample123456789@q-s0.rabbitmq-server.services-subnet.service-instance-e0e7fc5f-c1c7-4211-81b9-284fb29ba851.bosh:5672/62e5ab21-7b38-44ac-b139-6aa97af01cd7",
]
}
}
}
}]
}
You can search for your service by its name
, given when creating the service instance,
or dynamically through the tags
or label
properties.
You can use the credentials
property as follows:
The top level properties
uri
,uris
,vhost
,username
,password
,hostname
, andhostnames
provide access to the AMQP 0.9.1 protocol.The
credentials.protocols
property has a key per enabled protocol, providing a more flexible approach. The possible keys areamqp
,management
,mqtt
, andstomp
. If SSL is enabled, the keys areamqp+ssl
,management+ssl
,mqtt+ssl
, andstomp+ssl
respectively.The values associated with each of these keys gives access credentials specific to each protocol. In all cases, URIs are provided, along with the individual components.
Changing Enabled Plugins and Protocols
Note: Removing or adding plugins or protocols might cause apps bound with Tanzu RabbitMQ to break.
If you adjust the plugins and protocols enabled for RabbitMQ, you might need to force the
VCAP_SERVICES
environment variables of all apps to be regenerated.
Adding and removing the following plugins require bound apps to be restaged:
- rabbitmq_management
- rabbitmq_stomp
- rabbitmq_web_stomp
- rabbitmq_mqtt
- rabbitmq_amqp1_0
In common with all services in TAS for VMs, the VCAP_SERVICES
environment variable
for an app is only modified when the app is bound to a service instance.
Users need to cf unbind-service
, cf bind-service
, and cf restage
their app in this scenario.