LATEST VERSION: 1.5 - RELEASE NOTES
Spring Cloud Services v1.5

Managing Service Instances

Page last updated:

See below for information about managing Config Server service instances using the Cloud Foundry Command Line Interface tool (cf CLI). You can also manage Config Server service instances using Pivotal Cloud Foundry® Apps Manager.

Creating an Instance

Begin by targeting the correct org and space.

$ cf target -o myorg -s development

API endpoint:   https://api.cf.wise.com (API version: 2.43.0)
User:           user
Org:            myorg
Space:          development

You can view plan details for the Config Server product using cf marketplace -s.

$ cf marketplace
Getting services from marketplace in org myorg / space development as user...
OK

service                       plans          description
p-circuit-breaker-dashboard   standard       Circuit Breaker Dashboard for Spring Cloud Applications
p-config-server               standard       Config Server for Spring Cloud Applications
p-mysql                       100mb-dev      MySQL service for application development and testing
p-rabbitmq                    standard       RabbitMQ is a robust and scalable high-performance multi-protocol messaging broker.
p-service-registry            standard       Service Registry for Spring Cloud Applications

TIP:  Use 'cf marketplace -s SERVICE' to view descriptions of individual plans of a given service.

$ cf marketplace -s p-config-server
Getting service plan information for service p-config-server as user...
OK

service plan   description     free or paid
standard       Standard Plan   free

Create the service instance using cf create-service, using the -c flag to provide a JSON object that specifies the configuration parameters. For information about the parameters used to configure a Git configuration source, see the Configuring with Git topic. For information about the parameters used to configure a HashiCorp Vault configuration source, see the Configuring with Vault topic.

General parameters accepted for the Config Server are listed below.

Parameter Function Example
count The number of nodes to provision: 1 by default, more for running in high-availability mode '{"count": 3}'

To create an instance, specifying settings for Git configuration sources and that three nodes should be provisioned:

$ cf create-service -c '{"git": { "uri": "https://github.com/spring-cloud-samples/config-repo", "repos": { "cook": { "pattern": "cook*", "uri": "https://github.com/spring-cloud-services-samples/cook-config" } } }, "count": 3 }' p-config-server standard config-server
Creating service instance config-server in org myorg / space development as user...
OK

Create in progress. Use 'cf services' or 'cf service config-server' to check operation status.

As the command output suggests, you can use the cf services or cf service commands to check the status of the service instance. When the service instance is ready, the cf service command will give a status of create succeeded:

$ cf service config-server

Service instance: config-server
Service: p-config-server
Bound apps:
Tags:
Plan: standard
Description: Config Server for Spring Cloud Applications
Documentation url: http://docs.pivotal.io/spring-cloud-services/
Dashboard: https://spring-cloud-broker.apps.wise.com/dashboard/p-config-server/9281c950-9b07-495e-9af4-f9fbd277037d

Last Operation
Status: create succeeded
Message:
Started: 2016-06-24T21:57:21Z
Updated: 2016-06-24T21:59:24Z

Important: The cf service and cf services commands may report a create succeeded status even if the Config Server cannot initialize using the provided settings. For example, given an invalid URI for a configuration source, the service instance may still be created and have a create succeeded status.

If the service instance does not appear to be functioning correctly, you can visit its dashboard to double-check that the provided settings are valid and accurate. See the Using the Dashboard topic.

Note: You may notice a discrepancy between the status given for a service instance by the cf CLI (e.g., by the cf service command) versus that shown on the Service Instances dashboard. The dashboard is updated frequently (close to real-time); the status retrieved by the cf CLI is not updated as frequently and may take time to match the dashboard.

Updating an Instance

You can update settings on a Config Server service instance using the Cloud Foundry Command Line Interface tool (cf CLI). The cf update-service command can be given a -c flag with a JSON object containing parameters used to configure the service instance.

To update a Config Server service instance’s settings, target the org and space of the service instance:

$ cf target -o myorg -s development

API endpoint:   https://api.cf.wise.com (API version: 2.43.0)
User:           user
Org:            myorg
Space:          development

Then run cf update-service SERVICE_NAME -c '{ "PARAMETER": "VALUE" }', where SERVICE_NAME is the name of the service instance, PARAMETER is a supported parameter, and VALUE is the value for the parameter. For information about the parameters used to configure a Git configuration source, see the Configuring with Git topic. For information about the parameters used to configure a HashiCorp Vault configuration source, see the Configuring with Vault topic.

General parameters accepted for the Config Server are listed below.

Parameter Function Example
count The number of nodes to provision: 1 by default, more for running in high-availability mode '{"count": 3}'
upgrade Whether to upgrade the instance '{"upgrade": true}'
force When upgrade is set to true, whether to force an upgrade of the instance, even if the instance is already at the latest available service version '{"force": true}'

To update a service instance, setting Git configuration sources, run:

$ cf update-service config-server -c '{"git": { "uri": "https://github.com/spring-cloud-samples/config-repo", "repos": { "cook": { "pattern": "cook*", "uri": "https://github.com/spring-cloud-services-samples/cook-config" } } } }'
Updating service instance config-server as admin...
OK

Update in progress. Use 'cf services' or 'cf service config-server' to check operation status.

To update a service instance and set the count of instances for running in high-availability mode, run:

$ cf update-service config-server -c '{"count": 3}'
Updating service instance config-server as admin...
OK

Update in progress. Use 'cf services' or 'cf service config-server' to check operation status.

As the command output suggests, you can use the cf services or cf service commands to check the status of the service instance. When the update is complete, the cf service command will give a status of update succeeded:

$ cf service config-server

Service instance: config-server
Service: p-config-server
Bound apps:
Tags:
Plan: standard
Description: Config Server for Spring Cloud Applications
Documentation url: http://docs.pivotal.io/spring-cloud-services/
Dashboard: https://spring-cloud-broker.apps.wise.com/dashboard/p-config-server/e2615a44-66f5-4fda-9ddc-079af1db9ae4

Last Operation
Status: update succeeded
Message:
Started: 2016-06-24T21:11:53Z
Updated: 2016-06-24T21:13:59Z

Important: The cf service and cf services commands may report an update succeeded status even if the Config Server cannot initialize using the provided settings. For example, given an invalid URI for a configuration source, the service instance may still be restarted and have an update succeeded status.

If the service instance does not appear to be functioning correctly after an update, you can visit its dashboard to double-check that the provided settings are valid and accurate. See the Using the Dashboard topic.

The service instance is now updated and ready to be used. For information about using an application to access configuration values served by a Config Server service instance, see the Writing Client Applications topic.

Create a pull request or raise an issue on the source for this page in GitHub