From f4ba3f044f1df66c93bfea982705f7c35c671f64 Mon Sep 17 00:00:00 2001 From: Fawad Khaliq Date: Fri, 6 Nov 2020 17:30:37 +0000 Subject: [PATCH] Update API docs with outlier detection and connection pools --- docs/reference/api_spec.md | 2336 ++++++++++++++++++++---------------- hack/api-docs/README.md | 11 +- 2 files changed, 1315 insertions(+), 1032 deletions(-) diff --git a/docs/reference/api_spec.md b/docs/reference/api_spec.md index e9e219d0..ec45323f 100644 --- a/docs/reference/api_spec.md +++ b/docs/reference/api_spec.md @@ -9,931 +9,7 @@

Package v1beta2 contains API Schema definitions for the appmesh v1beta2 API group

Resource Types: - -

GatewayRoute -

-

-

GatewayRoute is the Schema for the gatewayroutes API

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldDescription
-apiVersion
-string
- -appmesh.k8s.aws/v1beta2 - -
-kind
-string -
GatewayRoute
-metadata
- - -Kubernetes meta/v1.ObjectMeta - - -
-Refer to the Kubernetes API documentation for the fields of the -metadata field. -
-spec
- - -GatewayRouteSpec - - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
-awsName
- -string - -
-(Optional) -

AWSName is the AppMesh GatewayRoute object’s name. -If unspecified or empty, it defaults to be “${name}_${namespace}” of k8s GatewayRoute

-
-grpcRoute
- - -GRPCGatewayRoute - - -
-(Optional) -

An object that represents the specification of a gRPC gatewayRoute.

-
-httpRoute
- - -HTTPGatewayRoute - - -
-(Optional) -

An object that represents the specification of an HTTP gatewayRoute.

-
-http2Route
- - -HTTPGatewayRoute - - -
-(Optional) -

An object that represents the specification of an HTTP/2 gatewayRoute.

-
-virtualGatewayRef
- - -VirtualGatewayReference - - -
-(Optional) -

A reference to k8s VirtualGateway CR that this GatewayRoute belongs to. -The admission controller populates it using VirtualGateway’s selector, and prevents users from setting this field.

-

Populated by the system. -Read-only.

-
-meshRef
- - -MeshReference - - -
-(Optional) -

A reference to k8s Mesh CR that this GatewayRoute belongs to. -The admission controller populates it using Meshes’s selector, and prevents users from setting this field.

-

Populated by the system. -Read-only.

-
-
-status
- - -GatewayRouteStatus - - -
-
-

Mesh -

-

-

Mesh is the Schema for the meshes API

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldDescription
-apiVersion
-string
- -appmesh.k8s.aws/v1beta2 - -
-kind
-string -
Mesh
-metadata
- - -Kubernetes meta/v1.ObjectMeta - - -
-Refer to the Kubernetes API documentation for the fields of the -metadata field. -
-spec
- - -MeshSpec - - -
-
-
- - - - - - - - - - - - - - - - - -
-awsName
- -string - -
-(Optional) -

AWSName is the AppMesh Mesh object’s name. -If unspecified or empty, it defaults to be “${name}” of k8s Mesh

-
-namespaceSelector
- - -Kubernetes meta/v1.LabelSelector - - -
-(Optional) -

NamespaceSelector selects Namespaces using labels to designate mesh membership. -This field follows standard label selector semantics: -if present but empty, it selects all namespaces. -if absent, it selects no namespace.

-
-egressFilter
- - -EgressFilter - - -
-(Optional) -

The egress filter rules for the service mesh. -If unspecified, default settings from AWS API will be applied. Refer to AWS Docs for default settings.

-
-meshOwner
- -string - -
-(Optional) -

The AWS IAM account ID of the service mesh owner. -Required if the account ID is not your own.

-
-
-status
- - -MeshStatus - - -
-
-

VirtualGateway -

-

-

VirtualGateway is the Schema for the virtualgateways API

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldDescription
-apiVersion
-string
- -appmesh.k8s.aws/v1beta2 - -
-kind
-string -
VirtualGateway
-metadata
- - -Kubernetes meta/v1.ObjectMeta - - -
-Refer to the Kubernetes API documentation for the fields of the -metadata field. -
-spec
- - -VirtualGatewaySpec - - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-awsName
- -string - -
-(Optional) -

