Broker Configuration

February 2, 2026 ยท View on GitHub

The broker can be configured though environment variables or configuration files or a combo of both.

Configuration File

A configuration file can be provided at run time to the broker.

cloud-service-broker serve --config <config file name>

A configuration file can be YAML or JSON. Config file values that are . delimited represent hierarchy in the config file.

Example:

db:
  host: hostname

represents a config file value of db.host

Database Configuration Properties

Connection details for the backing database for the service broker.

You can configure the following values:

Environment VariableConfig File ValueTypeDescription
DB_HOST *db.hoststring

Database host

DB_USERNAMEdb.userstring

Database username

DB_PASSWORDdb.passwordsecret

Database password

DB_PORT *db.portstring

Database port (defaults to 3306) Default: 3306

DB_NAME *db.namestring

Database name Default: servicebroker

CA_CERTdb.ca.certtext

Server CA cert

CLIENT_CERTdb.client.certtext

Client cert

CLIENT_KEYdb.client.keytext

Client key

Broker Service Configuration

Broker service configuration values:

Environment VariableConfig File ValueTypeDescription
SECURITY_USER_NAME *api.userstring

Broker authentication username

SECURITY_USER_PASSWORD *api.passwordstring

Broker authentication password

PORTapi.portstring

Port to bind broker to

HOSTapi.hoststring

Host to bind broker to

Credhub Configuration

The broker supports passing credentials to apps via credhub references, thus keeping them private to the application (they won't show up in cf env app_name output.)

Environment VariableConfig File ValueTypeDescription
CH_CRED_HUB_URLcredhub.urlURLcredhub service URL - usually https://credhub.service.cf.internal:8844
CH_UAA_URLcredhub.uaa_urlURLuaa service URL - usually https://uaa.service.cf.internal:8443
CH_UAA_CLIENT_NAMEcredhub.uaa_client_namestringuaa username - usually credhub_admin_client
CH_UAA_CLIENT_SECRETcredhub.uaa_client_secretstringuaa client secret - "Credhub Admin Client Credentials" from Operations Manager > PAS > Credentials tab.
CH_SKIP_SSL_VALIDATIONcredhub.skip_ssl_validationbooleanskip SSL validation if true
CH_CA_CERTcredhub.ca_certstringCA cert

Brokerpak Configuration

Brokerpak configuration values:

Environment VariableConfig File ValueTypeDescription
GSB_BROKERPAK_BUILTIN_PATHbrokerpak.builtin.pathstring

Path to search for .brokerpak files, default: ./

GSB_BROKERPAK_CONFIGbrokerpak.configstringJSON global config for broker pak services
GSB_PROVISION_DEFAULTSprovision.defaultsstringJSON global provision defaults
GSB_SERVICE_SERVICE_NAME_PROVISION_DEFAULTSservice.service-name.provision.defaultsstringJSON provision defaults override for service-name
GSB_SERVICE_SERVICE_NAME_PLANSservice.service-name.plansstringJSON plan collection to augment plans for service-name
GSB_COMPATIBILITY_ENABLE_BETA_SERVICEScompatibility.enable-beta-servicesboolEnable services tagged with beta. Default: false

AWS Configuration

The AWS brokerpak supports default provider chain for authentication with AWS. (Credential Chain)

Config Example

db:
  host: your mysql host
  password: your mysql password
  user: your mysql username
api:
  user: someusername
  password: somepassword
  host: ...
  port: ...
credhub:
  url: ...
  uaa_url: ...
  uaa_client_name: ...
  uaa_client_secret: ...

Global Config Example

Services for a given IaaS should have common parameter names for service wide platform resources (like regions)

AWS services support global region and VPC ID:

provision:
  defaults: '{
    "region": "us-west-1",
    "aws_vpc_id": "vpc-093f61a410460f34c"
  }'

Plans Example

Plans can be added to the brokerpak configuration on top of the ones provided:

service:
  csb-aws-postgresql:
    plans: '[
      {
        "name":"small",
        "id":"85b27a04-8695-11ea-818a-274131861b81",
        "description":"additional plan with 4 cores, version 11 and 10 gb",
        "display_name":"small",
        "cores":"4",
        "postgres_version": 11,
        "storage_gb":10
      }
    ]'