Config Server sample
Cook is an example application demonstrating the use of Config Server for Pivotal Cloud Foundry. (For information on the Config Server product, please see the documentation.)
Building and Deploying
-
If using Maven, run:
$ mvn package
If using Gradle, run
./gradlew build
(OS X, Linux) orgradlew.bat build
(Windows).$ ./gradlew build
-
Run the deployment script (
scripts/deploy.sh
on Linux or OS X,scripts/deploy.bat
on Windows), giving it the path to the application archive. (This will be something liketarget/cook-0.0.1-SNAPSHOT.jar
if you used Maven orbuild/libs/cook-0.0.1-SNAPSHOT.jar
if you used Gradle.)$ ./scripts/deploy.sh target/cook-0.0.1-SNAPSHOT.jar
The script will create a Config Server service instance, push the application, and bind the Config Server service instance to the application.
-
When the script has finished, set the
TRUST_CERTS
environment variable to the API endpoint of your Elastic Runtime instance (as inapi.example.com
), then runcf restage cook
to restage the application so that that change will take effect. SettingTRUST_CERTS
causes Spring Cloud Services to add the the SSL certificate at the specfied API endpoint to the JVM’s truststore, so that the client application can communicate with a Config Server service instance even if your Elastic Runtime instance is using a self-signed SSL certificate (see the Config Server documentation).$ cf set-env cook TRUST_CERTS api.wise.com Setting env variable 'TRUST_CERTS' to 'api.wise.com' for app cook in org myorg / space development as user... OK TIP: Use 'cf restage' to ensure your env variable changes take effect $ cf restage cook
NoteBy default, the Config Server client dependency will cause all application endpoints to be secured by HTTP Basic authentication. For more information or if you wish to disable this, see the documentation. (HTTP Basic authentication is disabled in this sample application.)
Trying It Out
-
Visit
[ROUTE]/restaurant
, where[ROUTE]
is the route bound to the application. The “special” of the day will be taken from the configuration repository and the value ofcook.special
.
For more information about the Config Server and its use in a client application, see the Config Server documentation.