AWSName is the AppMesh VirtualGateway object’s name. -If unspecified or empty, it defaults to be “${name}_${namespace}” of k8s VirtualGateway

-
-namespaceSelector
- - -Kubernetes meta/v1.LabelSelector - - -
-(Optional) -

NamespaceSelector selects Namespaces using labels to designate GatewayRoute membership. -This field follows standard label selector semantics; if present but empty, it selects all namespaces.

-
-podSelector
- - -Kubernetes meta/v1.LabelSelector - - -
-(Optional) -

PodSelector selects Pods using labels to designate VirtualGateway membership. -This field follows standard label selector semantics: -if present but empty, it selects all pods within namespace. -if absent, it selects no pod.

-
-listeners
- - -[]VirtualGatewayListener - - -
-

The listener that the virtual gateway is expected to receive inbound traffic from

-
-logging
- - -VirtualGatewayLogging - - -
-(Optional) -

The inbound and outbound access logging information for the virtual gateway.

-
-backendDefaults
- - -VirtualGatewayBackendDefaults - - -
-(Optional) -

A reference to an object that represents the defaults for backend GatewayRoutes.

-
-meshRef
- - -MeshReference - - -
-(Optional) -

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.

-

Populated by the system. -Read-only.

-
-
-status
- - -VirtualGatewayStatus - - -
-
-

VirtualNode -

-

-

VirtualNode is the Schema for the virtualnodes API

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldDescription
-apiVersion
-string
- -appmesh.k8s.aws/v1beta2 - -
-kind
-string -
VirtualNode
-metadata
- - -Kubernetes meta/v1.ObjectMeta - - -
-Refer to the Kubernetes API documentation for the fields of the -metadata field. -
-spec
- - -VirtualNodeSpec - - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-awsName
- -string - -
-(Optional) -

AWSName is the AppMesh VirtualNode object’s name. -If unspecified or empty, it defaults to be “${name}_${namespace}” of k8s VirtualNode

-
-podSelector
- - -Kubernetes meta/v1.LabelSelector - - -
-(Optional) -

PodSelector selects Pods using labels to designate VirtualNode membership. -This field follows standard label selector semantics: -if present but empty, it selects all pods within namespace. -if absent, it selects no pod.

-
-listeners
- - -[]Listener - - -
-(Optional) -

The listener that the virtual node is expected to receive inbound traffic from

-
-serviceDiscovery
- - -ServiceDiscovery - - -
-(Optional) -

The service discovery information for the virtual node.

-
-backends
- - -[]Backend - - -
-(Optional) -

The backends that the virtual node is expected to send outbound traffic to.

-
-backendDefaults
- - -BackendDefaults - - -
-(Optional) -

A reference to an object that represents the defaults for backends.

-
-logging
- - -Logging - - -
-(Optional) -

The inbound and outbound access logging information for the virtual node.

-
-meshRef
- - -MeshReference - - -
-(Optional) -

A reference to k8s Mesh CR that this VirtualNode belongs to. -The admission controller populates it using Meshes’s selector, and prevents users from setting this field.

-

Populated by the system. -Read-only.

-
-
-status
- - -VirtualNodeStatus - - -
-
-

VirtualRouter -

-

-

VirtualRouter is the Schema for the virtualrouters API

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldDescription
-apiVersion
-string
- -appmesh.k8s.aws/v1beta2 - -
-kind
-string -
VirtualRouter
-metadata
- - -Kubernetes meta/v1.ObjectMeta - - -
-Refer to the Kubernetes API documentation for the fields of the -metadata field. -
-spec
- - -VirtualRouterSpec - - -
-
-
- - - - - - - - - - - - - - - - - -
-awsName
- -string - -
-(Optional) -

AWSName is the AppMesh VirtualRouter object’s name. -If unspecified or empty, it defaults to be “${name}_${namespace}” of k8s VirtualRouter

-
-listeners
- - -[]VirtualRouterListener - - -
-

The listeners that the virtual router is expected to receive inbound traffic from

-
-routes
- - -[]Route - - -
-(Optional) -

The routes associated with VirtualRouter

-
-meshRef
- - -MeshReference - - -
-(Optional) -

A reference to k8s Mesh CR that this VirtualRouter belongs to. -The admission controller populates it using Meshes’s selector, and prevents users from setting this field.

-

Populated by the system. -Read-only.

-
-
-status
- - -VirtualRouterStatus - - -
-
-

VirtualService -

-

-

