Stay organized with collections
Save and categorize content based on your preferences.
This document guides you through binding your App to a RabbitMQ instance not listed in the Kf marketplace (including RabbitMQ click to deploy on Marketplace with the Spring Cloud Foundry Connector. This results in the RabbitMQ credentials being injected into your App, just like binding to services provisioned through marketplace plans.
Before you begin
Ensure you have RabbitMQ installed and accessible by your Kf cluster.
Ensure RabbitMQ has already been set up for your App.
Ensure you have targeted the Space running your App.
Create the user-provided instance
For Kf to successfully bind an App to your RabbitMQ instance, the minimum environment variable is the URI (for example amqp://username:password@host:port/vhost?query). Additional key-value pairs may be included if desired. The RabbitMQ documentation can help with creating a URI string. The following example should be sufficient for basic deployments.
Restart your App to for the changes to take effect:
kfrestartapplication-name
You can confirm the new environment variables being provided to your App:
kfvcap-servicesapplication-name
Update the user-provided instance
If there are changes to the environment (for example password or host update in the URI, or the addition of new key-value pairs) that need to be passed on to any App bound to it, you can update the user-provided instance.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Setting Up RabbitMQ as a User-Provided Service\n\n| **Note:** You can leverage services that aren't listed in the marketplace by creating user-provided service instances that an App can bind to. Learn more about [user-provided services](../concepts/user-provided-services).\n\nThis document guides you through binding your App to a RabbitMQ instance not listed in the Kf marketplace (including [RabbitMQ click to deploy on Marketplace](https://console.cloud.google.com/marketplace/product/click-to-deploy-images/rabbitmq) with the Spring Cloud Foundry Connector. This results in the RabbitMQ credentials being injected into your App, just like binding to services provisioned through marketplace plans.\n\nBefore you begin\n================\n\n- Ensure you have RabbitMQ installed and accessible by your Kf cluster.\n- Ensure RabbitMQ has already been set up for your App.\n- Ensure you have targeted the Space running your App.\n\nCreate the user-provided instance\n=================================\n\nFor Kf to successfully bind an App to your RabbitMQ instance, the minimum environment variable is the URI (for example `amqp://username:password@host:port/vhost?query`). Additional key-value pairs may be included if desired. The [RabbitMQ documentation](https://www.rabbitmq.com/uri-spec.html) can help with creating a URI string. The following example should be sufficient for basic deployments. \n\n kf cups \u003cvar translate=\"no\"\u003eservice-instance-name\u003c/var\u003e -p '{\"uri\":\"amqp://\u003cvar translate=\"no\"\u003eusername\u003c/var\u003e:\u003cvar translate=\"no\"\u003epassword\u003c/var\u003e@\u003cvar translate=\"no\"\u003erabbitmq-host\u003c/var\u003e:\u003cvar translate=\"no\"\u003e5672\u003c/var\u003e\"}' -t \"rabbitmq\"\n\nBind your App\n=============\n\nNow that the user-provided service has been created, you can bind your App to the instance name: \n\n kf bind-service \u003cvar translate=\"no\"\u003eapplication-name\u003c/var\u003e \u003cvar translate=\"no\"\u003eservice-instance-name\u003c/var\u003e\n\nRestart your App to for the changes to take effect: \n\n kf restart \u003cvar translate=\"no\"\u003eapplication-name\u003c/var\u003e\n\nYou can confirm the new environment variables being provided to your App: \n\n kf vcap-services \u003cvar translate=\"no\"\u003eapplication-name\u003c/var\u003e\n\nUpdate the user-provided instance\n=================================\n\nIf there are changes to the environment (for example password or host update in the URI, or the addition of new key-value pairs) that need to be passed on to any App bound to it, you can update the user-provided instance. \n\n kf uups \u003cvar translate=\"no\"\u003eservice-instance-name\u003c/var\u003e -p '{\"uri\":\"\u003cvar translate=\"no\"\u003enew-uri\u003c/var\u003e\", \"\u003cvar translate=\"no\"\u003esome-new-key\u003c/var\u003e\": \"\u003cvar translate=\"no\"\u003esome-new-value\u003c/var\u003e\"}'\n\nRelated documents\n=================\n\n- [VCAP_SERVICES](/migrate/kf/docs/2.3/how-to/app-runtime#vcapservices)\n- [Unbind service](../cli/kf-unbind-service)\n- [Delete service](../cli/kf-delete-service)"]]