Stay organized with collections
Save and categorize content based on your preferences.
This document shows how to deploy Spring Cloud Config in a Kf cluster.
Spring Cloud Config
provides a way to decouple application code from its runtime configuration.
The Spring Cloud Config configuration server can read configuration files from Git
repositories, the local filesystem, HashiCorp Vault servers,
or Cloud Foundry CredHub.
Once the configuration server has read the configuration, it can format and serve
that configuration as YAML, Java Properties,
or JSON over HTTP.
Before you begin
You will need a cluster with Kf installed and access
to the Kf CLI.
Additionally, you will need the following software:
git: Git is required to clone a repository.
Downloading the Spring Cloud Config configuration server
To download the configuration server source:
Open a terminal.
Clone the source for the configuration server:
gitclone--depth1"https://github.com/google/kf"
Configure and deploy a configuration server
To update the settings for the instance:
Change directory to spring-cloud-config-server:
cdkf/spring-cloud-config-server
Open manifest.yaml.
Change the GIT_URI environment variable to the URI of your Git configuration server.
Optionally, change the name of the application in the manifest.
This will create an entry into the VCAP_SERVICES environment variable for
the configuration server.
Other Applications
Applications that can connect directly to a Spring Cloud Config configuration
server should be configured to access it using its cluster internal URI:
http://spring-cloud-config
For Spring applications that use the Spring Cloud Config client library
can set the spring.cloud.config.uri property in the appropriate location
for your application. This is usually an application.properties or
application.yaml file.
For other frameworks, see your library's reference information.
Deleting the configuration server
To remove a configuration server:
Remove all bindings to the configuration server running the following commands for each bound application:
[[["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,["# Deploying Spring Cloud Config\n\nThis document shows how to deploy Spring Cloud Config in a Kf cluster.\n\n[Spring Cloud Config](https://cloud.spring.io/spring-cloud-config/reference/html/)\nprovides a way to decouple application code from its runtime configuration.\nThe Spring Cloud Config configuration server can read configuration files from Git\nrepositories, the local filesystem, [HashiCorp Vault servers](https://www.vaultproject.io/),\nor [Cloud Foundry CredHub](https://docs.cloudfoundry.org/credhub/).\nOnce the configuration server has read the configuration, it can format and serve\nthat configuration as YAML, [Java Properties](https://docs.oracle.com/cd/E23095_01/Platform.93/ATGProgGuide/html/s0204propertiesfileformat01.html),\nor JSON over HTTP.\n\nBefore you begin\n----------------\n\nYou will need a cluster with Kf installed and access\nto the Kf CLI.\n\nAdditionally, you will need the following software:\n\n- **`git`**: Git is required to clone a repository.\n\nDownloading the Spring Cloud Config configuration server\n--------------------------------------------------------\n\nTo download the configuration server source:\n\n1. Open a terminal.\n2. Clone the source for the configuration server:\n\n git clone --depth 1 \"https://github.com/google/kf\"\n\nConfigure and deploy a configuration server\n-------------------------------------------\n\nTo update the settings for the instance:\n\n1. Change directory to `spring-cloud-config-server`:\n\n cd kf/spring-cloud-config-server\n\n2. Open `manifest.yaml`.\n\n3. Change the `GIT_URI` environment variable to the URI of your Git configuration server.\n\n4. Optionally, change the name of the application in the manifest.\n\n5. Optionally, [configure additional properties or alternative property sources](https://cloud.spring.io/spring-cloud-config/reference/html/#_environment_repository)\n by editing `src/main/resources/application.properties`.\n\n6. Deploy the configuration server without an external route. If you changed\n the name of the application in the manifest, update it here:\n\n kf push --no-route \u003cvar translate=\"no\"\u003espring-cloud-config\u003c/var\u003e\n\n| **Note:** The default configuration is not production ready. The `README.md` file contains additional steps to take if you want to deploy the application to production.\n\nBinding applications to the configuration server\n------------------------------------------------\n\nYou can create a [user provided service](/migrate/kf/docs/2.3/how-to/user-provided-services)\nto bind the deployed configuration server to other Kf\napplications in the same cluster or namespace.\n\nHow you configure them will depend on the library you use: \n\n### PCF Applications\n\nExisting PCF applications that use [Pivotal's Spring Cloud Services client library](https://github.com/pivotal-cf/spring-cloud-services-starters)\ncan be bound using the following method:\n\n1. Create a user provided service named \u003cvar translate=\"no\"\u003econfig-server\u003c/var\u003e. This step\n only has to be done once per configuration server:\n\n kf cups \u003cvar translate=\"no\"\u003econfig-server\u003c/var\u003e -p '{\"uri\":\"http://\u003cvar translate=\"no\"\u003espring-cloud-config\u003c/var\u003e\"}' -t configuration\n\n | **Note:** If you want to use a configuration server in a different space, change the URI [to include the space](/migrate/kf/docs/2.3/concepts/service-discovery#how_to_use_service_discovery_with).\n2. For each application that needs get credentials, run:\n\n kf bind-service \u003cvar translate=\"no\"\u003eapplication-name\u003c/var\u003e \u003cvar translate=\"no\"\u003econfig-server\u003c/var\u003e\n kf restart \u003cvar translate=\"no\"\u003eapplication-name\u003c/var\u003e\n\n This will create an entry into the `VCAP_SERVICES` environment variable for\n the configuration server.\n\n### Other Applications\n\nApplications that can connect directly to a Spring Cloud Config configuration\nserver should be configured to access it using its cluster internal URI: \n\n http://\u003cvar translate=\"no\"\u003espring-cloud-config\u003c/var\u003e\n\n| **Note:** If you want to use a configuration server in a different space, change the URI [to include the space name](/migrate/kf/docs/2.3/concepts/service-discovery#how_to_use_service_discovery_with).\n\n- For Spring applications that use the [Spring Cloud Config client library](https://cloud.spring.io/spring-cloud-config/multi/multi__spring_cloud_config_client.html) can set the `spring.cloud.config.uri` property in the appropriate location for your application. This is usually an `application.properties` or `application.yaml` file.\n- For other frameworks, see your library's reference information.\n\nDeleting the configuration server\n---------------------------------\n\nTo remove a configuration server:\n\n1. Remove all bindings to the configuration server running the following commands for each bound application:\n\n kf unbind-service \u003cvar translate=\"no\"\u003eapplication-name\u003c/var\u003e \u003cvar translate=\"no\"\u003econfig-server\u003c/var\u003e\n kf restart \u003cvar translate=\"no\"\u003eapplication-name\u003c/var\u003e\n\n2. Remove the service entry for the configuration server:\n\n kf delete-service \u003cvar translate=\"no\"\u003econfig-server\u003c/var\u003e\n\n3. Delete the configuration server application:\n\n kf delete \u003cvar translate=\"no\"\u003espring-cloud-config\u003c/var\u003e\n\nWhat's next\n-----------\n\n- Read more about the [types of configuration sources](https://cloud.spring.io/spring-cloud-config/reference/html/#_environment_repository) Spring Cloud Config supports.\n- Learn about [the structure of the `VCAP_SERVICES` environment variable](/migrate/kf/docs/2.3/how-to/app-runtime#vcapservices) to understand how it can be used for service discovery."]]