VirtualService is the Schema for the virtualservices API

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldDescription
-apiVersion
-string
- -appmesh.k8s.aws/v1beta2 - -
-kind
-string -
VirtualService
-metadata
- - -Kubernetes meta/v1.ObjectMeta - - -
-Refer to the Kubernetes API documentation for the fields of the -metadata field. -
-spec
- - -VirtualServiceSpec - - -
-
-
- - - - - - - - - - - - - -
-awsName
- -string - -
-(Optional) -

AWSName is the AppMesh VirtualService object’s name. -If unspecified or empty, it defaults to be “${name}.${namespace}” of k8s VirtualService

-
-provider
- - -VirtualServiceProvider - - -
-(Optional) -

The provider for virtual services. You can specify a single virtual node or virtual router.

-
-meshRef
- - -MeshReference - - -
-(Optional) -

A reference to k8s Mesh CR that this VirtualService belongs to. -The admission controller populates it using Meshes’s selector, and prevents users from setting this field.

-

Populated by the system. -Read-only.

-
-
-status
- - -VirtualServiceStatus - - -
-
+

AWSCloudMapInstanceAttribute

@@ -1259,6 +335,7 @@ string GRPCTimeout, HTTPRetryPolicy, HTTPTimeout, +OutlierDetection, TCPTimeout)

@@ -1326,33 +403,63 @@ int64 type
- -EgressFilterType - + +EgressFilterType + + + + +

The egress filter type.

+ + + + +

EgressFilterType +(string alias)

+

+(Appears on: +EgressFilter) +

+

+

+

FileAccessLog +

+

+(Appears on: +AccessLog) +

+

+

FileAccessLog refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_FileAccessLog.html

+

+ + + + + + + + + +
FieldDescription
+path
+ +string
-

The egress filter type.

+

The file path to write access logs to.

-

EgressFilterType -(string alias)

-

-(Appears on: -EgressFilter) -

-

-

-

FileAccessLog +

GRPCConnectionPool

(Appears on: -AccessLog) +VirtualGatewayConnectionPool, +VirtualNodeConnectionPool)

-

FileAccessLog refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_FileAccessLog.html

@@ -1364,13 +471,14 @@ EgressFilterType @@ -1919,6 +1027,152 @@ Duration
-path
+maxRequests
-string +int64
-

The file path to write access logs to.

+

Represents the maximum number of inflight requests that an envoy +can concurrently support across all the hosts in the upstream cluster

+

GatewayRoute +

+

+

GatewayRoute is the Schema for the gatewayroutes API

+

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +GatewayRouteSpec + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+awsName
+ +string + +
+(Optional) +

AWSName is the AppMesh GatewayRoute object’s name. +If unspecified or empty, it defaults to be “${name}_${namespace}” of k8s GatewayRoute

+
+grpcRoute
+ + +GRPCGatewayRoute + + +
+(Optional) +

An object that represents the specification of a gRPC gatewayRoute.

+
+httpRoute
+ + +HTTPGatewayRoute + + +
+(Optional) +

An object that represents the specification of an HTTP gatewayRoute.

+
+http2Route
+ + +HTTPGatewayRoute + + +
+(Optional) +

An object that represents the specification of an HTTP/2 gatewayRoute.

+
+virtualGatewayRef
+ + +VirtualGatewayReference + + +
+(Optional) +

A reference to k8s VirtualGateway CR that this GatewayRoute belongs to. +The admission controller populates it using VirtualGateway’s selector, and prevents users from setting this field.

+

Populated by the system. +Read-only.

+
+meshRef
+ + +MeshReference + + +
+(Optional) +

A reference to k8s Mesh CR that this GatewayRoute belongs to. +The admission controller populates it using Meshes’s selector, and prevents users from setting this field.

+

Populated by the system. +Read-only.

+
+
+status
+ + +GatewayRouteStatus + + +
+

GatewayRouteCondition

@@ -2118,14 +1372,104 @@ Read-only.

-

GatewayRouteStatus +

GatewayRouteStatus +

+

+(Appears on: +GatewayRoute) +

+

+

GatewayRouteStatus defines the observed state of GatewayRoute

+

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+gatewayRouteARN
+ +string + +
+(Optional) +

GatewayRouteARN is the AppMesh GatewayRoute object’s Amazon Resource Name

+
+conditions
+ + +[]GatewayRouteCondition + + +
+(Optional) +

