You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Beamly SE4 - Simple Standard Service Endpoints was originally published here. Unfortunately, the repository has been removed whereas this standard is been referenced by quite a few companies.
The object of this specification is to provide a standard convention for access to server status, configuration and live health via HTTP (and SPDY if supported by the service). Services within the Beamly environment must implement this specification in order to be deployed into the production environment.
Important: these endpoints are only intended for internal consumption and not intended to be available externally, doing so may leak sensitive information outside your system.
The healthcheck resource provides information about internal health and its perceived health of downstream dependencies.
It is up for the implementation of this specification to describe how a given healthcheck resource may affect the current state of the GTG and/or ASG resources, or neither.
Important: the healthcheck resource must not block waiting for healthcheck probes to execute, it should return the last known status.
Valid response codes: 200 OK
Response Media Type: application/json
Element Path
Required?
Type
Description
Example
report_as_of
M
DateTime
The time at which this report was generated (this may not be the current time)
"2014-03-12T20:16:55.447Z"
report_duration
M
String
How long it took to generate the report
"0 seconds"
tests
M
Array
array of test results
tests[].duration_millis
M
Float
Number of milliseconds taken to run the test
1.0
tests[].test_name
M
String
The name of the test, a name that is meaningful to supporting engineers
"CPTCluster"
tests[].test_result
M
String (Enum)
The state of the test, may be "not_run", "running", "passed", "failed"
The "Good To Go" (GTG) returns a successful response in the case that the service is in an operational state and is able to receive traffic. This resource is used by load balancers and monitoring tools to determine if traffic should be routed to this service or not.
Note that GTG is not used to determine if the service is healthy or not, only if it is able to receive traffic. A healthy instance may not be able to accept traffic due to the failure of critical downstream dependencies.
A successful response is a 200 OK with a content of the text "OK" (including quotes) and a media type of "text/plain"
A failed response is a 5XX response with either a 500 or 503 response preferred. Failure to respond within a predetermined timeout typically 2 seconds is also treated as a failure.
The "Service Canary" (ASG) returns a successful response in the case that the service is in a healthy state. If a service returns a failure response or fails to respond within a predefined timeout then the service can expect to be terminated and replaced. (Typically this resource is used in auto-scaling group healthchecks.)
A successful response is a 200 OK with a content of the text "OK" (including quotes) and a media type of "text/plain"
A failed response is a 5XX response with either a 500 or 503 response preferred. Failure to respond within a predetermined timeout typically 2 seconds is also treated as a failure.
The Config resource returns the configuration that is used by the service. Typically this is a json representation of the configuration however it is left here as implementation dependent.