{{- 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 }}