The current GatewayRoute status.

+
+observedGeneration
+ +int64 + +
+(Optional) +

The generation observed by the GatewayRoute controller.

+
+

GatewayRouteTarget +

+

+(Appears on: +GRPCGatewayRouteAction, +HTTPGatewayRouteAction) +

+

+

GatewayRouteTarget refers to https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html

+

+ + + + + + + + + + + + + +
FieldDescription
+virtualService
+ + +GatewayRouteVirtualService + + +
+

The virtual service to associate with the gateway route target.

+
+

GatewayRouteVirtualService

(Appears on: -GatewayRoute) +GatewayRouteTarget)

-

GatewayRouteStatus defines the observed state of GatewayRoute

+

GatewayRouteVirtualService refers to https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html

@@ -2137,53 +1481,40 @@ Read-only.

- - - -
-gatewayRouteARN
- -string - -
-(Optional) -

GatewayRouteARN is the AppMesh GatewayRoute object’s Amazon Resource Name

-
-conditions
+virtualServiceRef
- -[]GatewayRouteCondition + +VirtualServiceReference
(Optional) -

The current GatewayRoute status.

+

Reference to Kubernetes VirtualService CR in cluster to associate with the gateway route virtual service target. Exactly one of ‘virtualServiceRef’ or ‘virtualServiceARN’ must be specified.

-observedGeneration
+virtualServiceARN
-int64 +string
(Optional) -

The generation observed by the GatewayRoute controller.

+

Amazon Resource Name to AppMesh VirtualService object to associate with the gateway route virtual service target. Exactly one of ‘virtualServiceRef’ or ‘virtualServiceARN’ must be specified.

-

GatewayRouteTarget +

HTTP2ConnectionPool

(Appears on: -GRPCGatewayRouteAction, -HTTPGatewayRouteAction) +VirtualGatewayConnectionPool, +VirtualNodeConnectionPool)

-

GatewayRouteTarget refers to https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html

@@ -2195,27 +1526,26 @@ int64
-virtualService
+maxRequests
- -GatewayRouteVirtualService - +int64
-

The virtual service to associate with the gateway route target.

+

Represents the maximum number of inflight requests that an envoy +can concurrently support across all the hosts in the upstream cluster

-

GatewayRouteVirtualService +

HTTPConnectionPool

(Appears on: -GatewayRouteTarget) +VirtualGatewayConnectionPool, +VirtualNodeConnectionPool)

-

GatewayRouteVirtualService refers to https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html

@@ -2227,28 +1557,27 @@ GatewayRouteVirtualService @@ -2944,6 +2273,34 @@ HealthCheckPolicy + + + + + + + +
-virtualServiceRef
+maxConnections
- -VirtualServiceReference - +int64
-(Optional) -

Reference to Kubernetes VirtualService CR in cluster to associate with the gateway route virtual service target. Exactly one of ‘virtualServiceRef’ or ‘virtualServiceARN’ must be specified.

+

Represents the maximum number of outbound TCP connections +the envoy can establish concurrently with all the hosts in the upstream cluster.

-virtualServiceARN
+maxPendingRequests
-string +int64
(Optional) -

Amazon Resource Name to AppMesh VirtualService object to associate with the gateway route virtual service target. Exactly one of ‘virtualServiceRef’ or ‘virtualServiceARN’ must be specified.

+

Represents the number of overflowing requests after max_connections +that an envoy will queue to an upstream cluster.

+outlierDetection
+ + +OutlierDetection + + +
+(Optional) +

The outlier detection for the listener

+
+connectionPool
+ + +VirtualNodeConnectionPool + + +
+(Optional) +

The connection pool settings for the listener

+
tls
@@ -3294,6 +2651,121 @@ int64
+

Mesh +

+

+

Mesh is the Schema for the meshes API

+

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +MeshSpec + + +
+
+
+ + + + + + + + + + + + + + + + + +
+awsName
+ +string + +
+(Optional) +

AWSName is the AppMesh Mesh object’s name. +If unspecified or empty, it defaults to be “${name}” of k8s Mesh

+
+namespaceSelector
+ + +Kubernetes meta/v1.LabelSelector + + +
+(Optional) +

NamespaceSelector selects Namespaces using labels to designate mesh membership. +This field follows standard label selector semantics: +if present but empty, it selects all namespaces. +if absent, it selects no namespace.

+
+egressFilter
+ + +EgressFilter + + +
+(Optional) +

