gorouter job from cf/237
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:
87f11091
or
master branch
Properties¶
dropsonde
¶
enabled
¶Enable the dropsonde emitter library
- Default
false
metron_endpoint
¶
host
¶The host used to emit messages to the Metron agent.
- Default
127.0.0.1
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
- Default
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:TLS_RSA_WITH_AES_128_CBC_SHA:TLS_RSA_WITH_AES_256_CBC_SHA
debug_addr
¶Address at which to serve debug info
- Default
0.0.0.0:17001
dns_health_check_host
¶Host to ping for confirmation of DNS resolution, only used when Routing API is enabled
- Default
consul.service.cf.internal
drain_wait
¶Delay in seconds after drain begins before server stops listening. During this time the server will respond with 503 Service Unavailable to requests having header User-Agent: HTTP-Monitor/1.1. This accommodates requests in transit sent while health check responded ok.
- Default
0
enable_access_log_streaming
¶Enables streaming of access log to syslog. Warning: this comes with a performance cost; due to higher I/O, max request rate is reduced.
- Default
false
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
¶On startup, the router will delay listening for requests by this duration to increase likelihood that it has a complete routing table before serving requests. The router also broadcasts the same duration as a recommended interval to registering clients via NATS.
- Default
20
route_services_recommend_https
¶Route Services are told where to send requests after processing using the X-CF-Forwarded-Url header. When this property is true, the scheme for this URL is https. When false, the scheme is http. As requests from Route Services to applications on CF transit load balancers and gorouter, disable this property for deployments that have TLS termination disabled.
- Default
true
route_services_secret
¶Support for route services is disabled when no value is configured. A robust passphrase is recommended.
- 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.
- Default
""
route_services_timeout
¶Expiry time of a route service signature in seconds
- Default
60
secure_cookies
¶Set secure flag on http cookies
- Default
false
skip_oauth_tls_verification
¶Skip TLS verification when talking to UAA
- 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
¶
auth_disabled
¶Disables UAA authentication
- Default
false
port
¶Port on which routing-api is running.
- Default
3000
routing_api
¶
enabled
¶Enable the GoRouter to receive routes from the Routing API
- Default
false
uaa
¶
clients
¶
gorouter
¶
secret
¶Password for UAA client for the gorouter.
port
¶Port on which UAA is running.
- Default
8080
ssl
¶
port
¶Secure Port on which UAA is running.
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
(fromdns_health_check.erb
)bin/drain
(fromdrain
)bin/gorouter_ctl
(fromgorouter_ctl.erb
)config/cert.pem
(fromcert.pem.erb
)config/gorouter.yml
(fromgorouter.yml.erb
)config/gorouter_logrotate.cron
(fromgorouter_logrotate.cron.erb
)config/key.pem
(fromkey.pem.erb
)config/logrotate.conf
(fromlogrotate.conf.erb
)
Packages¶
Packages are compiled and placed onto corresponding
instances during the deployment process. Packages will be
placed into /var/vcap/packages/
directory.