319 lines
15 KiB
YAML
319 lines
15 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: serviceresolvers.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: ServiceResolver
|
|
listKind: ServiceResolverList
|
|
plural: serviceresolvers
|
|
shortNames:
|
|
- service-resolver
|
|
singular: serviceresolver
|
|
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: ServiceResolver is the Schema for the serviceresolvers 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: ServiceResolverSpec defines the desired state of ServiceResolver.
|
|
properties:
|
|
connectTimeout:
|
|
description: ConnectTimeout is the timeout for establishing new network
|
|
connections to this service.
|
|
type: string
|
|
defaultSubset:
|
|
description: DefaultSubset is the subset to use when no explicit subset
|
|
is requested. If empty the unnamed subset is used.
|
|
type: string
|
|
failover:
|
|
additionalProperties:
|
|
properties:
|
|
datacenters:
|
|
description: Datacenters is a fixed list of datacenters to try
|
|
during failover.
|
|
items:
|
|
type: string
|
|
type: array
|
|
namespace:
|
|
description: Namespace is the namespace to resolve the requested
|
|
service from to form the failover group of instances. If empty
|
|
the current namespace is used.
|
|
type: string
|
|
service:
|
|
description: Service is the service to resolve instead of the
|
|
default as the failover group of instances during failover.
|
|
type: string
|
|
serviceSubset:
|
|
description: ServiceSubset is the named subset of the requested
|
|
service to resolve as the failover group of instances. If
|
|
empty the default subset for the requested service is used.
|
|
type: string
|
|
targets:
|
|
description: Targets specifies a fixed list of failover targets
|
|
to try during failover.
|
|
items:
|
|
properties:
|
|
datacenter:
|
|
description: Datacenter specifies the datacenter to try
|
|
during failover.
|
|
type: string
|
|
namespace:
|
|
description: Namespace specifies the namespace to try
|
|
during failover.
|
|
type: string
|
|
partition:
|
|
description: Partition specifies the partition to try
|
|
during failover.
|
|
type: string
|
|
peer:
|
|
description: Peer specifies the name of the cluster peer
|
|
to try during failover.
|
|
type: string
|
|
service:
|
|
description: Service specifies the name of the service
|
|
to try during failover.
|
|
type: string
|
|
serviceSubset:
|
|
description: ServiceSubset specifies the service subset
|
|
to try during failover.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
type: object
|
|
description: Failover controls when and how to reroute traffic to
|
|
an alternate pool of service instances. The map is keyed by the
|
|
service subset it applies to and the special string "*" is a wildcard
|
|
that applies to any subset not otherwise specified here.
|
|
type: object
|
|
loadBalancer:
|
|
description: LoadBalancer determines the load balancing policy and
|
|
configuration for services issuing requests to this upstream service.
|
|
properties:
|
|
hashPolicies:
|
|
description: HashPolicies is a list of hash policies to use for
|
|
hashing load balancing algorithms. Hash policies are evaluated
|
|
individually and combined such that identical lists result in
|
|
the same hash. If no hash policies are present, or none are
|
|
successfully evaluated, then a random backend host will be selected.
|
|
items:
|
|
properties:
|
|
cookieConfig:
|
|
description: CookieConfig contains configuration for the
|
|
"cookie" hash policy type.
|
|
properties:
|
|
path:
|
|
description: Path is the path to set for the cookie.
|
|
type: string
|
|
session:
|
|
description: Session determines whether to generate
|
|
a session cookie with no expiration.
|
|
type: boolean
|
|
ttl:
|
|
description: TTL is the ttl for generated cookies. Cannot
|
|
be specified for session cookies.
|
|
type: string
|
|
type: object
|
|
field:
|
|
description: Field is the attribute type to hash on. Must
|
|
be one of "header", "cookie", or "query_parameter". Cannot
|
|
be specified along with sourceIP.
|
|
type: string
|
|
fieldValue:
|
|
description: FieldValue is the value to hash. ie. header
|
|
name, cookie name, URL query parameter name Cannot be
|
|
specified along with sourceIP.
|
|
type: string
|
|
sourceIP:
|
|
description: SourceIP determines whether the hash should
|
|
be of the source IP rather than of a field and field value.
|
|
Cannot be specified along with field or fieldValue.
|
|
type: boolean
|
|
terminal:
|
|
description: Terminal will short circuit the computation
|
|
of the hash when multiple hash policies are present. If
|
|
a hash is computed when a Terminal policy is evaluated,
|
|
then that hash will be used and subsequent hash policies
|
|
will be ignored.
|
|
type: boolean
|
|
type: object
|
|
type: array
|
|
leastRequestConfig:
|
|
description: LeastRequestConfig contains configuration for the
|
|
"leastRequest" policy type.
|
|
properties:
|
|
choiceCount:
|
|
description: ChoiceCount determines the number of random healthy
|
|
hosts from which to select the one with the least requests.
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
policy:
|
|
description: Policy is the load balancing policy used to select
|
|
a host.
|
|
type: string
|
|
ringHashConfig:
|
|
description: RingHashConfig contains configuration for the "ringHash"
|
|
policy type.
|
|
properties:
|
|
maximumRingSize:
|
|
description: MaximumRingSize determines the maximum number
|
|
of entries in the hash ring.
|
|
format: int64
|
|
type: integer
|
|
minimumRingSize:
|
|
description: MinimumRingSize determines the minimum number
|
|
of entries in the hash ring.
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
redirect:
|
|
description: Redirect when configured, all attempts to resolve the
|
|
service this resolver defines will be substituted for the supplied
|
|
redirect EXCEPT when the redirect has already been applied. When
|
|
substituting the supplied redirect, all other fields besides Kind,
|
|
Name, and Redirect will be ignored.
|
|
properties:
|
|
datacenter:
|
|
description: Datacenter is the datacenter to resolve the service
|
|
from instead of the current one.
|
|
type: string
|
|
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
|
|
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
|
|
peer:
|
|
description: Peer is the name of the cluster peer to resolve the
|
|
service from instead of the current one.
|
|
type: string
|
|
service:
|
|
description: Service is a service to resolve instead of the current
|
|
service.
|
|
type: string
|
|
serviceSubset:
|
|
description: ServiceSubset is a named subset of the given service
|
|
to resolve instead of one defined as that service's DefaultSubset
|
|
If empty the default subset is used.
|
|
type: string
|
|
type: object
|
|
subsets:
|
|
additionalProperties:
|
|
properties:
|
|
filter:
|
|
description: Filter is the filter expression to be used for
|
|
selecting instances of the requested service. If empty all
|
|
healthy instances are returned. This expression can filter
|
|
on the same selectors as the Health API endpoint.
|
|
type: string
|
|
onlyPassing:
|
|
description: OnlyPassing specifies the behavior of the resolver's
|
|
health check interpretation. If this is set to false, instances
|
|
with checks in the passing as well as the warning states will
|
|
be considered healthy. If this is set to true, only instances
|
|
with checks in the passing state will be considered healthy.
|
|
type: boolean
|
|
type: object
|
|
description: Subsets is map of subset name to subset definition for
|
|
all usable named subsets of this service. The map key is the name
|
|
of the subset and all names must be valid DNS subdomain elements.
|
|
This may be empty, in which case only the unnamed default subset
|
|
will be usable.
|
|
type: object
|
|
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 }}
|