v1alpha1

package
v1.2.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 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 (
	// KonnectExtensionAcceptedConditionType is the type of the condition that indicates
	// whether the Konnect extension has been accepted.
	KonnectExtensionAcceptedConditionType = "Accepted"

	// KonnectExtensionAcceptedReasonAccepted is the reason used with the
	// KonnectExtensionAccepted condition type indicating that the Konnect extension
	// has been accepted.
	KonnectExtensionAcceptedReasonAccepted = "Accepted"
	// KonnectExtensionAcceptedReasonPending is the reason used with the
	// KonnectExtensionAccepted condition type indicating that the Konnect extension
	// is pending.
	KonnectExtensionAcceptedReasonPending = "Pending"
	// KonnectExtensionAcceptedReasonInvalidControlPlaneRef is the reason used with the
	// KonnectExtensionAccepted condition type indicating that the ControlPlane reference
	// is invalid. Further details can be found in the ControlPlaneRef condition.
	KonnectExtensionAcceptedReasonInvalidControlPlaneRef = "InvalidControlPlaneRef"
	// KonnectExtensionAcceptedReasonFailedDataPlaneClientAuthSecretProvisioning is the reason used with the
	// KonnectExtensionAccepted condition type indicating that the DataPlaneClientAuth secret
	// reference provisioning has failed. Further details can be found in the DataPlaneClientAuthSecretProvisioning condition.
	KonnectExtensionAcceptedReasonFailedDataPlaneClientAuthSecretProvisioning = "FailedDataPlaneClientAuthSecretProvisioning"
)
View Source
const (
	// DataPlaneClientAuthSecretProvisioningConditionType is the type of the
	// condition that indicates whether the DataPlaneClientAuth secret reference is
	// valid and points to an existing Kubernetes secret.
	DataPlaneClientAuthSecretProvisioningConditionType = "SecretProvisioned"

	// DataPlaneClientAuthSecretProvisioningReasonProvisioned is the reason
	// used with the DataPlaneClientAuthSecretProvisioning condition type indicating that the
	// DataPlaneClientAuth secret has been properly provisioned in Konnect.
	DataPlaneClientAuthSecretProvisioningReasonProvisioned = "Provisioned"
	// DataPlaneClientAuthSecretProvisioningReasonRefNotFound is the reason
	// used with the DataPlaneClientAuthSecretProvisioning condition type indicating that the
	// DataPlaneClientAuth secret reference could not be resolved.
	DataPlaneClientAuthSecretProvisioningReasonRefNotFound = "RefNotFound"
	// DataPlaneClientAuthSecretProvisionedKonnectAPIOpFailed is the reason
	// used with the DataPlaneClientAuthSecretProvisioning condition type indicating that the
	// the DP certificate entity has failed to be programmed in Konnect.
	DataPlaneClientAuthSecretProvisionedKonnectAPIOpFailed = "KonnectAPIOpFailed" //nolint:gosec
)
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 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 DataPlaneClientAuth

type DataPlaneClientAuth struct {
	// CertificateSecret contains the information to access the client certificate.
	//
	// +kubebuilder:validation:Required
	CertificateSecret CertificateSecret `json:"certificateSecret"`
}

DataPlaneClientAuth 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 (*DataPlaneClientAuth) DeepCopy

func (in *DataPlaneClientAuth) DeepCopy() *DataPlaneClientAuth

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

func (*DataPlaneClientAuth) DeepCopyInto

func (in *DataPlaneClientAuth) DeepCopyInto(out *DataPlaneClientAuth)

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 DataPlaneLabel

type DataPlaneLabel struct {
	// Key is the key of the label.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?$"
	// +kubebuilder:validation:XValidation:rule="!(self.startsWith('kong') || self.startsWith('konnect') || self.startsWith('insomnia') || self.startsWith('mesh') || self.startsWith('kic') || self.startsWith('_'))",message="Keys must not start with 'kong', 'konnect', 'insomnia', 'mesh', 'kic', or '_', which are reserved for Kong."
	Key string `json:"key"`

	// Value is the value of the label.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern="^[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?$"
	Value string `json:"value"`
}

DataPlaneLabel contains the key-value pair of a label that will be applied to the Konnect DataPlane.

func (*DataPlaneLabel) DeepCopy

func (in *DataPlaneLabel) DeepCopy() *DataPlaneLabel

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

func (*DataPlaneLabel) DeepCopyInto

func (in *DataPlaneLabel) DeepCopyInto(out *DataPlaneLabel)

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

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: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 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: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.
	//
	// +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 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 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 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.
	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:object:root=true +kubebuilder:object:generate=true +kubebuilder:subresource:status +kubebuilder:validation:XValidation:rule="oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable." +kubebuilder:validation:XValidation:rule="self.spec.controlPlaneRef.type == 'konnectID' ? has(self.spec.konnect) : true",message="konnect must be set when ControlPlaneRef is set to KonnectID." +kubebuilder:validation:XValidation:rule="self.spec.controlPlaneRef.type == 'konnectNamespacedRef' ? !has(self.spec.konnect) : 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.

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.

type KonnectExtensionSpec added in v1.2.0

type KonnectExtensionSpec struct {
	// ControlPlaneRef 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."
	ControlPlaneRef commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	// DataPlaneClientAuth is the configuration for the client certificate authentication for the DataPlane.
	// 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}}
	DataPlaneClientAuth *DataPlaneClientAuth `json:"dataPlaneClientAuth,omitempty"`

	// KonnectConfiguration holds the information needed to setup the Konnect Configuration.
	//
	// +kubebuilder:validation:Optional
	KonnectConfiguration *KonnectConfiguration `json:"konnect,omitempty"`

	// DataPlaneLabels is a set of labels that will be applied to the Konnect DataPlane.
	//
	// +optional
	// +kubebuilder:validation:MaxItems=5
	DataPlaneLabels []DataPlaneLabel `json:"dataPlaneLabels,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"`

	// Conditions describe the current conditions of the KonnectExtensionStatus.
	// Known condition types are:
	//
	// * "Accepted"
	// * "SecretProvisioned"
	// * "ControlPlaneRefValid"
	//
	// +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: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 {
	sdkkonnectcomp.CreateControlPlaneRequest `json:",inline"`

	// 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" +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 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.

Jump to

Keyboard shortcuts

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