Navigation :
Installation
Tutorial
APIs
- aws.proto
- azure.proto
- circuit_breaker.proto
- connection.proto
- consul.proto
- descriptor.proto
- destination_rule.proto
- duration.proto
- extensions.proto
- fault.proto
- gateway.proto
- glooshot.proto
- glooshot.solo.io.project
- gogo.proto
- grpc.proto
- grpc_web.proto
- hcm.proto
- ingress.proto
- install.proto
- kubernetes.proto
- load_balancer.proto
- mesh.proto
- metadata.proto
- parameters.proto
- plugins.proto
- policy.proto
- prefix_rewrite.proto
- proxy.proto
- rbac.proto
- ref.proto
- rest.proto
- retries.proto
- routing.proto
- security.proto
- selector.proto
- service_spec.proto
- sidecar.proto
- solo-kit.proto
- ssl.proto
- static.proto
- status.proto
- struct.proto
- subset.proto
- subset_spec.proto
- timestamp.proto
- transformation.proto
- virtual_service.proto
- wrappers.proto
glooshot.proto
Package: glooshot.solo.io
Types:
Experiment
Describes an Experiment that GlooShot should run
"metadata" : .core.solo.io.Metadata
"status" : .core.solo.io.Status
"spec" : .glooshot.solo.io.ExperimentSpec
"result" : .glooshot.solo.io.ExperimentResult
ExperimentResult
"state" : .glooshot.solo.io.ExperimentResult.State
"failureReport" : map<string, string>
"timeStarted" : .google.protobuf.Timestamp
"timeFinished" : .google.protobuf.Timestamp
State
Name
Description
Pending
Experiment has not started
Started
Experiment started but threshold not met
Failed
Experiment failed, threshold was exceeded
Succeeded
Experiment succeeded, duration elapsed If duration is not specified, the Experiment will never be marked Succeeded
ExperimentSpec
"faults" : [] glooshot.solo.io.ExperimentSpec.InjectedFault
"failureConditions" : [] glooshot.solo.io.FailureCondition
"duration" : .google.protobuf.Duration
"targetMesh" : .core.solo.io.ResourceRef
Field
Type
Description
Default
faults
[]glooshot.solo.io.ExperimentSpec.InjectedFault
the faults this experiment will inject if empty, Glooshot will run a “control” experiment with no faults injected
failureConditions
[]glooshot.solo.io.FailureCondition
conditions on which to stop the experiment and mark it as failed at least one must be specified
duration
.google.protobuf.Duration
the duration for which to run the experiment if missing or set to 0 the experiment will run indefinitely only Experiments with a timeout can succeed
targetMesh
.core.solo.io.ResourceRef
The mesh to which the experiment will be applied. Must match a mesh.supergloo.solo.io CRD. If a cluster only has a single mesh, this value is not needed, Glooshot will default to the only possible option.
InjectedFault
decribes a single fault to inject
"originServices" : [] core.solo.io.ResourceRef
"destinationServices" : [] core.solo.io.ResourceRef
"fault" : .supergloo.solo.io.FaultInjection
FailureCondition
a condition based on an observed prometheus metric
"webhookUrl" : string
"prometheusTrigger" : .glooshot.solo.io.PrometheusTrigger
Field
Type
Description
Default
webhookUrl
string
if HTTP GET returns non-200 status code, the condition was met
prometheusTrigger
.glooshot.solo.io.PrometheusTrigger
trigger a failure on observed prometheus metric
PrometheusTrigger
"customQuery" : string
"successRate" : .glooshot.solo.io.PrometheusTrigger.SuccessRateQuery
"thresholdValue" : float
"comparisonOperator" : string
Field
Type
Description
Default
customQuery
string
a user-specified query as an inline string
successRate
.glooshot.solo.io.PrometheusTrigger.SuccessRateQuery
query the success rate for a specific service
thresholdValue
float
consider the failure condition met if the metric falls below this threshold
comparisonOperator
string
the comparison operator to use when comparing the threshold and observed metric values if the comparison evaluates to true, the failure condition will be considered met possible values are ‘==’, ‘>’, ‘<‘, ‘>=’, and ‘<=’ defaults to ‘<’
SuccessRateQuery
returns the # of non-5XX requests / total requests for the given interval
"service" : .core.solo.io.ResourceRef
"interval" : .google.protobuf.Duration