mirror of https://github.com/linkerd/linkerd2.git
100 lines
3.5 KiB
Go
100 lines
3.5 KiB
Go
package profiles
|
|
|
|
// Template provides the base template for the `linkerd profile --template` command.
|
|
const Template = `### ServiceProfile for {{.ServiceName}}.{{.ServiceNamespace}} ###
|
|
apiVersion: linkerd.io/v1alpha2
|
|
kind: ServiceProfile
|
|
metadata:
|
|
name: {{.ServiceName}}.{{.ServiceNamespace}}.svc.{{.ClusterDomain}}
|
|
namespace: {{.ServiceNamespace}}
|
|
spec:
|
|
# A service profile defines a list of routes. Linkerd can aggregate metrics
|
|
# like request volume, latency, and success rate by route.
|
|
routes:
|
|
- name: '/authors/{id}'
|
|
|
|
# Each route must define a condition. All requests that match the
|
|
# condition will be counted as belonging to that route. If a request
|
|
# matches more than one route, the first match wins.
|
|
condition:
|
|
# The simplest condition is a path regular expression.
|
|
pathRegex: '/authors/\d+'
|
|
|
|
# This is a condition that checks the request method.
|
|
method: POST
|
|
|
|
# If more than one condition field is set, all of them must be satisfied.
|
|
# This is equivalent to using the 'all' condition:
|
|
# all:
|
|
# - pathRegex: '/authors/\d+'
|
|
# - method: POST
|
|
|
|
# Conditions can be combined using 'all', 'any', and 'not'.
|
|
# any:
|
|
# - all:
|
|
# - method: POST
|
|
# - pathRegex: '/authors/\d+'
|
|
# - all:
|
|
# - not:
|
|
# method: DELETE
|
|
# - pathRegex: /info.txt
|
|
|
|
# A route may be marked as retryable. This indicates that requests to this
|
|
# route are always safe to retry and will cause the proxy to retry failed
|
|
# requests on this route whenever possible.
|
|
# isRetryable: true
|
|
|
|
# A route may optionally define a list of response classes which describe
|
|
# how responses from this route will be classified.
|
|
responseClasses:
|
|
|
|
# Each response class must define a condition. All responses from this
|
|
# route that match the condition will be classified as this response class.
|
|
- condition:
|
|
# The simplest condition is a HTTP status code range.
|
|
status:
|
|
min: 500
|
|
max: 599
|
|
|
|
# Specifying only one of min or max matches just that one status code.
|
|
# status:
|
|
# min: 404 # This matches 404s only.
|
|
|
|
# Conditions can be combined using 'all', 'any', and 'not'.
|
|
# all:
|
|
# - status:
|
|
# min: 500
|
|
# max: 599
|
|
# - not:
|
|
# status:
|
|
# min: 503
|
|
|
|
# The response class defines whether responses should be counted as
|
|
# successes or failures.
|
|
isFailure: true
|
|
|
|
# A route can define a request timeout. Any requests to this route that
|
|
# exceed the timeout will be canceled. If unspecified, the default timeout
|
|
# is '10s' (ten seconds).
|
|
# timeout: 250ms
|
|
|
|
# A service profile can also define a retry budget. This specifies the
|
|
# maximum total number of retries that should be sent to this service as a
|
|
# ratio of the original request volume.
|
|
# retryBudget:
|
|
# The retryRatio is the maximum ratio of retries requests to original
|
|
# requests. A retryRatio of 0.2 means that retries may add at most an
|
|
# additional 20% to the request load.
|
|
# retryRatio: 0.2
|
|
|
|
# This is an allowance of retries per second in addition to those allowed
|
|
# by the retryRatio. This allows retries to be performed, when the request
|
|
# rate is very low.
|
|
# minRetriesPerSecond: 10
|
|
|
|
# This duration indicates for how long requests should be considered for the
|
|
# purposes of calculating the retryRatio. A higher value considers a larger
|
|
# window and therefore allows burstier retries.
|
|
# ttl: 10s
|
|
`
|