config/crd/bases/appmesh.k8s.aws_virtualgateways.yaml (708 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: virtualgateways.appmesh.k8s.aws
spec:
group: appmesh.k8s.aws
names:
categories:
- all
kind: VirtualGateway
listKind: VirtualGatewayList
plural: virtualgateways
singular: virtualgateway
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: The AppMesh VirtualGateway object's Amazon Resource Name
jsonPath: .status.virtualGatewayARN
name: ARN
type: string
- jsonPath: .metadata.creationTimestamp
name: AGE
type: date
name: v1beta2
schema:
openAPIV3Schema:
description: VirtualGateway is the Schema for the virtualgateways 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: VirtualGatewaySpec defines the desired state of VirtualGateway
refers to https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html
properties:
awsName:
description: AWSName is the AppMesh VirtualGateway object's name.
If unspecified or empty, it defaults to be "${name}_${namespace}"
of k8s VirtualGateway
type: string
backendDefaults:
description: A reference to an object that represents the defaults
for backend GatewayRoutes.
properties:
clientPolicy:
description: A reference to an object that represents a client
policy.
properties:
tls:
description: A reference to an object that represents a Transport
Layer Security (TLS) client policy.
properties:
certificate:
description: A reference to an object that represents
TLS certificate.
properties:
file:
description: An object that represents a TLS cert
via a local file
properties:
certificateChain:
description: The certificate chain for the certificate.
maxLength: 255
minLength: 1
type: string
privateKey:
description: The private key for a certificate
stored on the file system of the virtual Gateway.
maxLength: 255
minLength: 1
type: string
required:
- certificateChain
- privateKey
type: object
sds:
description: An object that represents a TLS cert
via SDS entry
properties:
secretName:
description: The certificate trust chain for a
certificate issued via SDS cluster
type: string
required:
- secretName
type: object
type: object
enforce:
description: Whether the policy is enforced. If unspecified,
default settings from AWS API will be applied. Refer
to AWS Docs for default settings.
type: boolean
ports:
description: The range of ports that the policy is enforced
for.
items:
format: int64
maximum: 65535
minimum: 1
type: integer
type: array
validation:
description: A reference to an object that represents
a TLS validation context.
properties:
subjectAlternativeNames:
description: Possible alternative names to consider
properties:
match:
description: Match is a required field
properties:
exact:
description: Exact is a required field
items:
type: string
type: array
required:
- exact
type: object
required:
- match
type: object
trust:
description: A reference to an object that represents
a TLS validation context trust
properties:
acm:
description: A reference to an object that represents
a TLS validation context trust for an AWS Certicate
Manager (ACM) certificate.
properties:
certificateAuthorityARNs:
description: One or more ACM Amazon Resource
Name (ARN)s.
items:
type: string
maxItems: 3
minItems: 1
type: array
required:
- certificateAuthorityARNs
type: object
file:
description: An object that represents a TLS validation
context trust for a local file.
properties:
certificateChain:
description: The certificate trust chain for
a certificate stored on the file system
of the virtual Gateway.
maxLength: 255
minLength: 1
type: string
required:
- certificateChain
type: object
sds:
description: An object that represents a TLS validation
context trust for a SDS certificate
properties:
secretName:
description: The certificate trust chain for
a certificate issued via SDS.
type: string
required:
- secretName
type: object
type: object
required:
- trust
type: object
required:
- validation
type: object
type: object
type: object
gatewayRouteSelector:
description: GatewayRouteSelector selects GatewayRoutes using labels
to designate GatewayRoute membership. If not specified it selects
all GatewayRoutes in that namespace.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that
contains values, a key, and an operator that relates the key
and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: operator represents a key's relationship to
a set of values. Valid operators are In, NotIn, Exists
and DoesNotExist.
type: string
values:
description: values is an array of string values. If the
operator is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator
is "In", and the values array contains only "value". The requirements
are ANDed.
type: object
type: object
listeners:
description: The listener that the virtual gateway is expected to
receive inbound traffic from
items:
description: VirtualGatewayListener refers to https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html
properties:
connectionPool:
description: The connection pool settings for the listener
properties:
grpc:
description: Specifies grpc connection pool settings for
the virtual gateway listener
properties:
maxRequests:
description: Represents the maximum number of inflight
requests that an envoy can concurrently support across
all the hosts in the upstream cluster
format: int64
minimum: 1
type: integer
required:
- maxRequests
type: object
http:
description: Specifies http connection pool settings for
the virtual gateway listener
properties:
maxConnections:
description: Represents the maximum number of outbound
TCP connections the envoy can establish concurrently
with all the hosts in the upstream cluster.
format: int64
minimum: 1
type: integer
maxPendingRequests:
description: Represents the number of overflowing requests
after max_connections that an envoy will queue to
an upstream cluster.
format: int64
minimum: 1
type: integer
required:
- maxConnections
type: object
http2:
description: Specifies http2 connection pool settings for
the virtual gateway listener
properties:
maxRequests:
description: Represents the maximum number of inflight
requests that an envoy can concurrently support across
all the hosts in the upstream cluster
format: int64
minimum: 1
type: integer
required:
- maxRequests
type: object
type: object
healthCheck:
description: The health check information for the listener.
properties:
healthyThreshold:
description: The number of consecutive successful health
checks that must occur before declaring listener healthy.
format: int64
maximum: 10
minimum: 2
type: integer
intervalMillis:
description: The time period in milliseconds between each
health check execution.
format: int64
maximum: 300000
minimum: 5000
type: integer
path:
description: The destination path for the health check request.
This value is only used if the specified protocol is http
or http2. For any other protocol, this value is ignored.
type: string
port:
description: The destination port for the health check request.
format: int64
maximum: 65535
minimum: 1
type: integer
protocol:
description: The protocol for the health check request
enum:
- grpc
- http
- http2
type: string
timeoutMillis:
description: The amount of time to wait when receiving a
response from the health check, in milliseconds.
format: int64
maximum: 60000
minimum: 2000
type: integer
unhealthyThreshold:
description: The number of consecutive failed health checks
that must occur before declaring a virtual Gateway unhealthy.
format: int64
maximum: 10
minimum: 2
type: integer
required:
- intervalMillis
- protocol
- timeoutMillis
- unhealthyThreshold
type: object
portMapping:
description: The port mapping information for the listener.
properties:
port:
description: The port used for the port mapping.
format: int64
maximum: 65535
minimum: 1
type: integer
protocol:
description: The protocol used for the port mapping.
enum:
- grpc
- http
- http2
type: string
required:
- port
- protocol
type: object
tls:
description: A reference to an object that represents the Transport
Layer Security (TLS) properties for a listener.
properties:
certificate:
description: A reference to an object that represents a
listener's TLS certificate.
properties:
acm:
description: A reference to an object that represents
an AWS Certificate Manager (ACM) certificate.
properties:
certificateARN:
description: The Amazon Resource Name (ARN) for
the certificate.
type: string
required:
- certificateARN
type: object
file:
description: A reference to an object that represents
a local file certificate.
properties:
certificateChain:
description: The certificate chain for the certificate.
maxLength: 255
minLength: 1
type: string
privateKey:
description: The private key for a certificate stored
on the file system of the virtual Gateway.
maxLength: 255
minLength: 1
type: string
required:
- certificateChain
- privateKey
type: object
sds:
description: A reference to an object that represents
an SDS issued certificate
properties:
secretName:
description: The certificate trust chain for a certificate
issued via SDS cluster
type: string
required:
- secretName
type: object
type: object
mode:
description: ListenerTLS mode
enum:
- DISABLED
- PERMISSIVE
- STRICT
type: string
validation:
description: A reference to an object that represents Validation
context
properties:
subjectAlternativeNames:
description: Possible alternate names to consider
properties:
match:
description: Match is a required field
properties:
exact:
description: Exact is a required field
items:
type: string
type: array
required:
- exact
type: object
required:
- match
type: object
trust:
properties:
acm:
description: A reference to an object that represents
a TLS validation context trust for an AWS Certicate
Manager (ACM) certificate.
properties:
certificateAuthorityARNs:
description: One or more ACM Amazon Resource
Name (ARN)s.
items:
type: string
maxItems: 3
minItems: 1
type: array
required:
- certificateAuthorityARNs
type: object
file:
description: An object that represents a TLS validation
context trust for a local file.
properties:
certificateChain:
description: The certificate trust chain for
a certificate stored on the file system of
the virtual Gateway.
maxLength: 255
minLength: 1
type: string
required:
- certificateChain
type: object
sds:
description: An object that represents a TLS validation
context trust for an SDS system
properties:
secretName:
description: The certificate trust chain for
a certificate issued via SDS.
type: string
required:
- secretName
type: object
type: object
required:
- trust
type: object
required:
- certificate
- mode
type: object
required:
- portMapping
type: object
minItems: 0
type: array
logging:
description: The inbound and outbound access logging information for
the virtual gateway.
properties:
accessLog:
description: The access log configuration for a virtual Gateway.
properties:
file:
description: The file object to send virtual gateway access
logs to.
properties:
format:
description: Structured access log output format
properties:
json:
description: Output specified fields as a JSON object
items:
properties:
key:
description: The name of the field in the JSON
object
minLength: 1
type: string
value:
description: The format string
minLength: 1
type: string
required:
- key
- value
type: object
type: array
text:
description: Custom format string
type: string
type: object
path:
description: The file path to write access logs to.
maxLength: 255
minLength: 1
type: string
required:
- path
type: object
type: object
type: object
meshRef:
description: "A reference to k8s Mesh CR that this VirtualGateway
belongs to. The admission controller populates it using Meshes's
selector, and prevents users from setting this field. \n Populated
by the system. Read-only."
properties:
name:
description: Name is the name of Mesh CR
type: string
uid:
description: UID is the UID of Mesh CR
type: string
required:
- name
- uid
type: object
namespaceSelector:
description: NamespaceSelector selects Namespaces using labels to
designate GatewayRoute membership. This field follows standard label
selector semantics; if present but empty, it selects all namespaces.
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that
contains values, a key, and an operator that relates the key
and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: operator represents a key's relationship to
a set of values. Valid operators are In, NotIn, Exists
and DoesNotExist.
type: string
values:
description: values is an array of string values. If the
operator is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator
is "In", and the values array contains only "value". The requirements
are ANDed.
type: object
type: object
podSelector:
description: "PodSelector selects Pods using labels to designate VirtualGateway
membership. This field follows standard label selector semantics:
\tif present but empty, it selects all pods within namespace. \tif
absent, it selects no pod."
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that
contains values, a key, and an operator that relates the key
and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: operator represents a key's relationship to
a set of values. Valid operators are In, NotIn, Exists
and DoesNotExist.
type: string
values:
description: values is an array of string values. If the
operator is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator
is "In", and the values array contains only "value". The requirements
are ANDed.
type: object
type: object
type: object
status:
description: VirtualGatewayStatus defines the observed state of VirtualGateway
properties:
conditions:
description: The current VirtualGateway status.
items:
properties:
lastTransitionTime:
description: 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 VirtualGateway condition.
type: string
required:
- status
- type
type: object
type: array
observedGeneration:
description: The generation observed by the VirtualGateway controller.
format: int64
type: integer
virtualGatewayARN:
description: VirtualGatewayARN is the AppMesh VirtualGateway object's
Amazon Resource Name
type: string
type: object
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []