v1alpha1

package
v1.5.3 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2025 License: MIT Imports: 7 Imported by: 18

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 (
	// KonnectExtensionReadyConditionType is the type of the condition that indicates
	// whether the Konnect extension is ready to be used.
	KonnectExtensionReadyConditionType = "Ready"

	// KonnectExtensionReadyReasonReady is the reason used with the
	// KonnectExtensionReady condition type indicating that the Konnect extension
	// is Ready.
	KonnectExtensionReadyReasonReady = "Ready"
	// KonnectExtensionReadyReasonPending is the reason used with the
	// KonnectExtensionReady condition type indicating that the Konnect extension
	// is pending.
	KonnectExtensionReadyReasonPending = "Pending"
	// KonnectExtensionReadyReasonProvisioning is the reason used with the
	// KonnectExtensionReady condition type indicating that the Konnect extension
	// is provisioning.
	KonnectExtensionReadyReasonProvisioning = "provisioning"
)
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 added in v1.2.0

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 added in v1.4.0

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

AWSTransitGateway is the configuration of an AWS transit gateway.

func (*AWSTransitGateway) DeepCopy added in v1.4.0

func (in *AWSTransitGateway) DeepCopy() *AWSTransitGateway

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

func (*AWSTransitGateway) DeepCopyInto added in v1.4.0

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 added in v1.4.0

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

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

func (*AwsTransitGatewayAttachmentConfig) DeepCopy added in v1.4.0

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

func (*AwsTransitGatewayAttachmentConfig) DeepCopyInto added in v1.4.0

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

type AzureTransitGateway added in v1.4.0

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

AzureTransitGateway is the configuration of an Azure transit gateway.

func (*AzureTransitGateway) DeepCopy added in v1.4.0

func (in *AzureTransitGateway) DeepCopy() *AzureTransitGateway

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

func (*AzureTransitGateway) DeepCopyInto added in v1.4.0

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 added in v1.4.0

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

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

func (*AzureVNETPeeringAttachmentConfig) DeepCopy added in v1.4.0

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

func (*AzureVNETPeeringAttachmentConfig) DeepCopyInto added in v1.4.0

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

type CertificateSecret added in v1.2.0

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.
	//
	// +kubebuilder:validation: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.
	//
	// +kubebuilder:validation:Optional
	CertificateSecretRef *SecretRef `json:"secretRef,omitempty"`
}

CertificateSecret contains the information to access the client certificate.

func (*CertificateSecret) DeepCopy added in v1.2.0

func (in *CertificateSecret) DeepCopy() *CertificateSecret

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

func (*CertificateSecret) DeepCopyInto added in v1.2.0

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 added in v1.2.0

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

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

	// Type of autoscaling to use.
	//
	// +kubebuilder:validation: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 added in v1.2.0

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

func (*ConfigurationDataPlaneGroupAutoscale) DeepCopyInto added in v1.2.0

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

type ConfigurationDataPlaneGroupAutoscaleAutopilot added in v1.2.0

type ConfigurationDataPlaneGroupAutoscaleAutopilot struct {
	// Base number of requests per second that the deployment target should support.
	//
	// +kubebuilder:validation: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.
	MaxRps *int64 `json:"max_rps,omitempty"`
}

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

func (*ConfigurationDataPlaneGroupAutoscaleAutopilot) DeepCopy added in v1.2.0

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

func (*ConfigurationDataPlaneGroupAutoscaleAutopilot) DeepCopyInto added in v1.2.0

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

type ConfigurationDataPlaneGroupAutoscaleStatic added in v1.2.0

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.
	//
	// +kubebuilder:validation:Required
	InstanceType sdkkonnectcomp.InstanceTypeName `json:"instance_type"`

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

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

func (*ConfigurationDataPlaneGroupAutoscaleStatic) DeepCopy added in v1.2.0

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

func (*ConfigurationDataPlaneGroupAutoscaleStatic) DeepCopyInto added in v1.2.0

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

type ConfigurationDataPlaneGroupAutoscaleType added in v1.2.0

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 added in v1.2.0

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
	// +kubebuilder:validation: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
	// +kubebuilder:validation:Required
	Value string `json:"value"`
}

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

func (*ConfigurationDataPlaneGroupEnvironmentField) DeepCopy added in v1.2.0

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

func (*ConfigurationDataPlaneGroupEnvironmentField) DeepCopyInto added in v1.2.0

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

type CreateControlPlaneRequest added in v1.4.0

type CreateControlPlaneRequest struct {
	// The name of the control plane.
	Name *string `json:"name,omitempty"`
	// The description of the control plane in Konnect.
	Description *string `json:"description,omitempty"`
	// The ClusterType value of the cluster associated with the Control Plane.
	ClusterType *sdkkonnectcomp.CreateControlPlaneRequestClusterType `json:"cluster_type,omitempty"`
	// The auth type value of the cluster associated with the Runtime Group.
	AuthType *sdkkonnectcomp.AuthType `json:"auth_type,omitempty"`
	// Whether this control-plane can be used for cloud-gateways.
	CloudGateway *bool `json:"cloud_gateway,omitempty"`
	// Array of proxy URLs associated with reaching the data-planes connected to a control-plane.
	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 "_".
	//
	Labels map[string]string `json:"labels,omitempty"`
}

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

