mirror of
https://github.com/bitnami/charts.git
synced 2026-03-13 14:57:24 +08:00
* [bitnami/contour] Sync CRDs with contour release 1.20.1 Signed-off-by: lou-lan <loulan@loulan.me> * [bitnami/contour] Update components versions Signed-off-by: Bitnami Containers <containers@bitnami.com> Co-authored-by: Bitnami Containers <containers@bitnami.com>
399 lines
23 KiB
YAML
399 lines
23 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.6.2
|
|
name: extensionservices.projectcontour.io
|
|
spec:
|
|
preserveUnknownFields: false
|
|
group: projectcontour.io
|
|
names:
|
|
kind: ExtensionService
|
|
listKind: ExtensionServiceList
|
|
plural: extensionservices
|
|
shortNames:
|
|
- extensionservice
|
|
- extensionservices
|
|
singular: extensionservice
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ExtensionService is the schema for the Contour extension services
|
|
API. An ExtensionService resource binds a network service to the Contour
|
|
API so that Contour API features can be implemented by collaborating components.
|
|
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: ExtensionServiceSpec defines the desired state of an ExtensionService
|
|
resource.
|
|
properties:
|
|
loadBalancerPolicy:
|
|
description: The policy for load balancing GRPC service requests.
|
|
Note that the `Cookie` and `RequestHash` load balancing strategies
|
|
cannot be used here.
|
|
properties:
|
|
requestHashPolicies:
|
|
description: RequestHashPolicies contains a list of hash policies
|
|
to apply when the `RequestHash` load balancing strategy is chosen.
|
|
If an element of the supplied list of hash policies is invalid,
|
|
it will be ignored. If the list of hash policies is empty after
|
|
validation, the load balancing strategy will fall back the the
|
|
default `RoundRobin`.
|
|
items:
|
|
description: RequestHashPolicy contains configuration for an
|
|
individual hash policy on a request attribute.
|
|
properties:
|
|
hashSourceIP:
|
|
description: HashSourceIP should be set to true when request
|
|
source IP hash based load balancing is desired. It must
|
|
be the only hash option field set, otherwise this request
|
|
hash policy object will be ignored.
|
|
type: boolean
|
|
headerHashOptions:
|
|
description: HeaderHashOptions should be set when request
|
|
header hash based load balancing is desired. It must be
|
|
the only hash option field set, otherwise this request
|
|
hash policy object will be ignored.
|
|
properties:
|
|
headerName:
|
|
description: HeaderName is the name of the HTTP request
|
|
header that will be used to calculate the hash key.
|
|
If the header specified is not present on a request,
|
|
no hash will be produced.
|
|
minLength: 1
|
|
type: string
|
|
type: object
|
|
terminal:
|
|
description: Terminal is a flag that allows for short-circuiting
|
|
computing of a hash for a given request. If set to true,
|
|
and the request attribute specified in the attribute hash
|
|
options is present, no further hash policies will be used
|
|
to calculate a hash for the request.
|
|
type: boolean
|
|
type: object
|
|
type: array
|
|
strategy:
|
|
description: Strategy specifies the policy used to balance requests
|
|
across the pool of backend pods. Valid policy names are `Random`,
|
|
`RoundRobin`, `WeightedLeastRequest`, `Cookie`, and `RequestHash`.
|
|
If an unknown strategy name is specified or no policy is supplied,
|
|
the default `RoundRobin` policy is used.
|
|
type: string
|
|
type: object
|
|
protocol:
|
|
description: Protocol may be used to specify (or override) the protocol
|
|
used to reach this Service. Values may be h2 or h2c. If omitted,
|
|
protocol-selection falls back on Service annotations.
|
|
enum:
|
|
- h2
|
|
- h2c
|
|
type: string
|
|
protocolVersion:
|
|
description: This field sets the version of the GRPC protocol that
|
|
Envoy uses to send requests to the extension service. Since Contour
|
|
always uses the v3 Envoy API, this is currently fixed at "v3". However,
|
|
other protocol options will be available in future.
|
|
enum:
|
|
- v3
|
|
type: string
|
|
services:
|
|
description: Services specifies the set of Kubernetes Service resources
|
|
that receive GRPC extension API requests. If no weights are specified
|
|
for any of the entries in this array, traffic will be spread evenly
|
|
across all the services. Otherwise, traffic is balanced proportionally
|
|
to the Weight field in each entry.
|
|
items:
|
|
description: ExtensionServiceTarget defines an Kubernetes Service
|
|
to target with extension service traffic.
|
|
properties:
|
|
name:
|
|
description: Name is the name of Kubernetes service that will
|
|
accept service traffic.
|
|
type: string
|
|
port:
|
|
description: Port (defined as Integer) to proxy traffic to since
|
|
a service can have multiple defined.
|
|
exclusiveMaximum: true
|
|
maximum: 65536
|
|
minimum: 1
|
|
type: integer
|
|
weight:
|
|
description: Weight defines proportion of traffic to balance
|
|
to the Kubernetes Service.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- name
|
|
- port
|
|
type: object
|
|
minItems: 1
|
|
type: array
|
|
timeoutPolicy:
|
|
description: The timeout policy for requests to the services.
|
|
properties:
|
|
idle:
|
|
description: Timeout for how long the proxy should wait while
|
|
there is no activity during single request/response (for HTTP/1.1)
|
|
or stream (for HTTP/2). Timeout will not trigger while HTTP/1.1
|
|
connection is idle between two consecutive requests. If not
|
|
specified, there is no per-route idle timeout, though a connection
|
|
manager-wide stream_idle_timeout default of 5m still applies.
|
|
pattern: ^(((\d*(\.\d*)?h)|(\d*(\.\d*)?m)|(\d*(\.\d*)?s)|(\d*(\.\d*)?ms)|(\d*(\.\d*)?us)|(\d*(\.\d*)?µs)|(\d*(\.\d*)?ns))+|infinity|infinite)$
|
|
type: string
|
|
response:
|
|
description: Timeout for receiving a response from the server
|
|
after processing a request from client. If not supplied, Envoy's
|
|
default value of 15s applies.
|
|
pattern: ^(((\d*(\.\d*)?h)|(\d*(\.\d*)?m)|(\d*(\.\d*)?s)|(\d*(\.\d*)?ms)|(\d*(\.\d*)?us)|(\d*(\.\d*)?µs)|(\d*(\.\d*)?ns))+|infinity|infinite)$
|
|
type: string
|
|
type: object
|
|
validation:
|
|
description: UpstreamValidation defines how to verify the backend
|
|
service's certificate
|
|
properties:
|
|
caSecret:
|
|
description: Name or namespaced name of the Kubernetes secret
|
|
used to validate the certificate presented by the backend
|
|
type: string
|
|
subjectName:
|
|
description: Key which is expected to be present in the 'subjectAltName'
|
|
of the presented certificate
|
|
type: string
|
|
required:
|
|
- caSecret
|
|
- subjectName
|
|
type: object
|
|
required:
|
|
- services
|
|
type: object
|
|
status:
|
|
description: ExtensionServiceStatus defines the observed state of an ExtensionService
|
|
resource.
|
|
properties:
|
|
conditions:
|
|
description: "Conditions contains the current status of the ExtensionService
|
|
resource. \n Contour will update a single condition, `Valid`, that
|
|
is in normal-true polarity. \n Contour will not modify any other
|
|
Conditions set in this block, in case some other controller wants
|
|
to add a Condition."
|
|
items:
|
|
description: "DetailedCondition is an extension of the normal Kubernetes
|
|
conditions, with two extra fields to hold sub-conditions, which
|
|
provide more detailed reasons for the state (True or False) of
|
|
the condition. \n `errors` holds information about sub-conditions
|
|
which are fatal to that condition and render its state False.
|
|
\n `warnings` holds information about sub-conditions which are
|
|
not fatal to that condition and do not force the state to be False.
|
|
\n Remember that Conditions have a type, a status, and a reason.
|
|
\n The type is the type of the condition, the most important one
|
|
in this CRD set is `Valid`. `Valid` is a positive-polarity condition:
|
|
when it is `status: true` there are no problems. \n In more detail,
|
|
`status: true` means that the object is has been ingested into
|
|
Contour with no errors. `warnings` may still be present, and will
|
|
be indicated in the Reason field. There must be zero entries in
|
|
the `errors` slice in this case. \n `Valid`, `status: false` means
|
|
that the object has had one or more fatal errors during processing
|
|
into Contour. The details of the errors will be present under
|
|
the `errors` field. There must be at least one error in the `errors`
|
|
slice if `status` is `false`. \n For DetailedConditions of types
|
|
other than `Valid`, the Condition must be in the negative polarity.
|
|
When they have `status` `true`, there is an error. There must
|
|
be at least one entry in the `errors` Subcondition slice. When
|
|
they have `status` `false`, there are no serious errors, and there
|
|
must be zero entries in the `errors` slice. In either case, there
|
|
may be entries in the `warnings` slice. \n Regardless of the polarity,
|
|
the `reason` and `message` fields must be updated with either
|
|
the detail of the reason (if there is one and only one entry in
|
|
total across both the `errors` and `warnings` slices), or `MultipleReasons`
|
|
if there is more than one entry."
|
|
properties:
|
|
errors:
|
|
description: "Errors contains a slice of relevant error subconditions
|
|
for this object. \n Subconditions are expected to appear when
|
|
relevant (when there is a error), and disappear when not relevant.
|
|
An empty slice here indicates no errors."
|
|
items:
|
|
description: "SubCondition is a Condition-like type intended
|
|
for use as a subcondition inside a DetailedCondition. \n
|
|
It contains a subset of the Condition fields. \n It is intended
|
|
for warnings and errors, so `type` names should use abnormal-true
|
|
polarity, that is, they should be of the form \"ErrorPresent:
|
|
true\". \n The expected lifecycle for these errors is that
|
|
they should only be present when the error or warning is,
|
|
and should be removed when they are not relevant."
|
|
properties:
|
|
message:
|
|
description: "Message is a human readable message indicating
|
|
details about the transition. \n This may be an empty
|
|
string."
|
|
maxLength: 32768
|
|
type: string
|
|
reason:
|
|
description: "Reason contains a programmatic identifier
|
|
indicating the reason for the condition's last transition.
|
|
Producers of specific condition types may define expected
|
|
values and meanings for this field, and whether the
|
|
values are considered a guaranteed API. \n The value
|
|
should be a CamelCase string. \n This field may not
|
|
be empty."
|
|
maxLength: 1024
|
|
minLength: 1
|
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False,
|
|
Unknown.
|
|
enum:
|
|
- "True"
|
|
- "False"
|
|
- Unknown
|
|
type: string
|
|
type:
|
|
description: "Type of condition in `CamelCase` or in `foo.example.com/CamelCase`.
|
|
\n This must be in abnormal-true polarity, that is,
|
|
`ErrorFound` or `controller.io/ErrorFound`. \n The regex
|
|
it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)"
|
|
maxLength: 316
|
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
|
type: string
|
|
required:
|
|
- message
|
|
- reason
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
lastTransitionTime:
|
|
description: lastTransitionTime is the last time the condition
|
|
transitioned from one status to another. This should be when
|
|
the underlying condition changed. If that is not known, then
|
|
using the time when the API field changed is acceptable.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: message is a human readable message indicating
|
|
details about the transition. This may be an empty string.
|
|
maxLength: 32768
|
|
type: string
|
|
observedGeneration:
|
|
description: observedGeneration represents the .metadata.generation
|
|
that the condition was set based upon. For instance, if .metadata.generation
|
|
is currently 12, but the .status.conditions[x].observedGeneration
|
|
is 9, the condition is out of date with respect to the current
|
|
state of the instance.
|
|
format: int64
|
|
minimum: 0
|
|
type: integer
|
|
reason:
|
|
description: reason contains a programmatic identifier indicating
|
|
the reason for the condition's last transition. Producers
|
|
of specific condition types may define expected values and
|
|
meanings for this field, and whether the values are considered
|
|
a guaranteed API. The value should be a CamelCase string.
|
|
This field may not be empty.
|
|
maxLength: 1024
|
|
minLength: 1
|
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
|
type: string
|
|
status:
|
|
description: status of the condition, one of True, False, Unknown.
|
|
enum:
|
|
- "True"
|
|
- "False"
|
|
- Unknown
|
|
type: string
|
|
type:
|
|
description: type of condition in CamelCase or in foo.example.com/CamelCase.
|
|
--- Many .condition.type values are consistent across resources
|
|
like Available, but because arbitrary conditions can be useful
|
|
(see .node.status.conditions), the ability to deconflict is
|
|
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
|
|
maxLength: 316
|
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
|
type: string
|
|
warnings:
|
|
description: "Warnings contains a slice of relevant warning
|
|
subconditions for this object. \n Subconditions are expected
|
|
to appear when relevant (when there is a warning), and disappear
|
|
when not relevant. An empty slice here indicates no warnings."
|
|
items:
|
|
description: "SubCondition is a Condition-like type intended
|
|
for use as a subcondition inside a DetailedCondition. \n
|
|
It contains a subset of the Condition fields. \n It is intended
|
|
for warnings and errors, so `type` names should use abnormal-true
|
|
polarity, that is, they should be of the form \"ErrorPresent:
|
|
true\". \n The expected lifecycle for these errors is that
|
|
they should only be present when the error or warning is,
|
|
and should be removed when they are not relevant."
|
|
properties:
|
|
message:
|
|
description: "Message is a human readable message indicating
|
|
details about the transition. \n This may be an empty
|
|
string."
|
|
maxLength: 32768
|
|
type: string
|
|
reason:
|
|
description: "Reason contains a programmatic identifier
|
|
indicating the reason for the condition's last transition.
|
|
Producers of specific condition types may define expected
|
|
values and meanings for this field, and whether the
|
|
values are considered a guaranteed API. \n The value
|
|
should be a CamelCase string. \n This field may not
|
|
be empty."
|
|
maxLength: 1024
|
|
minLength: 1
|
|
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
|
|
type: string
|
|
status:
|
|
description: Status of the condition, one of True, False,
|
|
Unknown.
|
|
enum:
|
|
- "True"
|
|
- "False"
|
|
- Unknown
|
|
type: string
|
|
type:
|
|
description: "Type of condition in `CamelCase` or in `foo.example.com/CamelCase`.
|
|
\n This must be in abnormal-true polarity, that is,
|
|
`ErrorFound` or `controller.io/ErrorFound`. \n The regex
|
|
it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)"
|
|
maxLength: 316
|
|
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
|
|
type: string
|
|
required:
|
|
- message
|
|
- reason
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
required:
|
|
- lastTransitionTime
|
|
- message
|
|
- reason
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
x-kubernetes-list-map-keys:
|
|
- type
|
|
x-kubernetes-list-type: map
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {} |