The egress filter rules for the service mesh. +If unspecified, default settings from AWS API will be applied. Refer to AWS Docs for default settings.

+
+meshOwner
+ +string + +
+(Optional) +

The AWS IAM account ID of the service mesh owner. +Required if the account ID is not your own.

+
+
+status
+ + +MeshStatus + + +
+

MeshCondition

@@ -3532,34 +3004,105 @@ string -(Optional) -

MeshARN is the AppMesh Mesh object’s Amazon Resource Name

+(Optional) +

MeshARN is the AppMesh Mesh object’s Amazon Resource Name

+ + + + +conditions
+ + +[]MeshCondition + + + + +(Optional) +

The current Mesh status.

+ + + + +observedGeneration
+ +int64 + + + +(Optional) +

The generation observed by the Mesh controller.

+ + + + +

OutlierDetection +

+

+(Appears on: +Listener) +

+

+

OutlierDetection defines the health check policy that temporarily ejects an endpoint/host of a VirtualNode +from the load balancing set when it meets failure threshold

+

+ + + + + + + + + + + + + + + @@ -3777,6 +3320,36 @@ DNSServiceDiscovery
FieldDescription
+maxServerErrors
+ +int64 + +
+

The threshold for the number of server errors returned by a given host during an outlier detection interval. +If the server error count meets/exceeds this threshold the host is ejected. +A server error is defined as any HTTP 5xx response (or the equivalent for gRPC and TCP connections)

+
+interval
+ + +Duration + + +
+

The time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service

-conditions
+baseEjectionDuration
- -[]MeshCondition + +Duration
-(Optional) -

The current Mesh status.

+

The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected

-observedGeneration
+maxEjectionPercent
int64
-(Optional) -

The generation observed by the Mesh controller.

+

The threshold for the max percentage of outlier hosts that can be ejected from the load balancing set. +maxEjectionPercent=100 means outlier detection can potentially eject all of the hosts from the upstream service if they are all considered outliers, leaving the load balancing set with zero hosts

+

TCPConnectionPool +

+

+(Appears on: +VirtualNodeConnectionPool) +

+

+

+ + + + + + + + + + + + + +
FieldDescription
+maxConnections
+ +int64 + +
+

Represents the maximum number of outbound TCP connections +the envoy can establish concurrently with all the hosts in the upstream cluster.

+

TCPRetryPolicyEvent (string alias)

@@ -4036,6 +3609,166 @@ TLSValidationContextFileTrust +

VirtualGateway +

+

+

VirtualGateway is the Schema for the virtualgateways API

+

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +VirtualGatewaySpec + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+awsName
+ +string + +
+(Optional) +

AWSName is the AppMesh VirtualGateway object’s name. +If unspecified or empty, it defaults to be “${name}_${namespace}” of k8s VirtualGateway

+
+namespaceSelector
+ + +Kubernetes meta/v1.LabelSelector + + +
+(Optional) +

NamespaceSelector selects Namespaces using labels to designate GatewayRoute membership. +This field follows standard label selector semantics; if present but empty, it selects all namespaces.

+
+podSelector
+ + +Kubernetes meta/v1.LabelSelector + + +
+(Optional) +

PodSelector selects Pods using labels to designate VirtualGateway membership. +This field follows standard label selector semantics: +if present but empty, it selects all pods within namespace. +if absent, it selects no pod.

+
+listeners
+ + +[]VirtualGatewayListener + + +
+

The listener that the virtual gateway is expected to receive inbound traffic from

+
+logging
+ + +VirtualGatewayLogging + + +
+(Optional) +

The inbound and outbound access logging information for the virtual gateway.

+
+backendDefaults
+ + +VirtualGatewayBackendDefaults + + +
+(Optional) +

A reference to an object that represents the defaults for backend GatewayRoutes.

+
+meshRef
+ + +MeshReference + + +
+(Optional) +

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.

+

Populated by the system. +Read-only.

+
+
+status
+ + +VirtualGatewayStatus + + +
+

VirtualGatewayAccessLog

@@ -4271,19 +4004,83 @@ string (Optional) -

A human readable message indicating details about the transition.

+

A human readable message indicating details about the transition.

+ + + + +

VirtualGatewayConditionType +(string alias)

+

+(Appears on: +VirtualGatewayCondition) +

+

+

+

VirtualGatewayConnectionPool +

+

+(Appears on: +VirtualGatewayListener) +

+

+

VirtualGatewayConnectionPool refers to the connection pools settings for Virtual Gateway. +Connection pool limits the number of connections that an Envoy can concurrently establish with +all the hosts in the upstream cluster. Currently connection pool is supported only at the listener +level and it is intended protect your local application from being overwhelmed with connections.

+

+ + + + + + + + + + + + + + + + + + +
FieldDescription
+http
+ + +HTTPConnectionPool + + +
+(Optional) +

Specifies http connection pool settings for the virtual gateway listener

+
+http2
+ + +HTTP2ConnectionPool + + +
+(Optional) +

Specifies http2 connection pool settings for the virtual gateway listener

+
+grpc
+ + +GRPCConnectionPool + + +
+(Optional) +

Specifies grpc connection pool settings for the virtual gateway listener

-

VirtualGatewayConditionType -(string alias)

-

-(Appears on: -VirtualGatewayCondition) -

-

-

VirtualGatewayFileAccessLog

@@ -4464,6 +4261,20 @@ VirtualGatewayHealthCheckPolicy +connectionPool
+ + +VirtualGatewayConnectionPool + + + + +(Optional) +

The connection pool settings for the listener

+ + + + tls
@@ -5109,6 +4920,181 @@ VirtualGatewayTLSValidationContextFileTrust +

VirtualNode +

+

+

VirtualNode is the Schema for the virtualnodes API

+

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +VirtualNodeSpec + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+awsName
+ +string + +
+(Optional) +

AWSName is the AppMesh VirtualNode object’s name. +If unspecified or empty, it defaults to be “${name}_${namespace}” of k8s VirtualNode

+
+podSelector
+ + +Kubernetes meta/v1.LabelSelector + + +
+(Optional) +

PodSelector selects Pods using labels to designate VirtualNode membership. +This field follows standard label selector semantics: +if present but empty, it selects all pods within namespace. +if absent, it selects no pod.

+
+listeners
+ + +[]Listener + + +
+(Optional) +

The listener that the virtual node is expected to receive inbound traffic from

+
+serviceDiscovery
+ + +ServiceDiscovery + + +
+(Optional) +

The service discovery information for the virtual node. Optional if there is no +inbound traffic(no listeners). Mandatory if a listener is specified.

+
+backends
+ + +[]Backend + + +
+(Optional) +

The backends that the virtual node is expected to send outbound traffic to.

+
+backendDefaults
+ + +BackendDefaults + + +
+(Optional) +

A reference to an object that represents the defaults for backends.

+
+logging
+ + +Logging + + +
+(Optional) +

The inbound and outbound access logging information for the virtual node.

+
+meshRef
+ + +MeshReference + + +
+(Optional) +

A reference to k8s Mesh CR that this VirtualNode belongs to. +The admission controller populates it using Meshes’s selector, and prevents users from setting this field.

+

Populated by the system. +Read-only.

+
+
+status
+ + +VirtualNodeStatus + + +
+

VirtualNodeCondition

@@ -5140,65 +5126,143 @@ VirtualNodeConditionType -status
+status
+ +
+Kubernetes core/v1.ConditionStatus + + + + +

Status of the condition, one of True, False, Unknown.

+ + + + +lastTransitionTime
+ + +Kubernetes meta/v1.Time + + + + +(Optional) +

Last time the condition transitioned from one status to another.

+ + + + +reason
+ +string + + + +(Optional) +

The reason for the condition’s last transition.

+ + + + +message
+ +string + + + +(Optional) +

A human readable message indicating details about the transition.

+ + + + +

VirtualNodeConditionType +(string alias)

+

+(Appears on: +VirtualNodeCondition) +

+

+

+

VirtualNodeConnectionPool +

+

+(Appears on: +Listener) +

+

+

VirtualNodeConnectionPool refers to the connection pools settings for Virtual Node. +Connection pool limits the number of connections that an Envoy can concurrently establish with +all the hosts in the upstream cluster. Currently connection pool is supported only at the listener +level and it is intended protect your local application from being overwhelmed with connections.

+

+ + + + + + + + + +
FieldDescription
+tcp
- -Kubernetes core/v1.ConditionStatus + +TCPConnectionPool
-

Status of the condition, one of True, False, Unknown.

+(Optional) +

Specifies tcp connection pool settings for the virtual node listener

-lastTransitionTime
+http
- -Kubernetes meta/v1.Time + +HTTPConnectionPool
(Optional) -

Last time the condition transitioned from one status to another.

+

Specifies http connection pool settings for the virtual node listener

-reason
+http2
-string + +HTTP2ConnectionPool +
(Optional) -

The reason for the condition’s last transition.

+

Specifies http2 connection pool settings for the virtual node listener

-message
+grpc
-string + +GRPCConnectionPool +
(Optional) -

A human readable message indicating details about the transition.

+

Specifies grpc connection pool settings for the virtual node listener

-

VirtualNodeConditionType -(string alias)

-

-(Appears on: -VirtualNodeCondition) -

-

-

VirtualNodeReference

@@ -5361,7 +5425,8 @@ ServiceDiscovery (Optional) -

The service discovery information for the virtual node.

+

The service discovery information for the virtual node. Optional if there is no +inbound traffic(no listeners). Mandatory if a listener is specified.

@@ -5482,6 +5547,120 @@ int64 +

VirtualRouter +

+

+

VirtualRouter is the Schema for the virtualrouters API

+

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +VirtualRouterSpec + + +
+
+
+ + + + + + + + + + + + + + + + + +
+awsName
+ +string + +
+(Optional) +

AWSName is the AppMesh VirtualRouter object’s name. +If unspecified or empty, it defaults to be “${name}_${namespace}” of k8s VirtualRouter

+
+listeners
+ + +[]VirtualRouterListener + + +
+

The listeners that the virtual router is expected to receive inbound traffic from

+
+routes
+ + +[]Route + + +
+(Optional) +

The routes associated with VirtualRouter

+
+meshRef
+ + +MeshReference + + +
+(Optional) +

A reference to k8s Mesh CR that this VirtualRouter belongs to. +The admission controller populates it using Meshes’s selector, and prevents users from setting this field.

+

Populated by the system. +Read-only.

+
+
+status
+ + +VirtualRouterStatus + + +
+

VirtualRouterCondition

@@ -5838,6 +6017,107 @@ int64 +

VirtualService +

+

+

VirtualService is the Schema for the virtualservices API

+

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +VirtualServiceSpec + + +
+
+
+ + + + + + + + + + + + + +
+awsName
+ +string + +
+(Optional) +

AWSName is the AppMesh VirtualService object’s name. +If unspecified or empty, it defaults to be “${name}.${namespace}” of k8s VirtualService

+
+provider
+ + +VirtualServiceProvider + + +
+(Optional) +

The provider for virtual services. You can specify a single virtual node or virtual router.

+
+meshRef
+ + +MeshReference + + +
+(Optional) +

A reference to k8s Mesh CR that this VirtualService belongs to. +The admission controller populates it using Meshes’s selector, and prevents users from setting this field.

+

Populated by the system. +Read-only.

+
+
+status
+ + +VirtualServiceStatus + + +
+

VirtualServiceBackend

diff --git a/hack/api-docs/README.md b/hack/api-docs/README.md index e12d4736..c151254d 100644 --- a/hack/api-docs/README.md +++ b/hack/api-docs/README.md @@ -1,24 +1,27 @@ Follow below instructions to generate docs -1. create a doc.go under apis/appmesh/v1beta2/ with below contents +1. Setup the [gen-crd-api-reference-docs](https://github.com/ahmetb/gen-crd-api-reference-docs/) tool +The tool does not support kubebuilder v2 so we need to add manual hooks to generate the docs + +2. Create a doc.go under apis/appmesh/v1beta2/ with below contentseifjc ``` // Package v1beta2 contains API Schema definitions for the appmesh v1beta2 API group // +kubebuilder:object:generate=true // +groupName=appmesh.k8s.aws package v1beta2 ``` -2. add `// +genclient` to CRD object type declarations(VirtualNode/Mesh/etc) with a blank line before other comments. e.g. +3. Add `// +genclient` to CRD object type declarations(VirtualNode/Mesh/etc) with a blank line before other comments. e.g. ``` // +genclient // // +kubebuilder:object:root=true ``` -3. generate doc with below commend +4. Generate API docs with command below ``` gen-crd-api-reference-docs \ -template-dir=hack/api-docs/template/ \ -config=hack/api-docs/config.json \ -api-dir=github.com/aws/aws-app-mesh-controller-for-k8s/apis/appmesh/v1beta2 \ -out-file docs/reference/api_spec.md -``` \ No newline at end of file +```