Skip to content

gorouter job from cf/221

The Router maintains a list of live routes for the applications running on each DEA. The Router load balances requests (based on their Host header) between each application instance registered for a specific route. It requires to be behind a load balancer that can terminate SSL connections.

Github source: 4d3779e2 or master branch

Properties

dropsonde

enabled

Enable the dropsonde emitter library

Default
false

metron_endpoint

dropsonde_port

The port used to emit dropsonde messages to the Metron agent.

Default
3457

host

The host used to emit messages to the Metron agent.

Default
127.0.0.1

port

The port used to emit legacy messages to the Metron agent.

Default
3456

nats

machines

IP of each NATS cluster member.

password

port

user

request_timeout_in_seconds

Timeout in seconds for Router -> Endpoint roundtrip.

Default
900

router

cipher_suites

An ordered list of supported SSL cipher suites containing golang tls constants separated by colons The cipher suite will be chosen according to this order during SSL handshake For example, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

Default
""

debug_addr

Address at which to serve debug info

Default
0.0.0.0:17001

enable_routing_api

Enable the GoRouter to receive routes from the Routing API

Default
true

enable_ssl

Enable ssl termination on the router

Default
false

extra_headers_to_log

A list of headers that log events will be annotated with

Default
[]

logging_level

Log level for router

Default
info

logrotate

freq_min

The frequency in minutes which logrotate will rotate VM logs

Default
5
rotate

The number of files that logrotate will keep around on the VM

Default
7
size

The size at which logrotate will decide to rotate the log file

Default
2M

number_of_cpus

Number of CPUs to utilize, the default (-1) will equal the number of available CPUs

Default
-1

offset

Default
0

port

Listening Port for Router.

Default
80

requested_route_registration_interval_in_seconds

Interval at which the router requests routes to be registered.

Default
20

route_service_timeout

Expiry time of a route service signature in seconds

Default
60

route_services_secret

Support for route services is disabled when no value is configured. A base64 encoded symmetric key with length of 16 bytes for AES-128, 24 for AES-192, or 32 for AES-256.

Default
""

route_services_secret_decrypt_only

To rotate keys, add your new key here and deploy. Then swap this key with the value of route_services_secret and deploy again. A base64 encoded symmetric key with length of 16 bytes for AES-128, 24 for AES-192, or 32 for AES-256.

Default
""

secure_cookies

Set secure flag on http cookies

Default
false

ssl_cert

The public ssl cert for ssl termination

Default
""

ssl_key

The private ssl key for ssl termination

Default
""

ssl_skip_validation

Skip SSL client cert validation

Default
false

status

password

Password for HTTP basic auth to the varz/status endpoint.

port

Port for the Router varz/status endpoint.

Default
8080
user

Username for HTTP basic auth to the varz/status endpoint.

trace_key

If the X-Vcap-Trace request header is set and has this value, trace headers are added to the response.

Default
22

routing-api

port

Port on which routing-api is running.

Default
3000

uaa

clients

gorouter
secret

Password for UAA client for the gorouter.

port

Port on which UAA is running.

Default
8080

Templates

Templates are rendered and placed onto corresponding instances during the deployment process. This job's templates will be placed into /var/vcap/jobs/gorouter/ directory (learn more).

  • bin/dns_health_check (from dns_health_check.erb)
  • bin/drain (from drain)
  • bin/gorouter_ctl (from gorouter_ctl.erb)
  • config/cert.pem (from cert.pem.erb)
  • config/gorouter.yml (from gorouter.yml.erb)
  • config/gorouter_logrotate.cron (from gorouter_logrotate.cron.erb)
  • config/key.pem (from key.pem.erb)
  • config/logrotate.conf (from logrotate.conf.erb)

Packages

Packages are compiled and placed onto corresponding instances during the deployment process. Packages will be placed into /var/vcap/packages/ directory.