func (*CreateControlPlaneRequest) DeepCopy added in v1.4.0

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

func (*CreateControlPlaneRequest) DeepCopyInto added in v1.4.0

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

type DataPlaneClientAuthStatus added in v1.2.0

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

DataPlaneClientAuthStatus contains the status information related to the ClientAuth configuration.

func (*DataPlaneClientAuthStatus) DeepCopy added in v1.2.0

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

func (*DataPlaneClientAuthStatus) DeepCopyInto added in v1.2.0

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

type DataPlaneLabelValue added in v1.2.0

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.
	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 +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 added in v0.0.25

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 added in v0.0.33

GetItems returns the list of KonnectAPIAuthConfiguration items.

type KonnectAPIAuthConfigurationRef

type KonnectAPIAuthConfigurationRef struct {
	// Name is the name of the KonnectAPIAuthConfiguration resource.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

KonnectAPIAuthConfigurationRef is a reference to a KonnectAPIAuthConfiguration resource. +apireference:kgo:include

func (*KonnectAPIAuthConfigurationRef) DeepCopy

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

func (*KonnectAPIAuthConfigurationRef) DeepCopyInto

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

type KonnectAPIAuthConfigurationSpec

type KonnectAPIAuthConfigurationSpec struct {
	// +kubebuilder:validation: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.
	// +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.
	OrganizationID string `json:"organizationID,omitempty"`

	// ServerURL is configured server URL.
	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"}}
	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 added in v1.2.0

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.
	Status KonnectCloudGatewayDataPlaneGroupConfigurationStatus `json:"status,omitempty"`
}

KonnectCloudGatewayDataPlaneGroupConfiguration is the Schema for the Konnect Network API.

+genclient +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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` +apireference:kgo:include +kong:channels=gateway-operator

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) DeepCopy added in v1.2.0

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

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) DeepCopyInto added in v1.2.0

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

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) DeepCopyObject added in v1.2.0

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

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) GetConditions added in v1.2.0

GetConditions returns the Status Conditions

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) GetControlPlaneID added in v1.2.0

func (obj *KonnectCloudGatewayDataPlaneGroupConfiguration) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KonnectCloudGatewayDataPlaneGroupConfiguration status.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) GetControlPlaneRef added in v1.2.0

GetControlPlaneRef returns the ControlPlaneRef.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) GetKonnectID added in v1.2.0

GetKonnectID returns the Konnect ID in the KonnectCloudGatewayDataPlaneGroupConfiguration status.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) GetKonnectStatus added in v1.2.0

GetKonnectStatus returns the Konnect status contained in the KonnectCloudGatewayDataPlaneGroupConfiguration status.

func (KonnectCloudGatewayDataPlaneGroupConfiguration) GetTypeName added in v1.2.0

GetTypeName returns the KonnectCloudGatewayDataPlaneGroupConfiguration Kind name

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) SetConditions added in v1.2.0

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

SetConditions sets the Status Conditions

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) SetControlPlaneID added in v1.2.0

func (obj *KonnectCloudGatewayDataPlaneGroupConfiguration) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KonnectCloudGatewayDataPlaneGroupConfiguration status.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) SetControlPlaneRef added in v1.2.0

SetControlPlaneRef sets the ControlPlaneRef.

func (*KonnectCloudGatewayDataPlaneGroupConfiguration) SetKonnectID added in v1.2.0

SetKonnectID sets the Konnect ID in the KonnectCloudGatewayDataPlaneGroupConfiguration status.

type KonnectCloudGatewayDataPlaneGroupConfigurationList added in v1.2.0

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 added in v1.2.0

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

func (*KonnectCloudGatewayDataPlaneGroupConfigurationList) DeepCopyInto added in v1.2.0

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

func (*KonnectCloudGatewayDataPlaneGroupConfigurationList) DeepCopyObject added in v1.2.0

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

func (KonnectCloudGatewayDataPlaneGroupConfigurationList) GetItems added in v1.2.0

GetItems returns the list of KonnectCloudGatewayDataPlaneGroupConfiguration items.

type KonnectCloudGatewayDataPlaneGroupConfigurationSpec added in v1.2.0

type KonnectCloudGatewayDataPlaneGroupConfigurationSpec struct {
	// Version specifies the desired Kong Gateway version.
	//
	// +kubebuilder:validation: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.
	//
	// +kubebuilder:validation:Optional
	DataplaneGroups []KonnectConfigurationDataPlaneGroup `json:"dataplane_groups"`

	// APIAccess is the desired type of API access for data-plane groups.
	//
	// +kubebuilder:validation: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.
	//
	// +kubebuilder:validation:Required
	ControlPlaneRef commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`
}

KonnectCloudGatewayDataPlaneGroupConfigurationSpec defines the desired state of KonnectCloudGatewayDataPlaneGroupConfiguration.

+apireference:kgo:include

func (*KonnectCloudGatewayDataPlaneGroupConfigurationSpec) DeepCopy added in v1.2.0

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

func (*KonnectCloudGatewayDataPlaneGroupConfigurationSpec) DeepCopyInto added in v1.2.0

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

type KonnectCloudGatewayDataPlaneGroupConfigurationStatus added in v1.2.0

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

	// DataPlaneGroups is a list of deployed data-plane groups.
	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"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

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

func (*KonnectCloudGatewayDataPlaneGroupConfigurationStatus) DeepCopy added in v1.2.0

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

func (*KonnectCloudGatewayDataPlaneGroupConfigurationStatus) DeepCopyInto added in v1.2.0

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

type KonnectCloudGatewayDataPlaneGroupConfigurationStatusGroup added in v1.2.0

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

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

	// Name of cloud provider.
	//
	// +kubebuilder:validation:Required
	Provider sdkkonnectcomp.ProviderName `json:"provider"`

	// Region ID for cloud provider region.
	//
	// +kubebuilder:validation: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.
	//
	// +kubebuilder:validation: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.
	//
	// +kubebuilder:validation: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.
	//
	// +kubebuilder:validation:Required
	State string `json:"state"`
}

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

func (*KonnectCloudGatewayDataPlaneGroupConfigurationStatusGroup) DeepCopy added in v1.2.0

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

func (*KonnectCloudGatewayDataPlaneGroupConfigurationStatusGroup) DeepCopyInto added in v1.2.0

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

type KonnectCloudGatewayNetwork added in v1.2.0

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.
	Status KonnectCloudGatewayNetworkStatus `json:"status,omitempty"`
}

KonnectCloudGatewayNetwork is the Schema for the Konnect Network API.

+genclient +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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 added in v1.2.0

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

func (*KonnectCloudGatewayNetwork) DeepCopyInto added in v1.2.0

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

func (*KonnectCloudGatewayNetwork) DeepCopyObject added in v1.2.0

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

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

func (*KonnectCloudGatewayNetwork) GetConditions added in v1.2.0

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

GetConditions returns the Status Conditions

func (*KonnectCloudGatewayNetwork) GetKonnectAPIAuthConfigurationRef added in v1.2.0

func (c *KonnectCloudGatewayNetwork) GetKonnectAPIAuthConfigurationRef() KonnectAPIAuthConfigurationRef

GetKonnectAPIAuthConfigurationRef returns the Konnect API Auth Configuration Ref.

func (*KonnectCloudGatewayNetwork) GetKonnectID added in v1.2.0

func (obj *KonnectCloudGatewayNetwork) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KonnectCloudGatewayNetwork status.

func (*KonnectCloudGatewayNetwork) GetKonnectStatus added in v1.2.0

func (obj *KonnectCloudGatewayNetwork) GetKonnectStatus() *KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KonnectCloudGatewayNetwork status.

func (KonnectCloudGatewayNetwork) GetTypeName added in v1.2.0

func (obj KonnectCloudGatewayNetwork) GetTypeName() string

GetTypeName returns the KonnectCloudGatewayNetwork Kind name

func (*KonnectCloudGatewayNetwork) SetConditions added in v1.2.0

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

SetConditions sets the Status Conditions

func (*KonnectCloudGatewayNetwork) SetKonnectID added in v1.2.0

func (obj *KonnectCloudGatewayNetwork) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KonnectCloudGatewayNetwork status.

type KonnectCloudGatewayNetworkList added in v1.2.0

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 added in v1.2.0

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

func (*KonnectCloudGatewayNetworkList) DeepCopyInto added in v1.2.0

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

func (*KonnectCloudGatewayNetworkList) DeepCopyObject added in v1.2.0

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

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

func (KonnectCloudGatewayNetworkList) GetItems added in v1.2.0

GetItems returns the list of KonnectCloudGatewayNetwork items.

type KonnectCloudGatewayNetworkSpec added in v1.2.0

type KonnectCloudGatewayNetworkSpec struct {

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

	// Specifies the provider Account ID.
	//
	// +kubebuilder:validation:Required
	CloudGatewayProviderAccountID string `json:"cloud_gateway_provider_account_id"`

	// Region ID for cloud provider region.
	//
	// +kubebuilder:validation:Required
	Region string `json:"region"`

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

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

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

	// +kubebuilder:validation:Required
	KonnectConfiguration KonnectConfiguration `json:"konnect"`
}

KonnectCloudGatewayNetworkSpec defines the desired state of KonnectCloudGatewayNetwork.

+apireference:kgo:include

func (*KonnectCloudGatewayNetworkSpec) DeepCopy added in v1.2.0

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

func (*KonnectCloudGatewayNetworkSpec) DeepCopyInto added in v1.2.0

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

type KonnectCloudGatewayNetworkStatus added in v1.2.0

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

	// State is the current state of the network. Can be e.g. initializing, ready, terminating.
	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"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

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

func (*KonnectCloudGatewayNetworkStatus) DeepCopy added in v1.2.0

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

func (*KonnectCloudGatewayNetworkStatus) DeepCopyInto added in v1.2.0

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

type KonnectCloudGatewayTransitGateway added in v1.4.0

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.
	Status KonnectCloudGatewayTransitGatewayStatus `json:"status,omitempty"`
}

KonnectCloudGatewayTransitGateway is the Schema for the Konnect Transit Gateway API.

+genclient +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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 added in v1.4.0

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

func (*KonnectCloudGatewayTransitGateway) DeepCopyInto added in v1.4.0

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

func (*KonnectCloudGatewayTransitGateway) DeepCopyObject added in v1.4.0

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

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

func (*KonnectCloudGatewayTransitGateway) GetConditions added in v1.4.0

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

GetConditions returns the Status Conditions

func (*KonnectCloudGatewayTransitGateway) GetKonnectID added in v1.4.0

func (obj *KonnectCloudGatewayTransitGateway) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KonnectCloudGatewayTransitGateway status.

func (*KonnectCloudGatewayTransitGateway) GetKonnectStatus added in v1.4.0

func (obj *KonnectCloudGatewayTransitGateway) GetKonnectStatus() *KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KonnectCloudGatewayTransitGateway status.

func (*KonnectCloudGatewayTransitGateway) GetNetworkID added in v1.4.0

func (obj *KonnectCloudGatewayTransitGateway) GetNetworkID() string

GetNetworkID returns Konnect network ID in the KonnectCloudGatewayTransitGateway status.

func (KonnectCloudGatewayTransitGateway) GetTypeName added in v1.4.0

func (obj KonnectCloudGatewayTransitGateway) GetTypeName() string

GetTypeName returns the KonnectCloudGatewayTransitGateway Kind name

func (*KonnectCloudGatewayTransitGateway) SetConditions added in v1.4.0

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

SetConditions sets the Status Conditions

func (*KonnectCloudGatewayTransitGateway) SetKonnectID added in v1.4.0

func (obj *KonnectCloudGatewayTransitGateway) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KonnectCloudGatewayTransitGateway status.

func (*KonnectCloudGatewayTransitGateway) SetNetworkID added in v1.4.0

func (obj *KonnectCloudGatewayTransitGateway) SetNetworkID(id string)

SetNetworkID returns the Konnect network ID in the KonnectCloudGatewayTransitGateway status.

type KonnectCloudGatewayTransitGatewayList added in v1.4.0

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 added in v1.4.0

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

func (*KonnectCloudGatewayTransitGatewayList) DeepCopyInto added in v1.4.0

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

func (*KonnectCloudGatewayTransitGatewayList) DeepCopyObject added in v1.4.0

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

func (KonnectCloudGatewayTransitGatewayList) GetItems added in v1.4.0

GetItems returns the list of KonnectCloudGatewayTransitGateway items.

type KonnectCloudGatewayTransitGatewaySpec added in v1.4.0

type KonnectCloudGatewayTransitGatewaySpec struct {
	// NetworkRef is the schema for the NetworkRef type.
	//
	// +kubebuilder:validation: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 added in v1.4.0

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

func (*KonnectCloudGatewayTransitGatewaySpec) DeepCopyInto added in v1.4.0

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

type KonnectCloudGatewayTransitGatewayStatus added in v1.4.0

type KonnectCloudGatewayTransitGatewayStatus struct {
	KonnectEntityStatusWithNetworkRef `json:",inline"`
	// State is the state of the transit gateway on Konnect side.
	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"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KonnectCloudGatewayTransitGatewayStatus defines the current state of KonnectCloudGatewayTransitGateway.

func (*KonnectCloudGatewayTransitGatewayStatus) DeepCopy added in v1.4.0

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

func (*KonnectCloudGatewayTransitGatewayStatus) DeepCopyInto added in v1.4.0

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

type KonnectConfiguration

type KonnectConfiguration struct {
	// APIAuthConfigurationRef is the reference to the API Auth Configuration
	// that should be used for this Konnect Configuration.
	//
	// +kubebuilder:validation:Required
	APIAuthConfigurationRef KonnectAPIAuthConfigurationRef `json:"authRef"`
}

KonnectConfiguration is the Schema for the KonnectConfiguration API. +kubebuilder:object:generate=false +apireference:kgo:include

type KonnectConfigurationDataPlaneGroup added in v1.2.0

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

	// Region for cloud provider region.
	//
	// +kubebuilder:validation: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.
	//
	// +kubebuilder:validation:Required
	NetworkRef commonv1alpha1.ObjectRef `json:"networkRef"`

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

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

KonnectConfigurationDataPlaneGroup is the schema for the KonnectConfiguration type.

func (*KonnectConfigurationDataPlaneGroup) DeepCopy added in v1.2.0

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

func (*KonnectConfigurationDataPlaneGroup) DeepCopyInto added in v1.2.0

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

type KonnectEndpoints added in v1.2.0

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

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

KonnectEndpoints defines the Konnect endpoints for the control plane.

func (*KonnectEndpoints) DeepCopy added in v1.2.0

func (in *KonnectEndpoints) DeepCopy() *KonnectEndpoints

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

func (*KonnectEndpoints) DeepCopyInto added in v1.2.0

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

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

type KonnectEntityStatus

type KonnectEntityStatus struct {
	// ID is the unique identifier of the Konnect entity as assigned by Konnect API.
	// If it's unset (empty string), it means the Konnect entity hasn't been created yet.
	ID string `json:"id,omitempty"`

	// ServerURL is the URL of the Konnect server in which the entity exists.
	ServerURL string `json:"serverURL,omitempty"`

	// OrgID is ID of Konnect Org that this entity has been created in.
	OrgID string `json:"organizationID,omitempty"`
}

KonnectEntityStatus represents the status of a Konnect entity. +apireference:kgo:include

func (*KonnectEntityStatus) DeepCopy

func (in *KonnectEntityStatus) DeepCopy() *KonnectEntityStatus

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

func (*KonnectEntityStatus) DeepCopyInto

func (in *KonnectEntityStatus) DeepCopyInto(out *KonnectEntityStatus)

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

func (*KonnectEntityStatus) GetKonnectID

func (in *KonnectEntityStatus) GetKonnectID() string

GetKonnectID returns the ID field of the KonnectEntityStatus struct.

func (*KonnectEntityStatus) GetOrgID

func (in *KonnectEntityStatus) GetOrgID() string

GetOrgID returns the OrgID field of the KonnectEntityStatus struct.

func (*KonnectEntityStatus) GetServerURL

func (in *KonnectEntityStatus) GetServerURL() string

GetServerURL returns the server URL of the KonnectEntityStatus struct.

func (*KonnectEntityStatus) SetKonnectID

func (in *KonnectEntityStatus) SetKonnectID(id string)

SetKonnectID sets the ID field of the KonnectEntityStatus struct.

func (*KonnectEntityStatus) SetOrgID

func (in *KonnectEntityStatus) SetOrgID(id string)

SetOrgID sets the OrgID field of the KonnectEntityStatus struct.

func (*KonnectEntityStatus) SetServerURL

func (in *KonnectEntityStatus) SetServerURL(s string)

SetServerURL sets the server URL of the KonnectEntityStatus struct.

type KonnectEntityStatusWithControlPlaneAndCertificateRefs added in v0.0.21

type KonnectEntityStatusWithControlPlaneAndCertificateRefs struct {
	KonnectEntityStatus `json:",inline"`

	// ControlPlaneID is the Konnect ID of the ControlPlane this entity is associated with.
	ControlPlaneID string `json:"controlPlaneID,omitempty"`

	// CertificateID is the Konnect ID of the Certificate this entity is associated with.
	CertificateID string `json:"certificateID,omitempty"`
}

KonnectEntityStatusWithControlPlaneAndCertificateRefs represents the status of a Konnect entity with references to a ControlPlane and a Certificate. +apireference:kgo:include

func (*KonnectEntityStatusWithControlPlaneAndCertificateRefs) DeepCopy added in v0.0.21

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

func (*KonnectEntityStatusWithControlPlaneAndCertificateRefs) DeepCopyInto added in v0.0.21

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

type KonnectEntityStatusWithControlPlaneAndConsumerRefs added in v0.0.15

type KonnectEntityStatusWithControlPlaneAndConsumerRefs struct {
	KonnectEntityStatus `json:",inline"`

	// ControlPlaneID is the Konnect ID of the ControlPlane this Route is associated with.
	ControlPlaneID string `json:"controlPlaneID,omitempty"`

	// ConsumerID is the Konnect ID of the Consumer this entity is associated with.
	ConsumerID string `json:"consumerID,omitempty"`
}

KonnectEntityStatusWithControlPlaneAndConsumerRefs represents the status of a Konnect entity with references to a ControlPlane and a Consumer. +apireference:kgo:include

func (*KonnectEntityStatusWithControlPlaneAndConsumerRefs) DeepCopy added in v0.0.15

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

func (*KonnectEntityStatusWithControlPlaneAndConsumerRefs) DeepCopyInto added in v0.0.15

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

func (*KonnectEntityStatusWithControlPlaneAndConsumerRefs) GetConsumerID added in v0.0.15

GetConsumerID sets the Consumer ID of the KonnectEntityStatus struct.

func (*KonnectEntityStatusWithControlPlaneAndConsumerRefs) GetControlPlaneID added in v0.0.15

GetControlPlaneID sets the ControlPlane ID of the KonnectEntityStatus struct.

func (*KonnectEntityStatusWithControlPlaneAndConsumerRefs) SetConsumerID added in v0.0.15

SetConsumerID sets the Consumer ID of the KonnectEntityStatus struct.

func (*KonnectEntityStatusWithControlPlaneAndConsumerRefs) SetControlPlaneID added in v0.0.15

SetControlPlaneID sets the ControlPlane ID of the KonnectEntityStatus struct.

type KonnectEntityStatusWithControlPlaneAndKeySetRef added in v0.0.16

type KonnectEntityStatusWithControlPlaneAndKeySetRef struct {
	KonnectEntityStatus `json:",inline"`

	// ControlPlaneID is the Konnect ID of the ControlPlane this entity is associated with.
	ControlPlaneID string `json:"controlPlaneID,omitempty"`

	// KeySetID is the Konnect ID of the KeySet this entity is associated with.
	KeySetID string `json:"keySetID,omitempty"`
}

KonnectEntityStatusWithControlPlaneAndKeySetRef represents the status of a Konnect entity with references to a ControlPlane and a KeySet. +apireference:kgo:include

func (*KonnectEntityStatusWithControlPlaneAndKeySetRef) DeepCopy added in v0.0.16

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

func (*KonnectEntityStatusWithControlPlaneAndKeySetRef) DeepCopyInto added in v0.0.16

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

func (*KonnectEntityStatusWithControlPlaneAndKeySetRef) GetControlPlaneID added in v0.0.16

GetControlPlaneID sets the ControlPlane ID of the KonnectEntityStatus struct.

func (*KonnectEntityStatusWithControlPlaneAndKeySetRef) GetKeySetID added in v0.0.16

GetKeySetID sets the KeySet ID of the KonnectEntityStatus struct.

func (*KonnectEntityStatusWithControlPlaneAndKeySetRef) SetControlPlaneID added in v0.0.16

func (in *KonnectEntityStatusWithControlPlaneAndKeySetRef) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID of the KonnectEntityStatus struct.

func (*KonnectEntityStatusWithControlPlaneAndKeySetRef) SetKeySetID added in v0.0.16

SetKeySetID sets the KeySet ID of the KonnectEntityStatus struct.

type KonnectEntityStatusWithControlPlaneAndServiceRefs

type KonnectEntityStatusWithControlPlaneAndServiceRefs struct {
	KonnectEntityStatus `json:",inline"`

	// ControlPlaneID is the Konnect ID of the ControlPlane this entity is associated with.
	ControlPlaneID string `json:"controlPlaneID,omitempty"`

	// ServiceID is the Konnect ID of the Service this entity is associated with.
	ServiceID string `json:"serviceID,omitempty"`
}

KonnectEntityStatusWithControlPlaneAndServiceRefs represents the status of a Konnect entity with references to a ControlPlane and a Service. +apireference:kgo:include

func (*KonnectEntityStatusWithControlPlaneAndServiceRefs) DeepCopy

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

func (*KonnectEntityStatusWithControlPlaneAndServiceRefs) DeepCopyInto

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

func (*KonnectEntityStatusWithControlPlaneAndServiceRefs) GetControlPlaneID added in v0.0.7

GetControlPlaneID sets the server URL of the KonnectEntityStatus struct.

func (*KonnectEntityStatusWithControlPlaneAndServiceRefs) SetControlPlaneID added in v0.0.7

SetControlPlaneID sets the server URL of the KonnectEntityStatus struct.

type KonnectEntityStatusWithControlPlaneAndUpstreamRefs added in v0.0.15

type KonnectEntityStatusWithControlPlaneAndUpstreamRefs struct {
	KonnectEntityStatus `json:",inline"`

	// ControlPlaneID is the Konnect ID of the ControlPlane this entity is associated with.
	ControlPlaneID string `json:"controlPlaneID,omitempty"`

	// UpstreamID is the Konnect ID of the Upstream this entity is associated with.
	UpstreamID string `json:"upstreamID,omitempty"`
}

KonnectEntityStatusWithControlPlaneAndUpstreamRefs represents the status of a Konnect entity with references to a ControlPlane and an Upstream. +apireference:kgo:include

func (*KonnectEntityStatusWithControlPlaneAndUpstreamRefs) DeepCopy added in v0.0.15

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

func (*KonnectEntityStatusWithControlPlaneAndUpstreamRefs) DeepCopyInto added in v0.0.15

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

type KonnectEntityStatusWithControlPlaneRef

type KonnectEntityStatusWithControlPlaneRef struct {
	KonnectEntityStatus `json:",inline"`

	// ControlPlaneID is the Konnect ID of the ControlPlane this Route is associated with.
	ControlPlaneID string `json:"controlPlaneID,omitempty"`
}

KonnectEntityStatusWithControlPlaneRef represents the status of a Konnect entity with a reference to a ControlPlane. +apireference:kgo:include

func (*KonnectEntityStatusWithControlPlaneRef) DeepCopy

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

func (*KonnectEntityStatusWithControlPlaneRef) DeepCopyInto

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

func (*KonnectEntityStatusWithControlPlaneRef) GetControlPlaneID added in v0.0.2

func (in *KonnectEntityStatusWithControlPlaneRef) GetControlPlaneID() string

GetControlPlaneID sets the ControlPlane ID of the KonnectEntityStatus struct.

func (*KonnectEntityStatusWithControlPlaneRef) SetControlPlaneID added in v0.0.2

func (in *KonnectEntityStatusWithControlPlaneRef) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID of the KonnectEntityStatus struct.

type KonnectEntityStatusWithNetworkRef added in v1.4.0

type KonnectEntityStatusWithNetworkRef struct {
	KonnectEntityStatus `json:",inline"`
	// NetworkID is the Konnect ID of the Konnect cloud gateway network this entity is associated with.
	//
	// +kubebuilder:validation:Optional
	NetworkID string `json:"networkID,omitempty"`
}

KonnectEntityStatusWithNetworkRef represents the status of a Konnect entity with reference to a Konnect cloud gateway network.

func (*KonnectEntityStatusWithNetworkRef) DeepCopy added in v1.4.0

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

func (*KonnectEntityStatusWithNetworkRef) DeepCopyInto added in v1.4.0

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

type KonnectExtension added in v1.2.0

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.
	//
	// +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:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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 added in v1.2.0

func (in *KonnectExtension) DeepCopy() *KonnectExtension

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

func (*KonnectExtension) DeepCopyInto added in v1.2.0

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 added in v1.2.0

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

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

func (*KonnectExtension) GetConditions added in v1.2.0

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

GetConditions returns the Status Conditions

func (*KonnectExtension) GetControlPlaneRef added in v1.2.0

func (obj *KonnectExtension) GetControlPlaneRef() *commonv1alpha1.ControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (KonnectExtension) GetTypeName added in v1.2.0

func (obj KonnectExtension) GetTypeName() string

GetTypeName returns the KonnectExtension Kind name

func (*KonnectExtension) SetConditions added in v1.2.0

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

SetConditions sets the Status Conditions

func (*KonnectExtension) SetControlPlaneRef added in v1.2.0

func (obj *KonnectExtension) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

type KonnectExtensionClientAuth added in v1.2.0

type KonnectExtensionClientAuth struct {
	// CertificateSecret contains the information to access the client certificate.
	//
	// +kubebuilder:validation: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 added in v1.2.0

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

func (*KonnectExtensionClientAuth) DeepCopyInto added in v1.2.0

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

type KonnectExtensionClusterType added in v1.2.0

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 added in v1.2.0

type KonnectExtensionControlPlane struct {
	// Ref is a reference to a Konnect ControlPlane this KonnectExtension is associated with.
	//
	// +kubebuilder:validation: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 added in v1.2.0

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

func (*KonnectExtensionControlPlane) DeepCopyInto added in v1.2.0

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

type KonnectExtensionControlPlaneStatus added in v1.2.0

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

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

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

KonnectExtensionControlPlaneStatus contains the Konnect Control Plane status information.

func (*KonnectExtensionControlPlaneStatus) DeepCopy added in v1.2.0

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

func (*KonnectExtensionControlPlaneStatus) DeepCopyInto added in v1.2.0

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

type KonnectExtensionDataPlane added in v1.2.0

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 added in v1.2.0

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

func (*KonnectExtensionDataPlane) DeepCopyInto added in v1.2.0

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

type KonnectExtensionKonnectSpec added in v1.2.0

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

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

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

KonnectExtensionKonnectSpec holds the konnect-related configuration.

func (*KonnectExtensionKonnectSpec) DeepCopy added in v1.2.0

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

func (*KonnectExtensionKonnectSpec) DeepCopyInto added in v1.2.0

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

type KonnectExtensionList added in v1.2.0

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 added in v1.2.0

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

func (*KonnectExtensionList) DeepCopyInto added in v1.2.0

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 added in v1.2.0

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

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

func (KonnectExtensionList) GetItems added in v1.2.0

func (obj KonnectExtensionList) GetItems() []KonnectExtension

GetItems returns the list of KonnectExtension items.

type KonnectExtensionSpec added in v1.2.0

type KonnectExtensionSpec struct {
	// Konnect holds the konnect-related configuration
	//
	// +kubebuilder:validation: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.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:default={certificateSecret:{provisioning: Automatic}}
	ClientAuth *KonnectExtensionClientAuth `json:"clientAuth,omitempty"`
}

KonnectExtensionSpec defines the desired state of KonnectExtension.

func (*KonnectExtensionSpec) DeepCopy added in v1.2.0

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

func (*KonnectExtensionSpec) DeepCopyInto added in v1.2.0

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 added in v1.2.0

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.
	//
	// +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.
	//
	// +kubebuilder:validation:MaxItems=16
	ControlPlaneRefs []commonv1alpha1.NamespacedRef `json:"controlPlaneRefs,omitempty"`

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

	// Konnect contains the status information related to the Konnect Control Plane.
	//
	// +kubebuilder:validation: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 added in v1.2.0

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

func (*KonnectExtensionStatus) DeepCopyInto added in v1.2.0

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 added in v0.0.10

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.
	Status KonnectGatewayControlPlaneStatus `json:"status,omitempty"`
}

KonnectGatewayControlPlane is the Schema for the KonnectGatewayControlplanes API.

+genclient +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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) DeepCopy added in v0.0.10

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

func (*KonnectGatewayControlPlane) DeepCopyInto added in v0.0.10

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

func (*KonnectGatewayControlPlane) DeepCopyObject added in v0.0.10

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

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

func (*KonnectGatewayControlPlane) GetConditions added in v0.0.10

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

GetConditions returns the Status Conditions

func (*KonnectGatewayControlPlane) GetKonnectAPIAuthConfigurationRef added in v0.0.10

func (c *KonnectGatewayControlPlane) GetKonnectAPIAuthConfigurationRef() KonnectAPIAuthConfigurationRef

GetKonnectAPIAuthConfigurationRef returns the Konnect API Auth Configuration Ref.

func (*KonnectGatewayControlPlane) GetKonnectID added in v0.0.25

func (obj *KonnectGatewayControlPlane) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KonnectGatewayControlPlane status.

func (*KonnectGatewayControlPlane) GetKonnectLabels added in v0.0.10

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

GetKonnectLabels gets the Konnect Labels from object's spec.

func (*KonnectGatewayControlPlane) GetKonnectStatus added in v0.0.10

func (obj *KonnectGatewayControlPlane) GetKonnectStatus() *KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KonnectGatewayControlPlane status.

func (KonnectGatewayControlPlane) GetTypeName added in v0.0.10

func (obj KonnectGatewayControlPlane) GetTypeName() string

GetTypeName returns the KonnectGatewayControlPlane Kind name

func (*KonnectGatewayControlPlane) SetConditions added in v0.0.10

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

SetConditions sets the Status Conditions

func (*KonnectGatewayControlPlane) SetKonnectID added in v0.0.10

func (obj *KonnectGatewayControlPlane) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KonnectGatewayControlPlane status.

func (*KonnectGatewayControlPlane) SetKonnectLabels added in v0.0.10

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

SetKonnectLabels sets the Konnect Labels in object's spec.

type KonnectGatewayControlPlaneList added in v0.0.10

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 added in v0.0.10

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

func (*KonnectGatewayControlPlaneList) DeepCopyInto added in v0.0.10

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

func (*KonnectGatewayControlPlaneList) DeepCopyObject added in v0.0.10

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

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

func (KonnectGatewayControlPlaneList) GetItems added in v0.0.33

GetItems returns the list of KonnectGatewayControlPlane items.

type KonnectGatewayControlPlaneSpec added in v0.0.10

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

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

	// Source represents the source type of the Konnect entity.
	//
	// +kubebuilder:validation:Enum=Origin;Mirror
	// +kubebuilder:validation: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.
	Members []corev1.LocalObjectReference `json:"members,omitempty"`

	KonnectConfiguration 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 added in v0.0.10

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

func (*KonnectGatewayControlPlaneSpec) DeepCopyInto added in v0.0.10

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

type KonnectGatewayControlPlaneStatus added in v0.0.10

type KonnectGatewayControlPlaneStatus struct {
	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.
	//
	// +kubebuilder:validation: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"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

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

func (*KonnectGatewayControlPlaneStatus) DeepCopy added in v0.0.10

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

func (*KonnectGatewayControlPlaneStatus) DeepCopyInto added in v0.0.10

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

type KonnectTransitGatewayAPISpec added in v1.4.0

type KonnectTransitGatewayAPISpec struct {
	// Type is the type of the Konnect transit gateway.
	//
	// +kubebuilder:validation: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".
	//
	// +kubebuilder:validation:Optional
	AWSTransitGateway *AWSTransitGateway `json:"awsTransitGateway,omitempty"`
	// AzureTransitGateway is the configuration of an Azure transit gateway.
	// Used when type is "Azure Transit Gateway".
	//
	// +kubebuilder:validation: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 added in v1.4.0

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

func (*KonnectTransitGatewayAPISpec) DeepCopyInto added in v1.4.0

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

type MirrorKonnect added in v1.4.0

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

MirrorKonnect contains the Konnect Mirror configuration.

func (*MirrorKonnect) DeepCopy added in v1.4.0

func (in *MirrorKonnect) DeepCopy() *MirrorKonnect

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

func (*MirrorKonnect) DeepCopyInto added in v1.4.0

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 added in v1.4.0

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

MirrorSpec contains the Konnect Mirror configuration.

func (*MirrorSpec) DeepCopy added in v1.4.0

func (in *MirrorSpec) DeepCopy() *MirrorSpec

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

func (*MirrorSpec) DeepCopyInto added in v1.4.0

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 added in v1.2.0

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 added in v1.2.0

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

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

func (*SecretRef) DeepCopy added in v1.2.0

func (in *SecretRef) DeepCopy() *SecretRef

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

func (*SecretRef) DeepCopyInto added in v1.2.0

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 added in v1.4.0

type TransitGatewayDNSConfig struct {
	// RemoteDNSServerIPAddresses is the list of remote DNS server IP Addresses to connect to for resolving internal DNS via a transit gateway.
	//
	// +kubebuilder:validation: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.
	//
	// +kubebuilder:validation:Optional
	DomainProxyList []string `json:"domain_proxy_list,omitempty"`
}

TransitGatewayDNSConfig is the DNS configuration of a tansit gateway.

func (*TransitGatewayDNSConfig) DeepCopy added in v1.4.0

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

func (*TransitGatewayDNSConfig) DeepCopyInto added in v1.4.0

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 added in v1.4.0

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