v1alpha1

package
v1.6.1-0...-f207c0f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 28, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the konnect.konghq.com v1alpha1 API group. +kubebuilder:object:generate=true +groupName=konnect.konghq.com

Index

Constants

View Source
const (
	// KonnectEntityProgrammedConditionType is the condition that
	// indicates whether the entity has been programmed in Konnect.
	KonnectEntityProgrammedConditionType = "Programmed"

	// KonnectEntityProgrammedReasonProgrammed is the reason for the Programmed condition.
	// It is set when the entity has been programmed in Konnect.
	KonnectEntityProgrammedReasonProgrammed = "Programmed"
	// KonnectEntityProgrammedReasonKonnectAPIOpFailed is the reason for the Programmed condition.
	// It is set when the entity has failed to be programmed in Konnect.
	KonnectEntityProgrammedReasonKonnectAPIOpFailed = "KonnectAPIOpFailed"
	// KonnectEntityProgrammedReasonFailedToResolveConsumerGroupRefs is the reason for the Programmed condition.
	// It is set when one or more KongConsumerGroup references could not be resolved.
	KonnectEntityProgrammedReasonFailedToResolveConsumerGroupRefs = "FailedToResolveConsumerGroupRefs"
	// KonnectEntityProgrammedReasonFailedToReconcileConsumerGroupsWithKonnect is the reason for the Programmed condition.
	// It is set when one or more KongConsumerGroup references could not be reconciled with Konnect.
	KonnectEntityProgrammedReasonFailedToReconcileConsumerGroupsWithKonnect = "FailedToReconcileConsumerGroupsWithKonnect"
	// KonnectEntityProgrammedReasonConditionWithStatusFalseExists is the reason for the Programmed condition.
	// It is set when there's at least one status condition (not Programmed) with status false.
	KonnectEntityProgrammedReasonConditionWithStatusFalseExists = "ConditionWithStatusFalseExists"

	// KonnectGatewayControlPlaneProgrammedReasonFailedToSetControlPlaneGroupMembers is the reason for the Programmed
	// condition. It is set when the control plane
	// group members could not be set.
	KonnectGatewayControlPlaneProgrammedReasonFailedToSetControlPlaneGroupMembers = "FailedToSetControlPlaneGroupMembers"
)
View Source
const (
	// KonnectEntityAPIAuthConfigurationResolvedRefConditionType is the type of the
	// condition that indicates whether the APIAuth configuration reference is
	// valid and points to an existing APIAuth configuration.
	KonnectEntityAPIAuthConfigurationResolvedRefConditionType = "APIAuthResolvedRef"

	// KonnectEntityAPIAuthConfigurationResolvedRefReasonResolvedRef is the reason
	// used with the APIAuthResolvedRef condition type indicating that the APIAuth
	// configuration reference has been resolved.
	KonnectEntityAPIAuthConfigurationResolvedRefReasonResolvedRef = "ResolvedRef"
	// KonnectEntityAPIAuthConfigurationResolvedRefReasonRefNotFound is the reason
	// used with the APIAuthResolvedRef condition type indicating that the APIAuth
	// configuration reference could not be resolved.
	KonnectEntityAPIAuthConfigurationResolvedRefReasonRefNotFound = "RefNotFound"
	// KonnectEntityAPIAuthConfigurationResolvedRefReasonRefInvalid is the reason
	// used with the APIAuthResolvedRef condition type indicating that the APIAuth
	// configuration reference is invalid and could not be resolved.
	// Condition message can contain more information about the error.
	KonnectEntityAPIAuthConfigurationResolvedRefReasonRefInvalid = "RefInvalid"
)
View Source
const (
	// KonnectEntityAPIAuthConfigurationValidConditionType is the type of the
	// condition that indicates whether the referenced APIAuth configuration is
	// valid.
	KonnectEntityAPIAuthConfigurationValidConditionType = "APIAuthValid"

	// KonnectEntityAPIAuthConfigurationReasonValid is the reason used with the
	// APIAuthRefValid condition type indicating that the APIAuth configuration
	// referenced by the entity is valid.
	KonnectEntityAPIAuthConfigurationReasonValid = "Valid"
	// KonnectEntityAPIAuthConfigurationReasonInvalid is the reason used with the
	// APIAuthRefValid condition type indicating that the APIAuth configuration
	// referenced by the entity is invalid.
	KonnectEntityAPIAuthConfigurationReasonInvalid = "Invalid"
)
View Source
const (
	// ControlPlaneRefValidConditionType is the type of the condition that indicates
	// whether the ControlPlane reference is valid and points to an existing
	// ControlPlane.
	ControlPlaneRefValidConditionType = "ControlPlaneRefValid"

	// ControlPlaneRefReasonValid is the reason used with the ControlPlaneRefValid
	// condition type indicating that the ControlPlane reference is valid.
	ControlPlaneRefReasonValid = "Valid"
	// ControlPlaneRefReasonInvalid is the reason used with the ControlPlaneRefValid
	// condition type indicating that the ControlPlane reference is invalid.
	ControlPlaneRefReasonInvalid = "Invalid"
)
View Source
const (
	// KongServiceRefValidConditionType is the type of the condition that indicates
	// whether the KongService reference is valid and points to an existing
	// KongService.
	KongServiceRefValidConditionType = "KongServiceRefValid"

	// KongServiceRefReasonValid is the reason used with the KongServiceRefValid
	// condition type indicating that the KongService reference is valid.
	KongServiceRefReasonValid = "Valid"
	// KongServiceRefReasonInvalid is the reason used with the KongServiceRefValid
	// condition type indicating that the KongService reference is invalid.
	KongServiceRefReasonInvalid = "Invalid"
)
View Source
const (
	// KongConsumerRefValidConditionType is the type of the condition that indicates
	// whether the KongConsumer reference is valid and points to an existing
	// KongConsumer.
	KongConsumerRefValidConditionType = "KongConsumerRefValid"

	// KongConsumerRefReasonValid is the reason used with the KongConsumerRefValid
	// condition type indicating that the KongConsumer reference is valid.
	KongConsumerRefReasonValid = "Valid"
	// KongConsumerRefReasonInvalid is the reason used with the KongConsumerRefValid
	// condition type indicating that the KongConsumer reference is invalid.
	KongConsumerRefReasonInvalid = "Invalid"
)
View Source
const (
	// KongConsumerGroupRefsValidConditionType is the type of the condition that indicates
	// whether the KongConsumerGroups referenced by the entity are valid and all point to
	// existing KongConsumerGroups.
	KongConsumerGroupRefsValidConditionType = "KongConsumerGroupRefsValid"

	// KongConsumerGroupRefsReasonValid is the reason used with the KongConsumerGroupRefsValid
	// condition type indicating that all KongConsumerGroup references are valid.
	KongConsumerGroupRefsReasonValid = "Valid"
	// KongConsumerGroupRefsReasonInvalid is the reason used with the KongConsumerGroupRefsValid
	// condition type indicating that one or more KongConsumerGroup references are invalid.
	KongConsumerGroupRefsReasonInvalid = "Invalid"
)
View Source
const (
	// KongUpstreamRefValidConditionType is the type of the condition that indicates
	// whether the KongUpstream reference is valid and points to an existing KongUpstream.
	KongUpstreamRefValidConditionType = "KongUpstreamRefValid"

	// KongUpstreamRefReasonValid is the reason used with the KongUpstreamRefValid
	// condition type indicating that the KongUpstream reference is valid.
	KongUpstreamRefReasonValid = "Valid"
	// KongUpstreamRefReasonInvalid is the reason used with the KongUpstreamRefValid
	// condition type indicating that the KongUpstream reference is invalid.
	KongUpstreamRefReasonInvalid = "Invalid"
)
View Source
const (
	// KeySetRefValidConditionType is the type of the condition that indicates
	// whether the KeySet reference is valid and points to an existing
	// KeySet.
	KeySetRefValidConditionType = "KeySetRefValid"

	// KeySetRefReasonValid is the reason used with the KeySetRefValid
	// condition type indicating that the KeySet reference is valid.
	KeySetRefReasonValid = "Valid"
	// KeySetRefReasonInvalid is the reason used with the KeySetRefValid
	// condition type indicating that the KeySet reference is invalid.
	KeySetRefReasonInvalid = "Invalid"
)
View Source
const (
	// KongCertificateRefValidConditionType is the type of the condition that indicates
	// whether the KongCertificate reference is valid and points to an existing KongCertificate
	KongCertificateRefValidConditionType = "KongCertificateRefValid"

	// KongCertificateRefReasonValid is the reason used with the KongCertificateRefValid
	// condition type indicating that the KongCertificate reference is valid.
	KongCertificateRefReasonValid = "Valid"
	// KongCertificateRefReasonInvalid is the reason used with the KongCertificateRefValid
	// condition type indicating that the KongCertificate reference is invalid.
	KongCertificateRefReasonInvalid = "Invalid"
)
View Source
const (
	// DataPlaneCertificateProvisionedConditionType is the type of the condition that indicates
	// whether the DataPlane certificate has been properly provisioned in Konnect.
	DataPlaneCertificateProvisionedConditionType = "DataPlaneCertificateProvisioned"

	// DataPlaneCertificateProvisionedReasonProvisioned is the reason
	// used with the DataPlaneCertificateProvisioned condition type indicating that the
	// referenced DataPlane client certificate has been provisioned in Konnect.
	DataPlaneCertificateProvisionedReasonProvisioned = "Provisioned"
	// DataPlaneCertificateProvisionedReasonRefNotFound is the reason
	// used with the DataPlaneCertificateProvisioned condition type indicating that the
	// the referenced DataPlane client certificate is not found.
	DataPlaneCertificateProvisionedReasonRefNotFound = "RefNotFound"
	// DataPlaneCertificateProvisionedReasonInvalidSecret is the reason
	// used with the DataPlaneCertificateProvisioned condition type indicating that the
	// the referenced DataPlane client certificate secret is invalid.
	DataPlaneCertificateProvisionedReasonInvalidSecret = "InvalidSecret"
	// DataPlaneCertificateProvisionedReasonKonnectAPIOpFailed is the reason
	// used with the DataPlaneCertificateProvisioned condition type indicating that the
	// the DataPlane client certificate creation in Konnect has failed.
	DataPlaneCertificateProvisionedReasonKonnectAPIOpFailed = "KonnectAPIOpFailed"
)
View Source
const (
	// KonnectNetworkRefsValidConditionType is the type of the condition that indicates
	// whether the Konnect network reference is valid and points to an existing Konnect network.
	KonnectNetworkRefsValidConditionType = "KonnectNetworkRefsValid"

	// KonnectNetworkRefsReasonValid is the reason used with the KonnectNetworkRefsValid
	// condition type indicating that the Konnect network reference is valid.
	KonnectNetworkRefsReasonValid = "Valid"
	// KonnectNetworkRefsReasonInvalid is the reason used with the KonnectNetworkRefsValid
	// condition type indicating that the Konnect network reference is invalid.
	KonnectNetworkRefsReasonInvalid = "Invalid"
)
View Source
const (
	// ControlPlaneMirroredConditionType is the type of the condition that indicates
	// the status for the control plane mirroring.
	ControlPlaneMirroredConditionType = "Mirrored"

	// ControlPlaneMirroredReasonMirrored is the reason used with the
	// Mirrored condition type indicating that the control plane
	// mirroring has succeeded.
	ControlPlaneMirroredReasonMirrored = "Mirrored"
	// ControlPlaneMirroredReasonFailed is the reason used with the
	// Mirrored condition type indicating that the control plane
	// mirroring has failed.
	ControlPlaneMirroredReasonFailed = "Failed"
)
View Source
const (
	// KonnectExtensionKind holds the kind for the KonnectExtension.
	KonnectExtensionKind = "KonnectExtension"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "konnect.konghq.com", Version: "v1alpha1"}

	// SchemeGroupVersion is a convenience var for generated clientsets.
	SchemeGroupVersion = GroupVersion

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource.

Types

type APIAccess

type APIAccess string

APIAccess defines the API access type for data-plane groups.

const (
	// APIAccessPrivate is the API access type for private data-plane groups.
	APIAccessPrivate APIAccess = "private"
	// APIAccessPublic is the API access type for public data-plane groups.
	APIAccessPublic APIAccess = "public"
	// APIAccessPrivatePublic is the API access type for private and public data-plane groups.
	APIAccessPrivatePublic APIAccess = "private+public"
)

type AWSTransitGateway

type AWSTransitGateway struct {
	// Human-readable name of the transit gateway.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=120
	// +required
	Name string `json:"name"`
	// List of mappings from remote DNS server IP address sets to proxied internal domains, for a transit gateway
	// attachment.
	//
	// +optional
	DNSConfig []TransitGatewayDNSConfig `json:"dns_config,omitempty"`
	// CIDR blocks for constructing a route table for the transit gateway, when attaching to the owning
	// network.
	//
	// +required
	CIDRBlocks []string `json:"cidr_blocks"`
	// configuration to attach to AWS transit gateway on the AWS side.
	//
	// +required
	AttachmentConfig AwsTransitGatewayAttachmentConfig `json:"attachment_config"`
}

AWSTransitGateway is the configuration of an AWS transit gateway.

func (*AWSTransitGateway) DeepCopy

func (in *AWSTransitGateway) DeepCopy() *AWSTransitGateway

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSTransitGateway.

func (*AWSTransitGateway) DeepCopyInto

func (in *AWSTransitGateway) DeepCopyInto(out *AWSTransitGateway)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AwsTransitGatewayAttachmentConfig

type AwsTransitGatewayAttachmentConfig struct {
	// TransitGatewayID is the AWS transit gateway ID to create attachment to.
	//
	// +required
	TransitGatewayID string `json:"transit_gateway_id"`
	// RAMShareArn is the resource share ARN to verify request to create transit gateway attachment.
	//
	// +required
	RAMShareArn string `json:"ram_share_arn"`
}

AwsTransitGatewayAttachmentConfig is the configuration to attach to a AWS transit gateway.

func (*AwsTransitGatewayAttachmentConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsTransitGatewayAttachmentConfig.

func (*AwsTransitGatewayAttachmentConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureTransitGateway

type AzureTransitGateway struct {
	// Human-readable name of the transit gateway.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=120
	// +required
	Name string `json:"name"`
	// List of mappings from remote DNS server IP address sets to proxied internal domains, for a transit gateway
	// attachment.
	//
	// +optional
	DNSConfig []TransitGatewayDNSConfig `json:"dns_config,omitempty"`
	// configuration to attach to Azure VNET peering gateway.
	//
	// +required
	AttachmentConfig AzureVNETPeeringAttachmentConfig `json:"attachment_config"`
}

AzureTransitGateway is the configuration of an Azure transit gateway.

func (*AzureTransitGateway) DeepCopy

func (in *AzureTransitGateway) DeepCopy() *AzureTransitGateway

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureTransitGateway.

func (*AzureTransitGateway) DeepCopyInto

func (in *AzureTransitGateway) DeepCopyInto(out *AzureTransitGateway)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureVNETPeeringAttachmentConfig

type AzureVNETPeeringAttachmentConfig struct {
	// TenantID is the tenant ID for the Azure VNET Peering attachment.
	//
	// +required
	TenantID string `json:"tenant_id"`
	// SubscriptionID is the subscription ID for the Azure VNET Peering attachment.
	//
	// +required
	SubscriptionID string `json:"subscription_id"`
	// ResourceGroupName is the resource group name for the Azure VNET Peering attachment.
	//
	// +required
	ResourceGroupName string `json:"resource_group_name"`
	// VnetName is the VNET Name for the Azure VNET Peering attachment.
	//
	// +required
	VnetName string `json:"vnet_name"`
}

AzureVNETPeeringAttachmentConfig is the configuration to attach to a Azure VNET peering gateway.

func (*AzureVNETPeeringAttachmentConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureVNETPeeringAttachmentConfig.

func (*AzureVNETPeeringAttachmentConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CertificateSecret

type CertificateSecret struct {
	// Provisioning is the method used to provision the certificate. It can be either Manual or Automatic.
	// In case manual provisioning is used, the certificate must be provided by the user.
	// In case automatic provisioning is used, the certificate will be automatically generated by the system.
	//
	// +optional
	// +kubebuilder:validation:Enum=Manual;Automatic
	// +kubebuilder:default=Automatic
	Provisioning *ProvisioningMethod `json:"provisioning,omitempty"`

	// CertificateSecretRef is the reference to the Secret containing the client certificate.
	//
	// +optional
	CertificateSecretRef *SecretRef `json:"secretRef,omitempty"`
}

CertificateSecret contains the information to access the client certificate.

func (*CertificateSecret) DeepCopy

func (in *CertificateSecret) DeepCopy() *CertificateSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateSecret.

func (*CertificateSecret) DeepCopyInto

func (in *CertificateSecret) DeepCopyInto(out *CertificateSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigurationDataPlaneGroupAutoscale

type ConfigurationDataPlaneGroupAutoscale struct {
	// Static specifies the static configuration for the data-plane group.
	//
	// +optional
	Static *ConfigurationDataPlaneGroupAutoscaleStatic `json:"static,omitempty"`

	// Autopilot specifies the autoscale configuration for the data-plane group.
	//
	// +optional
	Autopilot *ConfigurationDataPlaneGroupAutoscaleAutopilot `json:"autopilot,omitempty"`

	// Type of autoscaling to use.
	//
	// +required
	// +kubebuilder:validation:Enum=static;autopilot
	Type ConfigurationDataPlaneGroupAutoscaleType `json:"type"`
}

ConfigurationDataPlaneGroupAutoscale specifies the autoscale configuration for the data-plane group.

+kubebuilder:validation:XValidation:rule="!(has(self.autopilot) && has(self.static))",message="can't provide both autopilot and static configuration" +kubebuilder:validation:XValidation:rule="self.type == 'static' ? has(self.static) : true",message="static is required when type is static" +kubebuilder:validation:XValidation:rule="self.type == 'autopilot' ? has(self.autopilot) : true",message="autopilot is required when type is autopilot"

func (*ConfigurationDataPlaneGroupAutoscale) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationDataPlaneGroupAutoscale.

func (*ConfigurationDataPlaneGroupAutoscale) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigurationDataPlaneGroupAutoscaleAutopilot

type ConfigurationDataPlaneGroupAutoscaleAutopilot struct {
	// Base number of requests per second that the deployment target should support.
	//
	// +required
	BaseRps int64 `json:"base_rps"`

	// Max number of requests per second that the deployment target should support. If not set, this defaults to 10x base_rps.
	//
	// +optional
	MaxRps *int64 `json:"max_rps,omitempty"`
}

ConfigurationDataPlaneGroupAutoscaleAutopilot specifies the autoscale configuration for the data-plane group.

func (*ConfigurationDataPlaneGroupAutoscaleAutopilot) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationDataPlaneGroupAutoscaleAutopilot.

func (*ConfigurationDataPlaneGroupAutoscaleAutopilot) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigurationDataPlaneGroupAutoscaleStatic

type ConfigurationDataPlaneGroupAutoscaleStatic struct {
	// Instance type name to indicate capacity.
	// Currently supported values are small, medium, large but this list might be
	// expanded in the future.
	// For all the allowed values, please refer to the Konnect API documentation
	// at https://docs.konghq.com/konnect/api/cloud-gateways/latest/#/Data-Plane%20Group%20Configurations/create-configuration.
	//
	// +required
	InstanceType sdkkonnectcomp.InstanceTypeName `json:"instance_type"`

	// Number of data-planes the deployment target will contain.
	//
	// +required
	RequestedInstances int64 `json:"requested_instances"`
}

ConfigurationDataPlaneGroupAutoscaleStatic specifies the static configuration for the data-plane group.

func (*ConfigurationDataPlaneGroupAutoscaleStatic) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationDataPlaneGroupAutoscaleStatic.

func (*ConfigurationDataPlaneGroupAutoscaleStatic) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigurationDataPlaneGroupAutoscaleType

type ConfigurationDataPlaneGroupAutoscaleType string

ConfigurationDataPlaneGroupAutoscaleType is the type of autoscale configuration for the data-plane group.

const (
	// ConfigurationDataPlaneGroupAutoscaleTypeStatic is the autoscale type for static configuration.
	ConfigurationDataPlaneGroupAutoscaleTypeStatic ConfigurationDataPlaneGroupAutoscaleType = "static"

	// ConfigurationDataPlaneGroupAutoscaleTypeAutopilot is the autoscale type for autopilot configuration.
	ConfigurationDataPlaneGroupAutoscaleTypeAutopilot ConfigurationDataPlaneGroupAutoscaleType = "autopilot"
)

type ConfigurationDataPlaneGroupEnvironmentField

type ConfigurationDataPlaneGroupEnvironmentField struct {
	// Name of the environment variable field to set for the data-plane group. Must be prefixed by KONG_.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +required
	// +kubebuilder:validation:Pattern="^KONG_."
	Name string `json:"name"`
	// Value assigned to the environment variable field for the data-plane group.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +required
	Value string `json:"value"`
}

ConfigurationDataPlaneGroupEnvironmentField specifies an environment variable field for the data-plane group.

func (*ConfigurationDataPlaneGroupEnvironmentField) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationDataPlaneGroupEnvironmentField.

func (*ConfigurationDataPlaneGroupEnvironmentField) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CreateControlPlaneRequest

type CreateControlPlaneRequest struct {
	// The name of the control plane.
	// +optional
	Name *string `json:"name,omitempty"`
	// The description of the control plane in Konnect.
	// +optional
	Description *string `json:"description,omitempty"`
	// The ClusterType value of the cluster associated with the Control Plane.
	// +optional
	ClusterType *sdkkonnectcomp.CreateControlPlaneRequestClusterType `json:"cluster_type,omitempty"`
	// The auth type value of the cluster associated with the Runtime Group.
	// +optional
	AuthType *sdkkonnectcomp.AuthType `json:"auth_type,omitempty"`
	// Whether this control-plane can be used for cloud-gateways.
	// +optional
	CloudGateway *bool `json:"cloud_gateway,omitempty"`
	// Array of proxy URLs associated with reaching the data-planes connected to a control-plane.
	// +optional
	ProxyUrls []sdkkonnectcomp.ProxyURL `json:"proxy_urls,omitempty"`
	// Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	//
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
}

CreateControlPlaneRequest - The request schema for the create control plane request.

func (*CreateControlPlaneRequest) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreateControlPlaneRequest.

func (*CreateControlPlaneRequest) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataPlaneClientAuthStatus

type DataPlaneClientAuthStatus struct {
	// CertificateSecretRef is the reference to the Secret containing the client certificate.
	//
	// +optional
	CertificateSecretRef *SecretRef `json:"certificateSecretRef,omitempty"`
}

DataPlaneClientAuthStatus contains the status information related to the ClientAuth configuration.

func (*DataPlaneClientAuthStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataPlaneClientAuthStatus.

func (*DataPlaneClientAuthStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataPlaneLabelValue

type DataPlaneLabelValue string

DataPlaneLabelValue is the type that defines the value of a label that will be applied to the Konnect DataPlane.

+kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=63 +kubebuilder:validation:Pattern="^[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?$"

type KonnectAPIAuthConfiguration

type KonnectAPIAuthConfiguration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the specification of the KonnectAPIAuthConfiguration resource.
	Spec KonnectAPIAuthConfigurationSpec `json:"spec,omitempty"`

	// Status is the status of the KonnectAPIAuthConfiguration resource.
	//
	// +optional
	Status KonnectAPIAuthConfigurationStatus `json:"status,omitempty"`
}

KonnectAPIAuthConfiguration is the Schema for the Konnect configuration type.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong;konnect +kubebuilder:object:root=true +kubebuilder:object:generate=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Valid",description="The API authentication information is valid",type=string,JSONPath=`.status.conditions[?(@.type=='APIAuthValid')].status` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this API authentication configuration belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="ServerURL",description="Configured server URL.",type=string,JSONPath=`.status.serverURL` +kubebuilder:validation:XValidation:rule="self.spec.type != 'token' || (self.spec.token.startsWith('spat_') || self.spec.token.startsWith('kpat_'))", message="Konnect tokens have to start with spat_ or kpat_" +kubebuilder:validation:XValidation:rule="self.spec.type != 'token' || (!has(oldSelf.spec.token) || has(self.spec.token))", message="Token is required once set" +apireference:kgo:include +kong:channels=gateway-operator

func (*KonnectAPIAuthConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectAPIAuthConfiguration.

func (*KonnectAPIAuthConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectAPIAuthConfiguration) DeepCopyObject

func (in *KonnectAPIAuthConfiguration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KonnectAPIAuthConfiguration) GetConditions

func (obj *KonnectAPIAuthConfiguration) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions

func (KonnectAPIAuthConfiguration) GetTypeName

func (obj KonnectAPIAuthConfiguration) GetTypeName() string

GetTypeName returns the KonnectAPIAuthConfiguration Kind name

func (*KonnectAPIAuthConfiguration) SetConditions

func (obj *KonnectAPIAuthConfiguration) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions

type KonnectAPIAuthConfigurationList

type KonnectAPIAuthConfigurationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []KonnectAPIAuthConfiguration `json:"items"`
}

KonnectAPIAuthConfigurationList contains a list of KonnectAPIAuthConfiguration resources. +kubebuilder:object:root=true +apireference:kgo:include

func (*KonnectAPIAuthConfigurationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectAPIAuthConfigurationList.

func (*KonnectAPIAuthConfigurationList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectAPIAuthConfigurationList) DeepCopyObject

func (in *KonnectAPIAuthConfigurationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (KonnectAPIAuthConfigurationList) GetItems

GetItems returns the list of KonnectAPIAuthConfiguration items.

type KonnectAPIAuthConfigurationSpec

type KonnectAPIAuthConfigurationSpec struct {
	// +required
	// +kubebuilder:validation:Enum=token;secretRef
	Type KonnectAPIAuthType `json:"type"`

	// Token is the Konnect token used to authenticate with the Konnect API.
	//
	// +optional
	Token string `json:"token,omitempty"`

	// SecretRef is a reference to a Kubernetes Secret containing the Konnect token.
	// This secret is required to have the konghq.com/credential label set to "konnect".
	//
	// +optional
	SecretRef *corev1.SecretReference `json:"secretRef,omitempty"`

	// ServerURL is the URL of the Konnect server.
	// It can be either a full URL with an HTTPs scheme or just a hostname.
	// Please refer to https://docs.konghq.com/konnect/network/ for the list of supported hostnames.
	//
	// +required
	// +kubebuilder:validation:XValidation:rule="size(self) > 0", message="Server URL is required"
	// +kubebuilder:validation:XValidation:rule="self == oldSelf", message="Server URL is immutable"
	// +kubebuilder:validation:XValidation:rule="isURL(self) ? url(self).getScheme() == 'https' : true", message="Server URL must use HTTPs if specifying scheme"
	// +kubebuilder:validation:XValidation:rule="size(self) > 0 && !isURL(self) ? self.matches('^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]).)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$') : true", message="Server URL must satisfy hostname (RFC 1123) regex if not a valid absolute URL"
	ServerURL string `json:"serverURL"`
}

KonnectAPIAuthConfigurationSpec is the specification of the KonnectAPIAuthConfiguration resource.

+kubebuilder:validation:XValidation:rule="self.type == 'token' ? size(self.token) > 0 : true", message="spec.token is required if auth type is set to token" +kubebuilder:validation:XValidation:rule="self.type == 'secretRef' ? has(self.secretRef) : true", message="spec.secretRef is required if auth type is set to secretRef" +kubebuilder:validation:XValidation:rule="!(has(self.token) && has(self.secretRef))", message="spec.token and spec.secretRef cannot be set at the same time" +apireference:kgo:include

func (*KonnectAPIAuthConfigurationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectAPIAuthConfigurationSpec.

func (*KonnectAPIAuthConfigurationSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectAPIAuthConfigurationStatus

type KonnectAPIAuthConfigurationStatus struct {
	// OrganizationID is the unique identifier of the organization in Konnect.
	//
	// +optional
	OrganizationID string `json:"organizationID,omitempty"`

	// ServerURL is configured server URL.
	//
	// +optional
	ServerURL string `json:"serverURL,omitempty"`

	// Conditions describe the status of the Konnect configuration.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Valid", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KonnectAPIAuthConfigurationStatus is the status of the KonnectAPIAuthConfiguration resource. +apireference:kgo:include

func (*KonnectAPIAuthConfigurationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectAPIAuthConfigurationStatus.

func (*KonnectAPIAuthConfigurationStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectAPIAuthType

type KonnectAPIAuthType string

KonnectAPIAuthType is the type of authentication used to authenticate with the Konnect API. +apireference:kgo:include

const (
	// KonnectAPIAuthTypeToken is the token authentication type.
	KonnectAPIAuthTypeToken KonnectAPIAuthType = "token"

	// KonnectAPIAuthTypeSecretRef is the secret reference authentication type.
	KonnectAPIAuthTypeSecretRef KonnectAPIAuthType = "secretRef"
)

type KonnectCloudGatewayDataPlaneGroupConfiguration

type KonnectCloudGatewayDataPlaneGroupConfiguration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the desired state of KonnectCloudGatewayDataPlaneGroupConfiguration.
	Spec KonnectCloudGatewayDataPlaneGroupConfigurationSpec `json:"spec"`

	// Status defines the observed state of KonnectCloudGatewayDataPlaneGroupConfiguration.
	//
	// +optional
	Status KonnectCloudGatewayDataPlaneGroupConfigurationStatus `json:"status,omitempty"`
}

KonnectCloudGatewayDataPlaneGroupConfiguration is the Schema for the Konnect Network API.

+genclient +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong;konnect +kubebuilder:object:root=true +kubebuilder:object:generate=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="ID",description="Konnect ID",type=string,JSONPath=`.status.id` +kubebuilder:printcolumn:name="ControlPlaneID",description="ControlPlane ID",type=string,JSONPath=`.status.controlPlaneID` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +apireference:kgo:include +kong:channels=gateway-operator

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayDataPlaneGroupConfiguration.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) DeepCopyObject

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) GetConditions

GetConditions returns the Status Conditions

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) GetControlPlaneID

func (obj *KonnectCloudGatewayDataPlaneGroupConfiguration) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KonnectCloudGatewayDataPlaneGroupConfiguration status.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) GetControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) GetKonnectID

GetKonnectID returns the Konnect ID in the KonnectCloudGatewayDataPlaneGroupConfiguration status.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) GetKonnectStatus

GetKonnectStatus returns the Konnect status contained in the KonnectCloudGatewayDataPlaneGroupConfiguration status.

func (KonnectCloudGatewayDataPlaneGroupConfiguration) GetTypeName

GetTypeName returns the KonnectCloudGatewayDataPlaneGroupConfiguration Kind name

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) SetConditions

func (obj *KonnectCloudGatewayDataPlaneGroupConfiguration) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) SetControlPlaneID

func (obj *KonnectCloudGatewayDataPlaneGroupConfiguration) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KonnectCloudGatewayDataPlaneGroupConfiguration status.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) SetControlPlaneRef

SetControlPlaneRef sets the ControlPlaneRef.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) SetKonnectID

SetKonnectID sets the Konnect ID in the KonnectCloudGatewayDataPlaneGroupConfiguration status.

type KonnectCloudGatewayDataPlaneGroupConfigurationList

type KonnectCloudGatewayDataPlaneGroupConfigurationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []KonnectCloudGatewayDataPlaneGroupConfiguration `json:"items"`
}

KonnectCloudGatewayDataPlaneGroupConfigurationList contains a list of KonnectCloudGatewayDataPlaneGroupConfiguration. +kubebuilder:object:root=true +apireference:kgo:include

func (*KonnectCloudGatewayDataPlaneGroupConfigurationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayDataPlaneGroupConfigurationList.

func (*KonnectCloudGatewayDataPlaneGroupConfigurationList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectCloudGatewayDataPlaneGroupConfigurationList) DeepCopyObject

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (KonnectCloudGatewayDataPlaneGroupConfigurationList) GetItems

GetItems returns the list of KonnectCloudGatewayDataPlaneGroupConfiguration items.

type KonnectCloudGatewayDataPlaneGroupConfigurationSpec

type KonnectCloudGatewayDataPlaneGroupConfigurationSpec struct {
	// Version specifies the desired Kong Gateway version.
	//
	// +required
	Version string `json:"version"`

	// DataplaneGroups is a list of desired data-plane groups that describe where
	// to deploy instances, along with how many instances.
	//
	// +optional
	DataplaneGroups []KonnectConfigurationDataPlaneGroup `json:"dataplane_groups"`

	// APIAccess is the desired type of API access for data-plane groups.
	//
	// +optional
	// +kubebuilder:default=private+public
	// +kubebuilder:validation:Enum=private;public;private+public
	APIAccess *sdkkonnectcomp.APIAccess `json:"api_access"`

	// ControlPlaneRef is a reference to a ControlPlane which DataPlanes from this
	// configuration will connect to.
	//
	// +required
	ControlPlaneRef commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`
}

KonnectCloudGatewayDataPlaneGroupConfigurationSpec defines the desired state of KonnectCloudGatewayDataPlaneGroupConfiguration.

+apireference:kgo:include

func (*KonnectCloudGatewayDataPlaneGroupConfigurationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayDataPlaneGroupConfigurationSpec.

func (*KonnectCloudGatewayDataPlaneGroupConfigurationSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectCloudGatewayDataPlaneGroupConfigurationStatus

type KonnectCloudGatewayDataPlaneGroupConfigurationStatus struct {
	konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:",inline"`

	// DataPlaneGroups is a list of deployed data-plane groups.
	//
	// +optional
	DataPlaneGroups []KonnectCloudGatewayDataPlaneGroupConfigurationStatusGroup `json:"dataplane_groups,omitempty"`

	// Conditions describe the current conditions of the KonnectCloudGatewayDataPlaneGroupConfiguration.
	//
	// Known condition types are:
	//
	// * "Programmed"
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KonnectCloudGatewayDataPlaneGroupConfigurationStatus defines the observed state of KonnectCloudGatewayDataPlaneGroupConfiguration. +apireference:kgo:include

func (*KonnectCloudGatewayDataPlaneGroupConfigurationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayDataPlaneGroupConfigurationStatus.

func (*KonnectCloudGatewayDataPlaneGroupConfigurationStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectCloudGatewayDataPlaneGroupConfigurationStatusGroup

type KonnectCloudGatewayDataPlaneGroupConfigurationStatusGroup struct {
	// ID is the ID of the deployed data-plane group.
	//
	// +required
	ID string `json:"id"`

	// CloudGatewayNetworkID is the ID of the cloud gateway network.
	//
	// +required
	CloudGatewayNetworkID string `json:"cloud_gateway_network_id"`

	// Name of cloud provider.
	//
	// +required
	Provider sdkkonnectcomp.ProviderName `json:"provider"`

	// Region ID for cloud provider region.
	//
	// +required
	Region string `json:"region"`

	// PrivateIPAddresses is a list of private IP addresses of the internal load balancer that proxies traffic to this data-plane group.
	//
	// +optional
	PrivateIPAddresses []string `json:"private_ip_addresses,omitempty"`

	// EgressIPAddresses is a list of egress IP addresses for the network that this data-plane group runs on.
	//
	// +optional
	EgressIPAddresses []string `json:"egress_ip_addresses,omitempty"`

	// State is the current state of the data plane group. Can be e.g. initializing, ready, terminating.
	//
	// +required
	State string `json:"state"`
}

KonnectCloudGatewayDataPlaneGroupConfigurationStatusGroup defines the observed state of a deployed data-plane group.

func (*KonnectCloudGatewayDataPlaneGroupConfigurationStatusGroup) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayDataPlaneGroupConfigurationStatusGroup.

func (*KonnectCloudGatewayDataPlaneGroupConfigurationStatusGroup) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectCloudGatewayNetwork

type KonnectCloudGatewayNetwork struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the desired state of KonnectCloudGatewayNetwork.
	Spec KonnectCloudGatewayNetworkSpec `json:"spec"`

	// Status defines the observed state of KonnectCloudGatewayNetwork.
	//
	// +optional
	Status KonnectCloudGatewayNetworkStatus `json:"status,omitempty"`
}

KonnectCloudGatewayNetwork is the Schema for the Konnect Network API.

+genclient +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong;konnect +kubebuilder:object:root=true +kubebuilder:object:generate=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="State",description="The state the network is in",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="ID",description="Konnect ID",type=string,JSONPath=`.status.id` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:validation:XValidation:rule="(!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.name == self.spec.name",message="spec.name is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.cloud_gateway_provider_account_id == self.spec.cloud_gateway_provider_account_id",message="spec.cloud_gateway_provider_account_id is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.region == self.spec.region",message="spec.region is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.availability_zones == self.spec.availability_zones",message="spec.availability_zones is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.cidr_block == self.spec.cidr_block",message="spec.cidr_block is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : (!has(self.spec.state) && !has(oldSelf.spec.state)) || self.spec.state == oldSelf.spec.state",message="spec.state is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KonnectCloudGatewayNetwork) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayNetwork.

func (*KonnectCloudGatewayNetwork) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectCloudGatewayNetwork) DeepCopyObject

func (in *KonnectCloudGatewayNetwork) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KonnectCloudGatewayNetwork) GetConditions

func (obj *KonnectCloudGatewayNetwork) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions

func (*KonnectCloudGatewayNetwork) GetKonnectAPIAuthConfigurationRef

func (c *KonnectCloudGatewayNetwork) GetKonnectAPIAuthConfigurationRef() konnectv1alpha2.KonnectAPIAuthConfigurationRef

GetKonnectAPIAuthConfigurationRef returns the Konnect API Auth Configuration Ref.

func (*KonnectCloudGatewayNetwork) GetKonnectID

func (obj *KonnectCloudGatewayNetwork) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KonnectCloudGatewayNetwork status.

func (*KonnectCloudGatewayNetwork) GetKonnectStatus

GetKonnectStatus returns the Konnect status contained in the KonnectCloudGatewayNetwork status.

func (KonnectCloudGatewayNetwork) GetTypeName

func (obj KonnectCloudGatewayNetwork) GetTypeName() string

GetTypeName returns the KonnectCloudGatewayNetwork Kind name

func (*KonnectCloudGatewayNetwork) SetConditions

func (obj *KonnectCloudGatewayNetwork) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions

func (*KonnectCloudGatewayNetwork) SetKonnectID

func (obj *KonnectCloudGatewayNetwork) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KonnectCloudGatewayNetwork status.

type KonnectCloudGatewayNetworkList

type KonnectCloudGatewayNetworkList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []KonnectCloudGatewayNetwork `json:"items"`
}

KonnectCloudGatewayNetworkList contains a list of KonnectCloudGatewayNetwork. +kubebuilder:object:root=true +apireference:kgo:include

func (*KonnectCloudGatewayNetworkList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayNetworkList.

func (*KonnectCloudGatewayNetworkList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectCloudGatewayNetworkList) DeepCopyObject

func (in *KonnectCloudGatewayNetworkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (KonnectCloudGatewayNetworkList) GetItems

GetItems returns the list of KonnectCloudGatewayNetwork items.

type KonnectCloudGatewayNetworkSpec

type KonnectCloudGatewayNetworkSpec struct {

	// Specifies the name of the network on Konnect.
	//
	// +required
	Name string `json:"name"`

	// Specifies the provider Account ID.
	//
	// +required
	CloudGatewayProviderAccountID string `json:"cloud_gateway_provider_account_id"`

	// Region ID for cloud provider region.
	//
	// +required
	Region string `json:"region"`

	// List of availability zones that the network is attached to.
	//
	// +required
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=5
	AvailabilityZones []string `json:"availability_zones"`

	// CIDR block configuration for the network.
	//
	// +required
	CidrBlock string `json:"cidr_block"`

	// Initial state for creating a network.
	//
	// +optional
	State *sdkkonnectcomp.NetworkCreateState `json:"state"`

	// +required
	KonnectConfiguration konnectv1alpha2.KonnectConfiguration `json:"konnect"`
}

KonnectCloudGatewayNetworkSpec defines the desired state of KonnectCloudGatewayNetwork.

+apireference:kgo:include

func (*KonnectCloudGatewayNetworkSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayNetworkSpec.

func (*KonnectCloudGatewayNetworkSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectCloudGatewayNetworkStatus

type KonnectCloudGatewayNetworkStatus struct {
	konnectv1alpha2.KonnectEntityStatus `json:",inline"`

	// State is the current state of the network. Can be e.g. initializing, ready, terminating.
	//
	// +optional
	State string `json:"state,omitempty"`

	// Conditions describe the current conditions of the KonnectCloudGatewayNetwork.
	//
	// Known condition types are:
	//
	// * "Programmed"
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KonnectCloudGatewayNetworkStatus defines the observed state of KonnectCloudGatewayNetwork. +apireference:kgo:include

func (*KonnectCloudGatewayNetworkStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayNetworkStatus.

func (*KonnectCloudGatewayNetworkStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectCloudGatewayTransitGateway

type KonnectCloudGatewayTransitGateway struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the desired state of KonnectCloudGatewayTransitGateway.
	Spec KonnectCloudGatewayTransitGatewaySpec `json:"spec"`

	// Status defines the observed state of KonnectCloudGatewayTransitGateway.
	//
	// +optional
	Status KonnectCloudGatewayTransitGatewayStatus `json:"status,omitempty"`
}

KonnectCloudGatewayTransitGateway is the Schema for the Konnect Transit Gateway API.

+genclient +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong;konnect +kubebuilder:object:root=true +kubebuilder:object:generate=true +kubebuilder:subresource:status +kubebuilder:subresource:finalizer +apireference:kgo:include +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="State",description="The state the transit gateway is in",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="ID",description="Konnect ID",type=string,JSONPath=`.status.id` +kubebuilder:printcolumn:name="NetworkID",description="Network ID",type=string,JSONPath=`.status.networkID` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:validation:XValidation:rule="(!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : (!has(self.spec.awsTransitGateway) ? true : oldSelf.spec.awsTransitGateway.name == self.spec.awsTransitGateway.name)",message="spec.awsTransitGateway.name is immutable when transit gateway is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : (!has(self.spec.azureTransitGateway) ? true : oldSelf.spec.azureTransitGateway.name == self.spec.azureTransitGateway.name)",message="spec.azureTransitGateway.name is immutable when transit gateway is already Programmed" +kong:channels=gateway-operator

func (*KonnectCloudGatewayTransitGateway) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayTransitGateway.

func (*KonnectCloudGatewayTransitGateway) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectCloudGatewayTransitGateway) DeepCopyObject

func (in *KonnectCloudGatewayTransitGateway) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KonnectCloudGatewayTransitGateway) GetConditions

func (obj *KonnectCloudGatewayTransitGateway) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions

func (*KonnectCloudGatewayTransitGateway) GetKonnectID

func (obj *KonnectCloudGatewayTransitGateway) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KonnectCloudGatewayTransitGateway status.

func (*KonnectCloudGatewayTransitGateway) GetKonnectStatus

GetKonnectStatus returns the Konnect status contained in the KonnectCloudGatewayTransitGateway status.

func (*KonnectCloudGatewayTransitGateway) GetNetworkID

func (obj *KonnectCloudGatewayTransitGateway) GetNetworkID() string

GetNetworkID returns Konnect network ID in the KonnectCloudGatewayTransitGateway status.

func (KonnectCloudGatewayTransitGateway) GetTypeName

func (obj KonnectCloudGatewayTransitGateway) GetTypeName() string

GetTypeName returns the KonnectCloudGatewayTransitGateway Kind name

func (*KonnectCloudGatewayTransitGateway) SetConditions

func (obj *KonnectCloudGatewayTransitGateway) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions

func (*KonnectCloudGatewayTransitGateway) SetKonnectID

func (obj *KonnectCloudGatewayTransitGateway) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KonnectCloudGatewayTransitGateway status.

func (*KonnectCloudGatewayTransitGateway) SetNetworkID

func (obj *KonnectCloudGatewayTransitGateway) SetNetworkID(id string)

SetNetworkID returns the Konnect network ID in the KonnectCloudGatewayTransitGateway status.

type KonnectCloudGatewayTransitGatewayList

type KonnectCloudGatewayTransitGatewayList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []KonnectCloudGatewayTransitGateway `json:"items"`
}

KonnectCloudGatewayTransitGatewayList contains a list of KonnectCloudGatewayTransitGateway. +kubebuilder:object:root=true +apireference:kgo:include

func (*KonnectCloudGatewayTransitGatewayList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayTransitGatewayList.

func (*KonnectCloudGatewayTransitGatewayList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectCloudGatewayTransitGatewayList) DeepCopyObject

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (KonnectCloudGatewayTransitGatewayList) GetItems

GetItems returns the list of KonnectCloudGatewayTransitGateway items.

type KonnectCloudGatewayTransitGatewaySpec

type KonnectCloudGatewayTransitGatewaySpec struct {
	// NetworkRef is the schema for the NetworkRef type.
	//
	// +required
	NetworkRef commonv1alpha1.ObjectRef `json:"networkRef"`
	// KonnectTransitGatewayAPISpec is the configuration of the transit gateway on Konnect side.
	KonnectTransitGatewayAPISpec `json:",inline"`
}

KonnectCloudGatewayTransitGatewaySpec defines the desired state of KonnectCloudGatewayTransitGateway.

+kubebuilder:validation:XValidation:rule="self.networkRef.type == 'namespacedRef'", message = "only namespacedRef is supported currently"

func (*KonnectCloudGatewayTransitGatewaySpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayTransitGatewaySpec.

func (*KonnectCloudGatewayTransitGatewaySpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectCloudGatewayTransitGatewayStatus

type KonnectCloudGatewayTransitGatewayStatus struct {
	konnectv1alpha2.KonnectEntityStatusWithNetworkRef `json:",inline"`

	// State is the state of the transit gateway on Konnect side.
	//
	// +optional
	State sdkkonnectcomp.TransitGatewayState `json:"state,omitempty"`

	// Conditions describe the current conditions of the KonnectCloudGatewayDataPlaneGroupConfiguration.
	//
	// Known condition types are:
	//
	// * "Programmed"
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KonnectCloudGatewayTransitGatewayStatus defines the current state of KonnectCloudGatewayTransitGateway.

func (*KonnectCloudGatewayTransitGatewayStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectCloudGatewayTransitGatewayStatus.

func (*KonnectCloudGatewayTransitGatewayStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectConfigurationDataPlaneGroup

type KonnectConfigurationDataPlaneGroup struct {
	// Name of cloud provider.
	//
	// +required
	Provider sdkkonnectcomp.ProviderName `json:"provider"`

	// Region for cloud provider region.
	//
	// +required
	Region string `json:"region"`

	// NetworkRef is the reference to the network that this data-plane group will be deployed on.
	//
	// Cross namespace references are not supported for networkRef of type namespacedRef.
	// This will be enforced in the future but currently (due to limitation in CEL validation
	// in Kubernetes 1.31 and older) it is not.
	//
	// +required
	NetworkRef commonv1alpha1.ObjectRef `json:"networkRef"`

	// Autoscale configuration for the data-plane group.
	//
	// +required
	Autoscale ConfigurationDataPlaneGroupAutoscale `json:"autoscale"`

	// Array of environment variables to set for a data-plane group.
	//
	// +optional
	Environment []ConfigurationDataPlaneGroupEnvironmentField `json:"environment,omitempty"`
}

KonnectConfigurationDataPlaneGroup is the schema for the KonnectConfiguration type.

func (*KonnectConfigurationDataPlaneGroup) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectConfigurationDataPlaneGroup.

func (*KonnectConfigurationDataPlaneGroup) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectEndpoints

type KonnectEndpoints struct {
	// TelemetryEndpoint is the endpoint for telemetry.
	//
	// +required
	TelemetryEndpoint string `json:"telemetry"`

	// ControlPlaneEndpoint is the endpoint for the control plane.
	//
	// +required
	ControlPlaneEndpoint string `json:"controlPlane"`
}

KonnectEndpoints defines the Konnect endpoints for the control plane.

func (*KonnectEndpoints) DeepCopy

func (in *KonnectEndpoints) DeepCopy() *KonnectEndpoints

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectEndpoints.

func (*KonnectEndpoints) DeepCopyInto

func (in *KonnectEndpoints) DeepCopyInto(out *KonnectEndpoints)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectExtension

type KonnectExtension struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the specification of the KonnectExtension resource.
	Spec KonnectExtensionSpec `json:"spec,omitempty"`

	// Status is the status of the KonnectExtension resource.
	//
	// +optional
	// +kubebuilder:default={conditions: {{type: "Ready", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KonnectExtensionStatus `json:"status,omitempty"`
}

KonnectExtension is the Schema for the KonnectExtension API, and is intended to be referenced as extension by the DataPlane, ControlPlane or GatewayConfiguration APIs. If one of the above mentioned resources successfully refers a KonnectExtension, the underlying deployment(s) spec gets customized to include the konnect-related configuration.

+genclient +kubebuilder:deprecatedversion:warning="This API has been deprecated in favor of v1alpha2 konnectextensions.konnect.konghq.com and it will be removed in future version." +kubebuilder:unservedversion +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong;konnect +kubebuilder:object:root=true +kubebuilder:object:generate=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",description="The Resource is Ready to be used",type=string,JSONPath=`.status.conditions[?(@.type=='Ready')].status` +kubebuilder:validation:XValidation:rule="oldSelf.spec.konnect.controlPlane.ref == self.spec.konnect.controlPlane.ref", message="spec.konnect.controlPlane.ref is immutable." +kubebuilder:validation:XValidation:rule="self.spec.konnect.controlPlane.ref.type == 'konnectID' ? has(self.spec.konnect.configuration) : true",message="konnect must be set when ControlPlaneRef is set to KonnectID." +kubebuilder:validation:XValidation:rule="self.spec.konnect.controlPlane.ref.type == 'konnectNamespacedRef' ? !has(self.spec.konnect.configuration) : true",message="konnect must be unset when ControlPlaneRef is set to konnectNamespacedRef." +apireference:kgo:include +kong:channels=gateway-operator

func (*KonnectExtension) DeepCopy

func (in *KonnectExtension) DeepCopy() *KonnectExtension

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtension.

func (*KonnectExtension) DeepCopyInto

func (in *KonnectExtension) DeepCopyInto(out *KonnectExtension)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectExtension) DeepCopyObject

func (in *KonnectExtension) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KonnectExtensionClientAuth

type KonnectExtensionClientAuth struct {
	// CertificateSecret contains the information to access the client certificate.
	//
	// +required
	CertificateSecret CertificateSecret `json:"certificateSecret"`
}

KonnectExtensionClientAuth contains the configuration for the client authentication for the DataPlane. At the moment authentication is only supported through client certificate, but it might be extended in the future, with e.g., token-based authentication.

+kubebuilder:validation:XValidation:rule="self.certificateSecret.provisioning == 'Manual' ? has(self.certificateSecret.secretRef) : true",message="secretRef must be set when provisioning is set to Manual." +kubebuilder:validation:XValidation:rule="self.certificateSecret.provisioning == 'Automatic' ? !has(self.certificateSecret.secretRef) : true",message="secretRef must not be set when provisioning is set to Automatic."

func (*KonnectExtensionClientAuth) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionClientAuth.

func (*KonnectExtensionClientAuth) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectExtensionClusterType

type KonnectExtensionClusterType string

KonnectExtensionClusterType is the type of the Konnect Control Plane.

const (
	// ClusterTypeControlPlane is the type of the Konnect Control Plane.
	ClusterTypeControlPlane KonnectExtensionClusterType = "ControlPlane"
	// ClusterTypeK8sIngressController is the type of the Kubernetes Control Plane.
	ClusterTypeK8sIngressController KonnectExtensionClusterType = "K8SIngressController"
)

type KonnectExtensionControlPlane

type KonnectExtensionControlPlane struct {
	// Ref is a reference to a Konnect ControlPlane this KonnectExtension is associated with.
	//
	// +required
	// +kubebuilder:validation:XValidation:rule="self.type != 'kic'", message="kic type not supported as controlPlaneRef."
	Ref commonv1alpha1.ControlPlaneRef `json:"ref"`
}

KonnectExtensionControlPlane is the configuration for the Konnect Control Plane.

func (*KonnectExtensionControlPlane) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionControlPlane.

func (*KonnectExtensionControlPlane) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectExtensionControlPlaneStatus

type KonnectExtensionControlPlaneStatus struct {
	// ControlPlaneID is the Konnect ID of the ControlPlane this KonnectExtension is associated with.
	//
	// +required
	ControlPlaneID string `json:"controlPlaneID"`

	// ClusterType is the type of the Konnect Control Plane.
	//
	// +required
	// +kubebuilder:validation:Enum=ControlPlane;K8SIngressController
	ClusterType KonnectExtensionClusterType `json:"clusterType"`

	// Endpoints defines the Konnect endpoints for the control plane.
	//
	// +required
	Endpoints KonnectEndpoints `json:"endpoints"`
}

KonnectExtensionControlPlaneStatus contains the Konnect Control Plane status information.

func (*KonnectExtensionControlPlaneStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionControlPlaneStatus.

func (*KonnectExtensionControlPlaneStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectExtensionDataPlane

type KonnectExtensionDataPlane struct {
	// Labels is a set of labels that will be applied to the Konnect DataPlane.
	//
	// +optional
	// +kubebuilder:validation:MaxItems=5
	// +kubebuilder:validation:XValidation:rule="self.all(key, key.matches('^[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?$'))",message="keys must match the pattern '^[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?$'."
	// +kubebuilder:validation:XValidation:rule="self.all(key, !(key.startsWith('kong') || key.startsWith('konnect') || key.startsWith('insomnia') || key.startsWith('mesh') || key.startsWith('kic') || key.startsWith('_')))",message="keys must not start with 'kong', 'konnect', 'insomnia', 'mesh', 'kic', or '_'."
	// +kubebuilder:validation:XValidation:rule="self.all(key, size(key) > 0 && size(key) < 64)",message="Too long: may not be more than 63 bytes"
	Labels map[string]DataPlaneLabelValue `json:"labels,omitempty"`
}

KonnectExtensionDataPlane is the configuration for the Konnect DataPlane.

func (*KonnectExtensionDataPlane) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionDataPlane.

func (*KonnectExtensionDataPlane) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectExtensionKonnectSpec

type KonnectExtensionKonnectSpec struct {
	// ControlPlane is the configuration for the Konnect Control Plane.
	//
	// +required
	ControlPlane KonnectExtensionControlPlane `json:"controlPlane"`

	// DataPlane is the configuration for the Konnect DataPlane.
	//
	// +optional
	DataPlane *KonnectExtensionDataPlane `json:"dataPlane,omitempty"`

	// Configuration holds the information needed to set up the Konnect Configuration.
	//
	// +optional
	Configuration *konnectv1alpha2.KonnectConfiguration `json:"configuration,omitempty"`
}

KonnectExtensionKonnectSpec holds the konnect-related configuration.

func (*KonnectExtensionKonnectSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionKonnectSpec.

func (*KonnectExtensionKonnectSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectExtensionList

type KonnectExtensionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KonnectExtension `json:"items"`
}

KonnectExtensionList contains a list of KonnectExtension.

+kubebuilder:object:root=true +apireference:kgo:include

func (*KonnectExtensionList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionList.

func (*KonnectExtensionList) DeepCopyInto

func (in *KonnectExtensionList) DeepCopyInto(out *KonnectExtensionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectExtensionList) DeepCopyObject

func (in *KonnectExtensionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KonnectExtensionSpec

type KonnectExtensionSpec struct {
	// Konnect holds the konnect-related configuration
	//
	// +required
	Konnect KonnectExtensionKonnectSpec `json:"konnect"`

	// ClientAuth is the configuration for the client certificate authentication.
	// In case the ControlPlaneRef is of type KonnectID, it is required to set up the connection with the
	// Konnect Platform.
	//
	// +optional
	// +kubebuilder:default={certificateSecret:{provisioning: Automatic}}
	ClientAuth *KonnectExtensionClientAuth `json:"clientAuth,omitempty"`
}

KonnectExtensionSpec defines the desired state of KonnectExtension.

func (*KonnectExtensionSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionSpec.

func (*KonnectExtensionSpec) DeepCopyInto

func (in *KonnectExtensionSpec) DeepCopyInto(out *KonnectExtensionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectExtensionStatus

type KonnectExtensionStatus struct {
	// DataPlaneRefs is the array  of DataPlane references this is associated with.
	// A new reference is set by the operator when this extension is associated with
	// a DataPlane through its extensions spec.
	//
	// +optional
	// +kubebuilder:validation:MaxItems=16
	DataPlaneRefs []commonv1alpha1.NamespacedRef `json:"dataPlaneRefs,omitempty"`

	// ControlPlaneRefs is the array  of ControlPlane references this is associated with.
	// A new reference is set by the operator when this extension is associated with
	// a ControlPlane through its extensions spec.
	//
	// +optional
	// +kubebuilder:validation:MaxItems=16
	ControlPlaneRefs []commonv1alpha1.NamespacedRef `json:"controlPlaneRefs,omitempty"`

	// DataPlaneClientAuth contains the configuration for the client certificate authentication for the DataPlane.
	//
	// +optional
	DataPlaneClientAuth *DataPlaneClientAuthStatus `json:"dataPlaneClientAuth,omitempty"`

	// Konnect contains the status information related to the Konnect Control Plane.
	//
	// +optional
	Konnect *KonnectExtensionControlPlaneStatus `json:"konnect,omitempty"`

	// Conditions describe the current conditions of the KonnectExtensionStatus.
	// Known condition types are:
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KonnectExtensionStatus defines the observed state of KonnectExtension.

func (*KonnectExtensionStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionStatus.

func (*KonnectExtensionStatus) DeepCopyInto

func (in *KonnectExtensionStatus) DeepCopyInto(out *KonnectExtensionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectGatewayControlPlane

type KonnectGatewayControlPlane struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the desired state of KonnectGatewayControlPlane.
	Spec KonnectGatewayControlPlaneSpec `json:"spec,omitempty"`

	// Status defines the observed state of KonnectGatewayControlPlane.
	//
	// +optional
	Status KonnectGatewayControlPlaneStatus `json:"status,omitempty"`
}

KonnectGatewayControlPlane is the Schema for the KonnectGatewayControlplanes API.

+genclient +kubebuilder:deprecatedversion:warning="This API version has been deprecated in favor of v1alpha2 and it will be removed in the future." +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong;konnect +kubebuilder:object:root=true +kubebuilder:object:generate=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="ID",description="Konnect ID",type=string,JSONPath=`.status.id` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:validation:XValidation:message="spec.konnect.authRef is immutable when an entity is already Programmed", rule="!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True') ? true : self.spec.konnect.authRef == oldSelf.spec.konnect.authRef" +kubebuilder:validation:XValidation:message="spec.konnect.authRef is immutable when an entity refers to a Valid API Auth Configuration", rule="!self.status.conditions.exists(c, c.type == 'APIAuthValid' && c.status == 'True') ? true : self.spec.konnect.authRef == oldSelf.spec.konnect.authRef" +apireference:kgo:include +kong:channels=gateway-operator

func (*KonnectGatewayControlPlane) ConvertFrom

func (dst *KonnectGatewayControlPlane) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts the Hub version (v1alpha2) to this KonnectGatewayControlPlane (v1alpha1).

func (*KonnectGatewayControlPlane) ConvertTo

func (src *KonnectGatewayControlPlane) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this KonnectGatewayControlPlane (v1alpha1) to the Hub version (v1alpha2).

func (*KonnectGatewayControlPlane) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectGatewayControlPlane.

func (*KonnectGatewayControlPlane) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectGatewayControlPlane) DeepCopyObject

func (in *KonnectGatewayControlPlane) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KonnectGatewayControlPlane) GetConditions

func (obj *KonnectGatewayControlPlane) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions

func (*KonnectGatewayControlPlane) GetKonnectAPIAuthConfigurationRef

func (c *KonnectGatewayControlPlane) GetKonnectAPIAuthConfigurationRef() konnectv1alpha2.KonnectAPIAuthConfigurationRef

GetKonnectAPIAuthConfigurationRef returns the Konnect API Auth Configuration Ref.

func (*KonnectGatewayControlPlane) GetKonnectID

func (obj *KonnectGatewayControlPlane) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KonnectGatewayControlPlane status.

func (*KonnectGatewayControlPlane) GetKonnectLabels

func (c *KonnectGatewayControlPlane) GetKonnectLabels() map[string]string

GetKonnectLabels gets the Konnect Labels from object's spec.

func (*KonnectGatewayControlPlane) GetKonnectStatus

GetKonnectStatus returns the Konnect status contained in the KonnectGatewayControlPlane status.

func (KonnectGatewayControlPlane) GetTypeName

func (obj KonnectGatewayControlPlane) GetTypeName() string

GetTypeName returns the KonnectGatewayControlPlane Kind name

func (*KonnectGatewayControlPlane) SetConditions

func (obj *KonnectGatewayControlPlane) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions

func (*KonnectGatewayControlPlane) SetKonnectID

func (obj *KonnectGatewayControlPlane) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KonnectGatewayControlPlane status.

func (*KonnectGatewayControlPlane) SetKonnectLabels

func (c *KonnectGatewayControlPlane) SetKonnectLabels(labels map[string]string)

SetKonnectLabels sets the Konnect Labels in object's spec.

type KonnectGatewayControlPlaneList

type KonnectGatewayControlPlaneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []KonnectGatewayControlPlane `json:"items"`
}

KonnectGatewayControlPlaneList contains a list of KonnectGatewayControlPlane. +kubebuilder:object:root=true +apireference:kgo:include

func (*KonnectGatewayControlPlaneList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectGatewayControlPlaneList.

func (*KonnectGatewayControlPlaneList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KonnectGatewayControlPlaneList) DeepCopyObject

func (in *KonnectGatewayControlPlaneList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (KonnectGatewayControlPlaneList) GetItems

GetItems returns the list of KonnectGatewayControlPlane items.

type KonnectGatewayControlPlaneSpec

type KonnectGatewayControlPlaneSpec struct {
	CreateControlPlaneRequest `json:",inline"`

	// Mirror is the Konnect Mirror configuration.
	// It is only applicable for ControlPlanes that are created as Mirrors.
	//
	// +optional
	Mirror *MirrorSpec `json:"mirror,omitempty"`

	// Source represents the source type of the Konnect entity.
	//
	// +kubebuilder:validation:Enum=Origin;Mirror
	// +optional
	// +kubebuilder:default=Origin
	Source *commonv1alpha1.EntitySource `json:"source,omitempty"`

	// Members is a list of references to the KonnectGatewayControlPlaneMembers that are part of this control plane group.
	// Only applicable for ControlPlanes that are created as groups.
	//
	// +optional
	Members []corev1.LocalObjectReference `json:"members,omitempty"`

	// KonnectConfiguration contains the Konnect configuration for the control plane.
	//
	// +optional
	KonnectConfiguration konnectv1alpha2.KonnectConfiguration `json:"konnect,omitempty"`
}

KonnectGatewayControlPlaneSpec defines the desired state of KonnectGatewayControlPlane. +kubebuilder:validation:XValidation:message="spec.labels must not have more than 40 entries", rule="has(self.labels) ? size(self.labels) <= 40 : true" +kubebuilder:validation:XValidation:message="spec.labels keys must be of length 1-63 characters", rule="has(self.labels) ? self.labels.all(key, size(key) >= 1 && size(key) <= 63) : true" +kubebuilder:validation:XValidation:message="spec.labels values must be of length 1-63 characters", rule="has(self.labels) ? self.labels.all(key, size(self.labels[key]) >= 1 && size(self.labels[key]) <= 63) : true" +kubebuilder:validation:XValidation:message="spec.labels keys must not start with 'k8s', 'kong', 'konnect', 'mesh', 'kic', 'insomnia' or '_'", rule="has(self.labels) ? self.labels.all(key, !key.startsWith('k8s') && !key.startsWith('kong') && !key.startsWith('konnect') && !key.startsWith('mesh') && !key.startsWith('kic') && !key.startsWith('_') && !key.startsWith('insomnia')) : true" +kubebuilder:validation:XValidation:message="spec.labels keys must satisfy the '^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$' pattern", rule="has(self.labels) ? self.labels.all(key, key.matches('^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$')) : true" +kubebuilder:validation:XValidation:message="when specified, spec.cluster_type must be one of 'CLUSTER_TYPE_CONTROL_PLANE_GROUP', 'CLUSTER_TYPE_CONTROL_PLANE' or 'CLUSTER_TYPE_K8S_INGRESS_CONTROLLER'", rule="!has(self.cluster_type) ? true : ['CLUSTER_TYPE_CONTROL_PLANE_GROUP', 'CLUSTER_TYPE_CONTROL_PLANE', 'CLUSTER_TYPE_K8S_INGRESS_CONTROLLER'].exists(ct, ct == self.cluster_type)" +kubebuilder:validation:XValidation:message="spec.members is only applicable for ControlPlanes that are created as groups", rule="(has(self.cluster_type) && self.cluster_type != 'CLUSTER_TYPE_CONTROL_PLANE_GROUP') ? !has(self.members) : true" +kubebuilder:validation:XValidation:message="spec.cluster_type is immutable", rule="!has(self.cluster_type) ? !has(oldSelf.cluster_type) : self.cluster_type == oldSelf.cluster_type" +kubebuilder:validation:XValidation:message="cloud_gateway cannot be set for cluster_type 'CLUSTER_TYPE_K8S_INGRESS_CONTROLLER'", rule="has(self.cluster_type) && self.cluster_type == 'CLUSTER_TYPE_K8S_INGRESS_CONTROLLER' ? !has(self.cloud_gateway) : true" +kubebuilder:validation:XValidation:message="createControlPlaneRequest fields cannot be set for type Mirror", rule="self.source == 'Mirror' ? !has(self.name) && !has(self.description) && !has(self.cluster_type) && !has(self.auth_type) && !has(self.cloud_gateway) && !has(self.proxy_urls) && !has(self.labels) : true" +kubebuilder:validation:XValidation:message="spec.source is immutable", rule="self.source == oldSelf.source" +kubebuilder:validation:XValidation:message="mirror field must be set for type Mirror", rule="self.source == 'Mirror' ? has(self.mirror) : true" +kubebuilder:validation:XValidation:message="mirror field cannot be set for type Origin", rule="self.source == 'Origin' ? !has(self.mirror) : true" +kubebuilder:validation:XValidation:message="Name must be set for type Origin", rule="self.source == 'Origin' ? has(self.name) : true" +apireference:kgo:include

func (*KonnectGatewayControlPlaneSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectGatewayControlPlaneSpec.

func (*KonnectGatewayControlPlaneSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectGatewayControlPlaneStatus

type KonnectGatewayControlPlaneStatus struct {
	konnectv1alpha2.KonnectEntityStatus `json:",inline"`

	// Endpoints defines the Konnect endpoints for the control plane.
	// They are required by the DataPlane to be properly configured in
	// Konnect and connect to the control plane.
	//
	// +optional
	Endpoints *KonnectEndpoints `json:"konnectEndpoints,omitempty"`

	// Conditions describe the current conditions of the KonnectGatewayControlPlane.
	//
	// Known condition types are:
	//
	// * "Programmed"
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KonnectGatewayControlPlaneStatus defines the observed state of KonnectGatewayControlPlane. +apireference:kgo:include

func (*KonnectGatewayControlPlaneStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectGatewayControlPlaneStatus.

func (*KonnectGatewayControlPlaneStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KonnectTransitGatewayAPISpec

type KonnectTransitGatewayAPISpec struct {
	// Type is the type of the Konnect transit gateway.
	//
	// +required
	// +kubebuilder:validation:Enum=AWSTransitGateway;AzureTransitGateway
	Type TransitGatewayType `json:"type"`

	// AWSTransitGateway is the configuration of an AWS transit gateway.
	// Used when type is "AWS Transit Gateway".
	//
	// +optional
	AWSTransitGateway *AWSTransitGateway `json:"awsTransitGateway,omitempty"`
	// AzureTransitGateway is the configuration of an Azure transit gateway.
	// Used when type is "Azure Transit Gateway".
	//
	// +optional
	AzureTransitGateway *AzureTransitGateway `json:"azureTransitGateway,omitempty"`
}

KonnectTransitGatewayAPISpec specifies a transit gateway on the Konnect side. The type and all the types it referenced are mostly copied github.com/Kong/sdk-konnect-go/models/components.CreateTransitGatewayRequest.

+kubebuilder:validation:XValidation:rule="self.type == oldSelf.type", message="spec.type is immutable" +kubebuilder:validation:XValidation:rule="self.type == 'AWSTransitGateway' ? has(self.awsTransitGateway) : true", message="must set spec.awsTransitGateway when spec.type is 'AWSTransitGateway'" +kubebuilder:validation:XValidation:rule="self.type != 'AWSTransitGateway' ? !has(self.awsTransitGateway) : true", message="must not set spec.awsTransitGateway when spec.type is not 'AWSTransitGateway'" +kubebuilder:validation:XValidation:rule="self.type == 'AzureTransitGateway' ? has(self.azureTransitGateway) : true", message = "must set spec.azureTransitGateway when spec.type is 'AzureTransitGateway'" +kubebuilder:validation:XValidation:rule="self.type != 'AzureTransitGateway' ? !has(self.azureTransitGateway) : true", message = "must not set spec.azureTransitGateway when spec.type is not 'AzureTransitGateway'"

func (*KonnectTransitGatewayAPISpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectTransitGatewayAPISpec.

func (*KonnectTransitGatewayAPISpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MirrorKonnect

type MirrorKonnect struct {
	// ID is the ID of the Konnect entity. It can be set only in case
	// the ControlPlane type is Mirror.
	//
	// +required
	ID commonv1alpha1.KonnectIDType `json:"id"`
}

MirrorKonnect contains the Konnect Mirror configuration.

func (*MirrorKonnect) DeepCopy

func (in *MirrorKonnect) DeepCopy() *MirrorKonnect

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirrorKonnect.

func (*MirrorKonnect) DeepCopyInto

func (in *MirrorKonnect) DeepCopyInto(out *MirrorKonnect)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MirrorSpec

type MirrorSpec struct {
	// Konnect contains the KonnectID of the KonnectGatewayControlPlane that
	// is mirrored.
	//
	// +required
	Konnect MirrorKonnect `json:"konnect"`
}

MirrorSpec contains the Konnect Mirror configuration.

func (*MirrorSpec) DeepCopy

func (in *MirrorSpec) DeepCopy() *MirrorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MirrorSpec.

func (*MirrorSpec) DeepCopyInto

func (in *MirrorSpec) DeepCopyInto(out *MirrorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProvisioningMethod

type ProvisioningMethod string

ProvisioningMethod is the type of the provisioning methods available to provision the certificate.

const (
	// ManualSecretProvisioning is the method used to provision the certificate manually.
	ManualSecretProvisioning ProvisioningMethod = "Manual"
	// AutomaticSecretProvisioning is the method used to provision the certificate automatically.
	AutomaticSecretProvisioning ProvisioningMethod = "Automatic"
)

type SecretRef

type SecretRef struct {
	// Name is the name of the Secret containing the Konnect Control Plane's cluster certificate.
	//
	// +required
	Name string `json:"name"`
}

SecretRef contains the reference to the Secret containing the Konnect Control Plane's cluster certificate.

func (*SecretRef) DeepCopy

func (in *SecretRef) DeepCopy() *SecretRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.

func (*SecretRef) DeepCopyInto

func (in *SecretRef) DeepCopyInto(out *SecretRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TransitGatewayDNSConfig

type TransitGatewayDNSConfig struct {
	// RemoteDNSServerIPAddresses is the list of remote DNS server IP Addresses to connect to for resolving internal DNS via a transit gateway.
	//
	// +optional
	RemoteDNSServerIPAddresses []string `json:"remote_dns_server_ip_addresses,omitempty"`
	// DomainProxyList is the list of internal domain names to proxy for DNS resolution from the listed remote DNS server IP addresses,
	// for a transit gateway.
	//
	// +optional
	DomainProxyList []string `json:"domain_proxy_list,omitempty"`
}

TransitGatewayDNSConfig is the DNS configuration of a tansit gateway.

func (*TransitGatewayDNSConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewayDNSConfig.

func (*TransitGatewayDNSConfig) DeepCopyInto

func (in *TransitGatewayDNSConfig) DeepCopyInto(out *TransitGatewayDNSConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TransitGatewayType

type TransitGatewayType string

TransitGatewayType defines the type of Konnect transit gateway.

const (
	// TransitGatewayTypeAWSTransitGateway defines the the AWS transit gateway type.
	TransitGatewayTypeAWSTransitGateway TransitGatewayType = "AWSTransitGateway"
	// TransitGatewayTypeAzureTransitGateway defines the Azure transit gateway type.
	TransitGatewayTypeAzureTransitGateway TransitGatewayType = "AzureTransitGateway"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL