You are browsing documentation for an older version. See the latest documentation here.
Custom Resource Definitions API Reference
Packages
gateway-operator.konghq.com/v1alpha1
Package v1alpha1 contains API Schema definitions for the operator v1alpha1 API group
ControlPlane
ControlPlane is the Schema for the controlplanes API
Field | Description |
---|---|
apiVersion string
|
gateway-operator.konghq.com/v1alpha1 |
kind string
|
ControlPlane |
metadata ObjectMeta
|
Refer to Kubernetes API documentation for fields of metadata . |
spec ControlPlaneSpec
|
GatewayConfiguration
GatewayConfiguration is the Schema for the gatewayconfigurations API
Field | Description |
---|---|
apiVersion string
|
gateway-operator.konghq.com/v1alpha1 |
kind string
|
GatewayConfiguration |
metadata ObjectMeta
|
Refer to Kubernetes API documentation for fields of metadata . |
spec GatewayConfigurationSpec
|
ControlPlaneOptions
ControlPlaneOptions indicates the specific information needed to deploy and connect a ControlPlane to a DataPlane object.
Field | Description |
---|---|
deployment DeploymentOptions
|
|
dataplane string
|
DataPlanes refers to the named DataPlane objects which this ControlPlane is responsible for. Currently they must be in the same namespace as the Dataplane. |
Appears in:
ControlPlaneSpec
ControlPlaneSpec defines the desired state of ControlPlane
Field | Description |
---|---|
deployment DeploymentOptions
|
|
dataplane string
|
DataPlanes refers to the named DataPlane objects which this ControlPlane is responsible for. Currently they must be in the same namespace as the Dataplane. |
gatewayClass ObjectName
|
GatewayClass indicates the Gateway resources which this ControlPlane should be responsible for configuring routes for (e.g. HTTPRoute, TCPRoute, UDPRoute, TLSRoute, e.t.c.). Required for the ControlPlane to have any effect: at least one Gateway must be present for configuration to be pushed to the data-plane and only Gateway resources can be used to identify data-plane entities. |
ingressClass string
|
IngressClass enables support for the older Ingress resource and indicates which Ingress resources this ControlPlane should be responsible for. Routing configured this way will be applied to the Gateway resources indicated by GatewayClass. If omitted, Ingress resources will not be supported by the ControlPlane. |
Appears in:
DeploymentOptions
DeploymentOptions is a shared type used on objects to indicate that their configuration results in a Deployment which is managed by the Operator and includes options for managing Deployments such as the the number of replicas or pod options like container image and resource requirements. version, as well as Env variable overrides.
Field | Description |
---|---|
replicas integer
|
Replicas describes the number of desired pods. This is a pointer to distinguish between explicit zero and not specified. This only affects the DataPlane deployments for now, for more details on ControlPlane scaling please see https://github.com/Kong/gateway-operator/issues/736. |
podTemplateSpec PodTemplateSpec
|
PodTemplateSpec defines PodTemplateSpec for Deployment’s pods. |
Appears in:
GatewayConfigurationSpec
GatewayConfigurationSpec defines the desired state of GatewayConfiguration
Field | Description |
---|---|
dataPlaneOptions DataPlaneOptions
|
DataPlaneOptions is the specification for configuration overrides for DataPlane resources that will be created for the Gateway. |
controlPlaneOptions ControlPlaneOptions
|
ControlPlaneOptions is the specification for configuration overrides for ControlPlane resources that will be created for the Gateway. |
Appears in:
gateway-operator.konghq.com/v1beta1
Package v1beta1 contains API Schema definitions for the gateway-operator.konghq.com v1beta1 API group
DataPlane
DataPlane is the Schema for the dataplanes API
Field | Description |
---|---|
apiVersion string
|
gateway-operator.konghq.com/v1beta1 |
kind string
|
DataPlane |
metadata ObjectMeta
|
Refer to Kubernetes API documentation for fields of metadata . |
spec DataPlaneSpec
|
Address
Address describes an address which can be either an IP address or a hostname.
Field | Description |
---|---|
type AddressType
|
Type of the address. |
value string
|
Value of the address. The validity of the values will depend on the type and support by the controller. Examples: 1.2.3.4 , 128::1 , my-ip-address . |
sourceType AddressSourceType
|
Source type of the address. |
Appears in:
AddressSourceType
Underlying type: string
AddressSourceType defines the type of source this address represents. Can be one of:
PublicLoadBalancer
PrivateLoadBalancer
PublicIP
PrivateIP
Appears in:
AddressType
Underlying type: string
AddressType defines how a network address is represented as a text string. Can be one of:
IPAddress
Hostname
Appears in:
BlueGreenStrategy
BlueGreenStrategy defines the Blue Green deployment strategy.
Field | Description |
---|---|
promotion Promotion
|
Promotion defines how the operator handles promotion of resources. |
resources RolloutResources
|
Resources controls what happens to operator managed resources during or after a rollout. |
Appears in:
DataPlaneDeploymentOptions
DataPlaneDeploymentOptions specifies options for the Deployments (as in the Kubernetes resource “Deployment”) which are created and managed for the DataPlane resource.
Field | Description |
---|---|
rollout Rollout
|
Rollout describes a custom rollout strategy. |
replicas integer
|
Replicas describes the number of desired pods. This is a pointer to distinguish between explicit zero and not specified. This only affects the DataPlane deployments for now, for more details on ControlPlane scaling please see https://github.com/Kong/gateway-operator/issues/736. |
podTemplateSpec PodTemplateSpec
|
PodTemplateSpec defines PodTemplateSpec for Deployment’s pods. It’s being applied on top of the generated Deployments using StrategicMergePatch. |
Appears in:
DataPlaneNetworkOptions
DataPlaneNetworkOptions defines network related options for a DataPlane.
Field | Description |
---|---|
services DataPlaneServices
|
Services indicates the configuration of Kubernetes Services needed for the topology of various forms of traffic (including ingress, e.t.c.) to and from the DataPlane. |
Appears in:
DataPlaneOptions
DataPlaneOptions defines the information specifically needed to deploy the DataPlane.
Field | Description |
---|---|
deployment DataPlaneDeploymentOptions
|
|
network DataPlaneNetworkOptions
|
Appears in:
DataPlaneRolloutStatus
DataPlaneRolloutStatus describes the DataPlane rollout status.
Field | Description |
---|---|
services DataPlaneRolloutStatusServices
|
Services contain the information about the services which are available through which user can access the preview deployment. |
deployment DataPlaneRolloutStatusDeployment
|
Deployment contains the information about the preview deployment. |
conditions Condition array
|
Conditions contains the status conditions about the rollout. |
Appears in:
DataPlaneRolloutStatusDeployment
DataPlaneRolloutStatusDeployment is a rollout status field which contains fields specific for Deployments during the rollout.
Field | Description |
---|---|
selector string
|
Selector is a stable label selector value assigned to a DataPlane rollout status which is used throughout the rollout as a deterministic labels selector for Services and Deployments. |
Appears in:
DataPlaneRolloutStatusServices
DataPlaneRolloutStatusServices describes the status of the services during DataPlane rollout.
Field | Description |
---|---|
ingress RolloutStatusService
|
Ingress contains the name and the address of the preview service for ingress. Using this service users can send requests that will hit the preview deployment. |
adminAPI RolloutStatusService
|
AdminAPI contains the name and the address of the preview service for Admin API. Using this service users can send requests to configure the DataPlane’s preview deployment. |
Appears in:
DataPlaneServices
DataPlaneServices contains Services related DataPlane configuration.
Field | Description |
---|---|
ingress ServiceOptions
|
Ingress is the Kubernetes Service that will be used to expose ingress traffic for the DataPlane. Here you can determine whether the DataPlane will be exposed outside the cluster (e.g. using a LoadBalancer type Services) or only internally (e.g. ClusterIP), and inject any additional annotations you need on the service (for instance, if you need to influence a cloud provider LoadBalancer configuration). |
Appears in:
DataPlaneSpec
DataPlaneSpec defines the desired state of DataPlane
Field | Description |
---|---|
deployment DataPlaneDeploymentOptions
|
|
network DataPlaneNetworkOptions
|
Appears in:
DeploymentOptions
DeploymentOptions is a shared type used on objects to indicate that their configuration results in a Deployment which is managed by the Operator and includes options for managing Deployments such as the number of replicas or pod options like container image and resource requirements. version, as well as Env variable overrides.
Field | Description |
---|---|
replicas integer
|
Replicas describes the number of desired pods. This is a pointer to distinguish between explicit zero and not specified. This only affects the DataPlane deployments for now, for more details on ControlPlane scaling please see https://github.com/Kong/gateway-operator/issues/736. |
podTemplateSpec PodTemplateSpec
|
PodTemplateSpec defines PodTemplateSpec for Deployment’s pods. It’s being applied on top of the generated Deployments using StrategicMergePatch. |
Appears in:
Promotion
Promotion is a type that contains fields that define how the operator handles promotion of resources during a blue/green rollout.
Field | Description |
---|---|
strategy PromotionStrategy
|
Strategy indicates how you want the operator to handle the promotion of the preview (green) resources (Deployments and Services) after all workflows and tests succeed, OR if you even want it to break before performing the promotion to allow manual inspection. |
Appears in:
PromotionStrategy
Underlying type: string
PromotionStrategy is the type of promotion strategy consts. Allowed values:
-
BreakBeforePromotion
is a promotion strategy which will ensure all new resources are ready and then break, to enable manual inspection. The user must indicate manually when they want the promotion to continue. That can be done by annotating theDataPlane
object with"gateway-operator.konghq.com/promote-when-ready": "true"
.
Appears in:
Rollout
Rollout defines options for rollouts.
Field | Description |
---|---|
strategy RolloutStrategy
|
Strategy contains the deployment strategy for rollout. |
Appears in:
RolloutResourcePlan
RolloutResourcePlan is a type that holds rollout resource plan related fields which control how the operator handles resources during and after a rollout.
Field | Description |
---|---|
deployment RolloutResourcePlanDeployment
|
Deployment describes how the operator manages Deployments during and after a rollout. |
Appears in:
RolloutResourcePlanDeployment
Underlying type: string
RolloutResourcePlanDeployment is the type that holds the resource plan for managing the Deployment objects during and after a rollout. Allowed values:
-
ScaleDownOnPromotionScaleUpOnRollout
is a rollout resource plan for Deployment which makes the operator scale down the Deployment to 0 when the rollout is not initiated by a spec change and then to scale it up when the rollout is initiated (the owner resource like a DataPlane is patched or updated).
Appears in:
RolloutResources
RolloutResources is the type which contains the fields which control how the operator manages the resources it manages during or after the rollout concludes.
Field | Description |
---|---|
plan RolloutResourcePlan
|
Plan defines the resource plan for managing resources during and after a rollout. |
Appears in:
RolloutStatusService
RolloutStatusService is a struct which contains status information about services that are exposed as part of the rollout.
Field | Description |
---|---|
name string
|
Name indicates the name of the service. |
addresses Address array
|
Addresses contains the addresses of a Service. |
Appears in:
RolloutStrategy
RolloutStrategy holds the rollout strategy options.
Field | Description |
---|---|
blueGreen BlueGreenStrategy
|
BlueGreen holds the options specific for Blue Green Deployments. |
Appears in:
ServiceOptions
ServiceOptions is used to includes options to customize the ingress service, such as the annotations.
Field | Description |
---|---|
type ServiceType
|
Type determines how the Service is exposed. Defaults to LoadBalancer . Valid options are LoadBalancer and ClusterIP . ClusterIP allocates a cluster-internal IP address for load-balancing to endpoints. LoadBalancer builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types |
annotations object (keys:string, values:string)
|
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations |
Appears in: