317 lines
16 KiB
YAML
317 lines
16 KiB
YAML
{{- if .Values.connectInject.enabled }}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.8.0
|
|
creationTimestamp: null
|
|
name: servicerouters.consul.hashicorp.com
|
|
labels:
|
|
app: {{ template "consul.name" . }}
|
|
chart: {{ template "consul.chart" . }}
|
|
heritage: {{ .Release.Service }}
|
|
release: {{ .Release.Name }}
|
|
component: crd
|
|
spec:
|
|
group: consul.hashicorp.com
|
|
names:
|
|
kind: ServiceRouter
|
|
listKind: ServiceRouterList
|
|
plural: servicerouters
|
|
shortNames:
|
|
- service-router
|
|
singular: servicerouter
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: The sync status of the resource with Consul
|
|
jsonPath: .status.conditions[?(@.type=="Synced")].status
|
|
name: Synced
|
|
type: string
|
|
- description: The last successful synced time of the resource with Consul
|
|
jsonPath: .status.lastSyncedTime
|
|
name: Last Synced
|
|
type: date
|
|
- description: The age of the resource
|
|
jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ServiceRouter is the Schema for the servicerouters API
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation
|
|
of an object. Servers should convert recognized schemas to the latest
|
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this
|
|
object represents. Servers may infer this from the endpoint the client
|
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: ServiceRouterSpec defines the desired state of ServiceRouter.
|
|
properties:
|
|
routes:
|
|
description: Routes are the list of routes to consider when processing
|
|
L7 requests. The first route to match in the list is terminal and
|
|
stops further evaluation. Traffic that fails to match any of the
|
|
provided routes will be routed to the default service.
|
|
items:
|
|
properties:
|
|
destination:
|
|
description: Destination controls how to proxy the matching
|
|
request(s) to a service.
|
|
properties:
|
|
namespace:
|
|
description: Namespace is the Consul namespace to resolve
|
|
the service from instead of the current namespace. If
|
|
empty the current namespace is assumed.
|
|
type: string
|
|
numRetries:
|
|
description: NumRetries is the number of times to retry
|
|
the request when a retryable result occurs
|
|
format: int32
|
|
type: integer
|
|
partition:
|
|
description: Partition is the Consul partition to resolve
|
|
the service from instead of the current partition. If
|
|
empty the current partition is assumed.
|
|
type: string
|
|
prefixRewrite:
|
|
description: PrefixRewrite defines how to rewrite the HTTP
|
|
request path before proxying it to its final destination.
|
|
This requires that either match.http.pathPrefix or match.http.pathExact
|
|
be configured on this route.
|
|
type: string
|
|
requestHeaders:
|
|
description: Allow HTTP header manipulation to be configured.
|
|
properties:
|
|
add:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add is a set of name -> value pairs that
|
|
should be appended to the request or response (i.e.
|
|
allowing duplicates if the same header already exists).
|
|
type: object
|
|
remove:
|
|
description: Remove is the set of header names that
|
|
should be stripped from the request or response.
|
|
items:
|
|
type: string
|
|
type: array
|
|
set:
|
|
additionalProperties:
|
|
type: string
|
|
description: Set is a set of name -> value pairs that
|
|
should be added to the request or response, overwriting
|
|
any existing header values of the same name.
|
|
type: object
|
|
type: object
|
|
requestTimeout:
|
|
description: RequestTimeout is the total amount of time
|
|
permitted for the entire downstream request (and retries)
|
|
to be processed.
|
|
type: string
|
|
responseHeaders:
|
|
description: HTTPHeaderModifiers is a set of rules for HTTP
|
|
header modification that should be performed by proxies
|
|
as the request passes through them. It can operate on
|
|
either request or response headers depending on the context
|
|
in which it is used.
|
|
properties:
|
|
add:
|
|
additionalProperties:
|
|
type: string
|
|
description: Add is a set of name -> value pairs that
|
|
should be appended to the request or response (i.e.
|
|
allowing duplicates if the same header already exists).
|
|
type: object
|
|
remove:
|
|
description: Remove is the set of header names that
|
|
should be stripped from the request or response.
|
|
items:
|
|
type: string
|
|
type: array
|
|
set:
|
|
additionalProperties:
|
|
type: string
|
|
description: Set is a set of name -> value pairs that
|
|
should be added to the request or response, overwriting
|
|
any existing header values of the same name.
|
|
type: object
|
|
type: object
|
|
retryOnConnectFailure:
|
|
description: RetryOnConnectFailure allows for connection
|
|
failure errors to trigger a retry.
|
|
type: boolean
|
|
retryOnStatusCodes:
|
|
description: RetryOnStatusCodes is a flat list of http response
|
|
status codes that are eligible for retry.
|
|
items:
|
|
format: int32
|
|
type: integer
|
|
type: array
|
|
service:
|
|
description: Service is the service to resolve instead of
|
|
the default service. If empty then the default service
|
|
name is used.
|
|
type: string
|
|
serviceSubset:
|
|
description: ServiceSubset is a named subset of the given
|
|
service to resolve instead of the one defined as that
|
|
service's DefaultSubset. If empty, the default subset
|
|
is used.
|
|
type: string
|
|
type: object
|
|
match:
|
|
description: Match is a set of criteria that can match incoming
|
|
L7 requests. If empty or omitted it acts as a catch-all.
|
|
properties:
|
|
http:
|
|
description: HTTP is a set of http-specific match criteria.
|
|
properties:
|
|
header:
|
|
description: Header is a set of criteria that can match
|
|
on HTTP request headers. If more than one is configured
|
|
all must match for the overall match to apply.
|
|
items:
|
|
properties:
|
|
exact:
|
|
description: Exact will match if the header with
|
|
the given name is this value.
|
|
type: string
|
|
invert:
|
|
description: Invert inverts the logic of the match.
|
|
type: boolean
|
|
name:
|
|
description: Name is the name of the header to
|
|
match.
|
|
type: string
|
|
prefix:
|
|
description: Prefix will match if the header with
|
|
the given name has this prefix.
|
|
type: string
|
|
present:
|
|
description: Present will match if the header
|
|
with the given name is present with any value.
|
|
type: boolean
|
|
regex:
|
|
description: Regex will match if the header with
|
|
the given name matches this pattern.
|
|
type: string
|
|
suffix:
|
|
description: Suffix will match if the header with
|
|
the given name has this suffix.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
methods:
|
|
description: Methods is a list of HTTP methods for which
|
|
this match applies. If unspecified all http methods
|
|
are matched.
|
|
items:
|
|
type: string
|
|
type: array
|
|
pathExact:
|
|
description: PathExact is an exact path to match on
|
|
the HTTP request path.
|
|
type: string
|
|
pathPrefix:
|
|
description: PathPrefix is a path prefix to match on
|
|
the HTTP request path.
|
|
type: string
|
|
pathRegex:
|
|
description: PathRegex is a regular expression to match
|
|
on the HTTP request path.
|
|
type: string
|
|
queryParam:
|
|
description: QueryParam is a set of criteria that can
|
|
match on HTTP query parameters. If more than one is
|
|
configured all must match for the overall match to
|
|
apply.
|
|
items:
|
|
properties:
|
|
exact:
|
|
description: Exact will match if the query parameter
|
|
with the given name is this value.
|
|
type: string
|
|
name:
|
|
description: Name is the name of the query parameter
|
|
to match on.
|
|
type: string
|
|
present:
|
|
description: Present will match if the query parameter
|
|
with the given name is present with any value.
|
|
type: boolean
|
|
regex:
|
|
description: Regex will match if the query parameter
|
|
with the given name matches this pattern.
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: array
|
|
type: object
|
|
status:
|
|
properties:
|
|
conditions:
|
|
description: Conditions indicate the latest available observations
|
|
of a resource's current state.
|
|
items:
|
|
description: 'Conditions define a readiness condition for a Consul
|
|
resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
|
|
properties:
|
|
lastTransitionTime:
|
|
description: LastTransitionTime is the last time the condition
|
|
transitioned from one status to another.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: A human readable message indicating details about
|
|
the transition.
|
|
type: string
|
|
reason:
|
|
description: The reason for the condition's last transition.
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False, Unknown.
|
|
type: string
|
|
type:
|
|
description: Type of condition.
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
lastSyncedTime:
|
|
description: LastSyncedTime is the last time the resource successfully
|
|
synced with Consul.
|
|
format: date-time
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|
|
{{- end }}
|