route_registrar job from cf/240
Used for registering routes
Github source:
cf65a6e9 or
master branch
Properties¶
nats¶
machines¶IPs of each NATS cluster member
- Example
|+ - 192.168.50.123 - 192.168.52.123
password¶Password for NATS authentication
- Example
natSpa55w0rd
port¶TCP port of NATS servers
- Example
4222
user¶User name for NATS authentication
- Example
nats
route_registrar¶
routes¶
- Array of hashes determining which routes will be registered.
- Each hash should have ‘port’, ‘uris’, ‘registration_interval’ and ‘name’ keys.
- ‘registration_interval’ is the delay between routing updates. It must be a time duration represented as a string (e.g. “10s”). It must parse to a positive time duration i.e. “-5s” is not permitted.
- Additionally, the ‘tags’ and ‘health_check’ keys are optional.
- ‘uris’ is an array of URIs to register for the ‘port’.
- ‘tags’ are included in metrics that gorouter emits to support filtering.
- ‘health_check’ is a hash which should have ‘name’ and ‘script_path’.
- ‘health_check.timeout’ is optional. If the health_check timeout is not provided, it defaults to half of the value of
registration_interval. If it is provided it must be a time duration represented as a string (e.g. “10s”), and less than the value ofregistration_interval. It must parse to a positive time duration i.e. “-5s” is not permitted.- if the healthcheck is not configured, the route is continually registered.
- if the healthcheck script exits with success, the route is registered.
- if the healthcheck script exits with error, the route is unregistered.
- if a timeout is configured, the healthcheck script must exit within the timeout, otherwise it is terminated (with
SIGKILL) and the route is unregistered.
- Example
|+ - name: my-service registration_interval: 20s port: 12345 tags: component: my-service env: production uris: - my-service.system-domain.com - *.my-service.system-domain.com health_check: name: my-service-health_check script_path: /path/to/script timeout: 5s - name: my-debug-endpoint port: 12346 uris: - my-service.system-domain.com/debug
Templates¶
Templates are rendered and placed onto corresponding
instances during the deployment process. This job's templates
will be placed into /var/vcap/jobs/route_registrar/ directory
(learn more).
bin/pre-start(frompre-start)bin/route_registrar_ctl(fromroute_registrar_ctl.erb)config/registrar_settings.yml(fromregistrar_settings.yml.erb)
Packages¶
Packages are compiled and placed onto corresponding
instances during the deployment process. Packages will be
placed into /var/vcap/packages/ directory.