v1alpha1

package
v2.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2025 License: MIT Imports: 9 Imported by: 13

Documentation

Overview

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

Index

Constants

View Source
const (
	// ControlPlaneRefKonnectID is the type for the KonnectID ControlPlaneRef.
	// It is used to reference a Konnect Control Plane entity by its ID on the Konnect platform.
	ControlPlaneRefKonnectID = commonv1alpha1.ControlPlaneRefKonnectID
	// ControlPlaneRefKonnectNamespacedRef is the type for the KonnectNamespacedRef ControlPlaneRef.
	// It is used to reference a Konnect Control Plane entity inside the cluster
	// using a namespaced reference.
	ControlPlaneRefKonnectNamespacedRef = commonv1alpha1.ControlPlaneRefKonnectNamespacedRef
	// ControlPlaneRefKIC is the type for KIC ControlPlaneRef.
	// It is used to reference a KIC as Control Plane.
	ControlPlaneRefKIC = commonv1alpha1.ControlPlaneRefKIC
)
View Source
const (
	// IngressClassParametersKind is the kind name the IngressClassParameters resource.
	IngressClassParametersKind = "IngressClassParameters"
)
View Source
const (
	// KongCustomEntityKind is the kind name for the KongCustomEntity resource.
	KongCustomEntityKind = "KongCustomEntity"
)
View Source
const (
	// KongVaultKind is the kind name of KongVault resource.
	KongVaultKind = "KongVault"
)
View Source
const (
	// ServiceRefNamespacedRef is a namespaced reference to a KongService.
	ServiceRefNamespacedRef = "namespacedRef"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "configuration.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 ControlPlaneRef

type ControlPlaneRef commonv1alpha1.ControlPlaneRef

ControlPlaneRef is the schema for the ControlPlaneRef type. It is used to reference a Control Plane entity.

func (*ControlPlaneRef) DeepCopy

func (in *ControlPlaneRef) DeepCopy() *ControlPlaneRef

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

func (*ControlPlaneRef) DeepCopyInto

func (in *ControlPlaneRef) DeepCopyInto(out *ControlPlaneRef)

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

type ControllerReference

type ControllerReference struct {
	// Group is the group of referent.
	// It should be empty if the referent is in "core" group (like pod).
	Group *Group `json:"group,omitempty"`
	// Kind is the kind of the referent.
	// By default the nil kind means kind Pod.
	Kind *Kind `json:"kind,omitempty"`
	// Namespace is the namespace of the referent.
	// It should be empty if the referent is cluster scoped.
	Namespace *Namespace `json:"namespace,omitempty"`
	// Name is the name of the referent.
	Name ObjectName `json:"name"`
}

ControllerReference is a reference to a controller that reconciles the KongLicense. +apireference:kgo:include +apireference:kic:include

func (*ControllerReference) DeepCopy

func (in *ControllerReference) DeepCopy() *ControllerReference

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

func (*ControllerReference) DeepCopyInto

func (in *ControllerReference) DeepCopyInto(out *ControllerReference)

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

type Group

type Group string

Group refers to a Kubernetes Group. It must either be an empty string or a RFC 1123 subdomain. +kubebuilder:validation:MaxLength=253 +kubebuilder:validation:Pattern=`^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$` +apireference:kgo:include

type IngressClassParameters

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

	// Spec is the IngressClassParameters specification.
	Spec IngressClassParametersSpec `json:"spec,omitempty"`
}

IngressClassParameters is the Schema for the IngressClassParameters API. +apireference:kic:include +kong:channels=ingress-controller

func (*IngressClassParameters) DeepCopy

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

func (*IngressClassParameters) DeepCopyInto

func (in *IngressClassParameters) DeepCopyInto(out *IngressClassParameters)

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

func (*IngressClassParameters) DeepCopyObject

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

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

type IngressClassParametersList

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

IngressClassParametersList contains a list of IngressClassParameters. +apireference:kic:include

func (*IngressClassParametersList) DeepCopy

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

func (*IngressClassParametersList) DeepCopyInto

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

func (*IngressClassParametersList) DeepCopyObject

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

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

type IngressClassParametersSpec

type IngressClassParametersSpec struct {
	// Offload load-balancing to kube-proxy or sidecar.
	// +kubebuilder:default:=false
	ServiceUpstream bool `json:"serviceUpstream,omitempty"`

	// EnableLegacyRegexDetection automatically detects if ImplementationSpecific Ingress paths are regular expression
	// paths using the legacy 2.x heuristic. The controller adds the "~" prefix to those paths if the Kong version is
	// 3.0 or higher.
	// +kubebuilder:default:=false
	EnableLegacyRegexDetection bool `json:"enableLegacyRegexDetection,omitempty"`
}

IngressClassParametersSpec defines the desired state of IngressClassParameters. +apireference:kic:include

func (*IngressClassParametersSpec) DeepCopy

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

func (*IngressClassParametersSpec) DeepCopyInto

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

type KeySetRef

type KeySetRef struct {
	// Type defines type of the KeySet object reference. It can be one of:
	// - konnectID
	// - namespacedRef
	Type KeySetRefType `json:"type"`

	// KonnectID is the schema for the KonnectID type.
	// This field is required when the Type is konnectID.
	// +optional
	KonnectID *string `json:"konnectID,omitempty"`

	// NamespacedRef is a reference to a KeySet entity inside the cluster.
	// This field is required when the Type is namespacedRef.
	// +optional
	NamespacedRef *commonv1alpha1.NameRef `json:"namespacedRef,omitempty"`
}

KeySetRef is the schema for the KeySetRef type. It is used to reference a KeySet entity. +kubebuilder:validation:XValidation:rule="self.type == 'namespacedRef' ? has(self.namespacedRef) : true", message="when type is namespacedRef, namespacedRef must be set" +kubebuilder:validation:XValidation:rule="self.type == 'konnectID' ? has(self.konnectID) : true", message="when type is konnectID, konnectID must be set" +apireference:kgo:include +kong:channels=gateway-operator

func (*KeySetRef) DeepCopy

func (in *KeySetRef) DeepCopy() *KeySetRef

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

func (*KeySetRef) DeepCopyInto

func (in *KeySetRef) DeepCopyInto(out *KeySetRef)

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

type KeySetRefType

type KeySetRefType string

KeySetRefType is the enum type for the KeySetRef. +kubebuilder:validation:Enum=konnectID;namespacedRef +apireference:kgo:include

const (
	// KeySetRefKonnectID is the type for the KonnectID KeySetRef.
	// It is used to reference a KeySet entity by its ID on the Konnect platform.
	KeySetRefKonnectID KeySetRefType = "konnectID"

	// KeySetRefNamespacedRef is the type for the KeySetRef.
	// It is used to reference a KeySet entity inside the cluster
	// using a namespaced reference.
	KeySetRefNamespacedRef KeySetRefType = "namespacedRef"
)

type Kind

type Kind string

Kind refers to a Kubernetes kind. +kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=63 +kubebuilder:validation:Pattern=`^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$` +apireference:kgo:include

type KongCACertificate

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

	Spec KongCACertificateSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCACertificateStatus `json:"status,omitempty"`
}

KongCACertificate is the schema for CACertificate API which defines a Kong CA Certificate.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!has(self.spec.controlPlaneRef) || !has(self.spec.controlPlaneRef.konnectNamespacedRef)) ? true : !has(self.spec.controlPlaneRef.konnectNamespacedRef.__namespace__)", message="spec.controlPlaneRef cannot specify namespace for namespaced resource" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongCACertificate) DeepCopy

func (in *KongCACertificate) DeepCopy() *KongCACertificate

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

func (*KongCACertificate) DeepCopyInto

func (in *KongCACertificate) DeepCopyInto(out *KongCACertificate)

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

func (*KongCACertificate) DeepCopyObject

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

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

func (*KongCACertificate) GetConditions

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

GetConditions returns the Status Conditions

func (*KongCACertificate) GetControlPlaneID

func (obj *KongCACertificate) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCACertificate status.

func (*KongCACertificate) GetControlPlaneRef

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

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongCACertificate) GetKonnectID

func (obj *KongCACertificate) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCACertificate status.

func (*KongCACertificate) GetKonnectStatus

func (obj *KongCACertificate) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCACertificate status.

func (KongCACertificate) GetTypeName

func (obj KongCACertificate) GetTypeName() string

GetTypeName returns the KongCACertificate Kind name

func (*KongCACertificate) SetConditions

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

SetConditions sets the Status Conditions

func (*KongCACertificate) SetControlPlaneID

func (obj *KongCACertificate) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCACertificate status.

func (*KongCACertificate) SetControlPlaneRef

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

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongCACertificate) SetKonnectID

func (obj *KongCACertificate) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCACertificate status.

type KongCACertificateAPISpec

type KongCACertificateAPISpec struct {
	// Cert is the PEM-encoded CA certificate.
	// +required
	Cert string `json:"cert,omitempty"`

	// Tags is an optional set of tags applied to the certificate.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongCACertificateAPISpec contains the API specification for the KongCACertificate. +apireference:kgo:include

func (*KongCACertificateAPISpec) DeepCopy

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

func (*KongCACertificateAPISpec) DeepCopyInto

func (in *KongCACertificateAPISpec) DeepCopyInto(out *KongCACertificateAPISpec)

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

type KongCACertificateList

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

KongCACertificateList contains a list of KongCACertificates. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongCACertificateList) DeepCopy

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

func (*KongCACertificateList) DeepCopyInto

func (in *KongCACertificateList) DeepCopyInto(out *KongCACertificateList)

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

func (*KongCACertificateList) DeepCopyObject

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

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

func (KongCACertificateList) GetItems

func (obj KongCACertificateList) GetItems() []KongCACertificate

GetItems returns the list of KongCACertificate items.

type KongCACertificateSpec

type KongCACertificateSpec struct {
	// ControlPlaneRef references the Konnect Control Plane that this KongCACertificate should be created in.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	KongCACertificateAPISpec `json:",inline"`
}

KongCACertificateSpec contains the specification for the KongCACertificate. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +apireference:kgo:include

func (*KongCACertificateSpec) DeepCopy

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

func (*KongCACertificateSpec) DeepCopyInto

func (in *KongCACertificateSpec) DeepCopyInto(out *KongCACertificateSpec)

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

type KongCACertificateStatus

type KongCACertificateStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCACertificateStatus defines the observed state of KongCACertificate. +apireference:kgo:include

func (*KongCACertificateStatus) DeepCopy

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

func (*KongCACertificateStatus) DeepCopyInto

func (in *KongCACertificateStatus) DeepCopyInto(out *KongCACertificateStatus)

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

type KongCertificate

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

	Spec KongCertificateSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCertificateStatus `json:"status,omitempty"`
}

KongCertificate is the schema for Certificate API which defines a Kong Certificate.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!has(self.spec.controlPlaneRef) || !has(self.spec.controlPlaneRef.konnectNamespacedRef)) ? true : !has(self.spec.controlPlaneRef.konnectNamespacedRef.__namespace__)", message="spec.controlPlaneRef cannot specify namespace for namespaced resource" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongCertificate) DeepCopy

func (in *KongCertificate) DeepCopy() *KongCertificate

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

func (*KongCertificate) DeepCopyInto

func (in *KongCertificate) DeepCopyInto(out *KongCertificate)

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

func (*KongCertificate) DeepCopyObject

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

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

func (*KongCertificate) GetConditions

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

GetConditions returns the Status Conditions

func (*KongCertificate) GetControlPlaneID

func (obj *KongCertificate) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCertificate status.

func (*KongCertificate) GetControlPlaneRef

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

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongCertificate) GetKonnectID

func (obj *KongCertificate) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCertificate status.

func (*KongCertificate) GetKonnectStatus

func (obj *KongCertificate) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCertificate status.

func (KongCertificate) GetTypeName

func (obj KongCertificate) GetTypeName() string

GetTypeName returns the KongCertificate Kind name

func (*KongCertificate) SetConditions

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

SetConditions sets the Status Conditions

func (*KongCertificate) SetControlPlaneID

func (obj *KongCertificate) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCertificate status.

func (*KongCertificate) SetControlPlaneRef

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

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongCertificate) SetKonnectID

func (obj *KongCertificate) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCertificate status.

type KongCertificateAPISpec

type KongCertificateAPISpec struct {
	// Cert is the PEM-encoded certificate.
	// +required
	Cert string `json:"cert,omitempty"`
	// CertAlt is the PEM-encoded certificate.
	// This should only be set if you have both RSA and ECDSA types of
	// certificate available and would like Kong to prefer serving using ECDSA certs
	// when client advertises support for it.
	CertAlt string `json:"cert_alt,omitempty"`
	// Key is the PEM-encoded private key.
	// +required
	Key string `json:"key,omitempty"`
	// KeyAlt is the PEM-encoded private key.
	// This should only be set if you have both RSA and ECDSA types of
	// certificate available and would like Kong to prefer serving using ECDSA certs
	// when client advertises support for it.
	KeyAlt string `json:"key_alt,omitempty"`

	// Tags is an optional set of tags applied to the certificate.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongCertificateAPISpec contains the API specification for the KongCertificate. +apireference:kgo:include

func (*KongCertificateAPISpec) DeepCopy

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

func (*KongCertificateAPISpec) DeepCopyInto

func (in *KongCertificateAPISpec) DeepCopyInto(out *KongCertificateAPISpec)

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

type KongCertificateList

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

KongCertificateList contains a list of KongCertificates. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongCertificateList) DeepCopy

func (in *KongCertificateList) DeepCopy() *KongCertificateList

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

func (*KongCertificateList) DeepCopyInto

func (in *KongCertificateList) DeepCopyInto(out *KongCertificateList)

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

func (*KongCertificateList) DeepCopyObject

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

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

func (KongCertificateList) GetItems

func (obj KongCertificateList) GetItems() []KongCertificate

GetItems returns the list of KongCertificate items.

type KongCertificateSpec

type KongCertificateSpec struct {
	// ControlPlaneRef references the Konnect Control Plane that this KongCertificate should be created in.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	KongCertificateAPISpec `json:",inline"`
}

KongCertificateSpec contains the specification for the KongCertificate. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +apireference:kgo:include

func (*KongCertificateSpec) DeepCopy

func (in *KongCertificateSpec) DeepCopy() *KongCertificateSpec

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

func (*KongCertificateSpec) DeepCopyInto

func (in *KongCertificateSpec) DeepCopyInto(out *KongCertificateSpec)

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

type KongCertificateStatus

type KongCertificateStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCertificateStatus defines the observed state of KongCertificate. +apireference:kgo:include

func (*KongCertificateStatus) DeepCopy

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

func (*KongCertificateStatus) DeepCopyInto

func (in *KongCertificateStatus) DeepCopyInto(out *KongCertificateStatus)

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

type KongCredentialACL

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

	// Spec contains the ACL credential specification.
	Spec KongCredentialACLSpec `json:"spec"`

	// Status contains the ACL credential status.
	//
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCredentialACLStatus `json:"status,omitempty"`
}

KongCredentialACL is the schema for ACL credentials API which defines a ACL credential for consumers.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.consumerRef == self.spec.consumerRef",message="spec.consumerRef is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongCredentialACL) DeepCopy

func (in *KongCredentialACL) DeepCopy() *KongCredentialACL

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

func (*KongCredentialACL) DeepCopyInto

func (in *KongCredentialACL) DeepCopyInto(out *KongCredentialACL)

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

func (*KongCredentialACL) DeepCopyObject

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

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

func (*KongCredentialACL) GetConditions

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

GetConditions returns the Status Conditions

func (*KongCredentialACL) GetConsumerRefName

func (obj *KongCredentialACL) GetConsumerRefName() string

func (*KongCredentialACL) GetControlPlaneID

func (obj *KongCredentialACL) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCredentialACL status.

func (*KongCredentialACL) GetKonnectID

func (obj *KongCredentialACL) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCredentialACL status.

func (*KongCredentialACL) GetKonnectStatus

func (obj *KongCredentialACL) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCredentialACL status.

func (KongCredentialACL) GetTypeName

func (obj KongCredentialACL) GetTypeName() string

GetTypeName returns the KongCredentialACL Kind name

func (*KongCredentialACL) SetConditions

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

SetConditions sets the Status Conditions

func (*KongCredentialACL) SetControlPlaneID

func (obj *KongCredentialACL) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCredentialACL status.

func (*KongCredentialACL) SetKonnectConsumerIDInStatus

func (obj *KongCredentialACL) SetKonnectConsumerIDInStatus(id string)

func (*KongCredentialACL) SetKonnectID

func (obj *KongCredentialACL) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCredentialACL status.

type KongCredentialACLAPISpec

type KongCredentialACLAPISpec struct {
	// Group is the name for the ACL credential.
	//
	// +required
	Group string `json:"group"`

	// Tags is a list of tags for the ACL credential.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongCredentialACLAPISpec defines specification of an ACL credential. +apireference:kgo:include

func (*KongCredentialACLAPISpec) DeepCopy

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

func (*KongCredentialACLAPISpec) DeepCopyInto

func (in *KongCredentialACLAPISpec) DeepCopyInto(out *KongCredentialACLAPISpec)

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

type KongCredentialACLList

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

KongCredentialACLList contains a list of ACL credentials. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongCredentialACLList) DeepCopy

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

func (*KongCredentialACLList) DeepCopyInto

func (in *KongCredentialACLList) DeepCopyInto(out *KongCredentialACLList)

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

func (*KongCredentialACLList) DeepCopyObject

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

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

func (KongCredentialACLList) GetItems

func (obj KongCredentialACLList) GetItems() []KongCredentialACL

GetItems returns the list of KongCredentialACL items.

type KongCredentialACLSpec

type KongCredentialACLSpec struct {
	// ConsumerRef is a reference to a Consumer this KongCredentialACL is associated with.
	//
	// +required
	ConsumerRef corev1.LocalObjectReference `json:"consumerRef"`

	KongCredentialACLAPISpec `json:",inline"`
}

KongCredentialACLSpec defines specification of Kong ACL. +apireference:kgo:include

func (*KongCredentialACLSpec) DeepCopy

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

func (*KongCredentialACLSpec) DeepCopyInto

func (in *KongCredentialACLSpec) DeepCopyInto(out *KongCredentialACLSpec)

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

type KongCredentialACLStatus

type KongCredentialACLStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndConsumerRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCredentialACLStatus represents the current status of the ACL credential resource. +apireference:kgo:include

func (*KongCredentialACLStatus) DeepCopy

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

func (*KongCredentialACLStatus) DeepCopyInto

func (in *KongCredentialACLStatus) DeepCopyInto(out *KongCredentialACLStatus)

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

type KongCredentialAPIKey

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

	// Spec contains the API Key credential specification.
	Spec KongCredentialAPIKeySpec `json:"spec"`

	// Status contains the API Key credential status.
	//
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCredentialAPIKeyStatus `json:"status,omitempty"`
}

KongCredentialAPIKey is the schema for API key credentials API which defines a API key credential for consumers.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.consumerRef == self.spec.consumerRef",message="spec.consumerRef is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongCredentialAPIKey) DeepCopy

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

func (*KongCredentialAPIKey) DeepCopyInto

func (in *KongCredentialAPIKey) DeepCopyInto(out *KongCredentialAPIKey)

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

func (*KongCredentialAPIKey) DeepCopyObject

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

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

func (*KongCredentialAPIKey) GetConditions

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

GetConditions returns the Status Conditions

func (*KongCredentialAPIKey) GetConsumerRefName

func (obj *KongCredentialAPIKey) GetConsumerRefName() string

func (*KongCredentialAPIKey) GetControlPlaneID

func (obj *KongCredentialAPIKey) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCredentialAPIKey status.

func (*KongCredentialAPIKey) GetKonnectID

func (obj *KongCredentialAPIKey) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCredentialAPIKey status.

func (*KongCredentialAPIKey) GetKonnectStatus

func (obj *KongCredentialAPIKey) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCredentialAPIKey status.

func (KongCredentialAPIKey) GetTypeName

func (obj KongCredentialAPIKey) GetTypeName() string

GetTypeName returns the KongCredentialAPIKey Kind name

func (*KongCredentialAPIKey) SetConditions

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

SetConditions sets the Status Conditions

func (*KongCredentialAPIKey) SetControlPlaneID

func (obj *KongCredentialAPIKey) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCredentialAPIKey status.

func (*KongCredentialAPIKey) SetKonnectConsumerIDInStatus

func (obj *KongCredentialAPIKey) SetKonnectConsumerIDInStatus(id string)

func (*KongCredentialAPIKey) SetKonnectID

func (obj *KongCredentialAPIKey) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCredentialAPIKey status.

type KongCredentialAPIKeyAPISpec

type KongCredentialAPIKeyAPISpec struct {
	// Key is the key for the API Key credential.
	//
	// +required
	Key string `json:"key"`

	// Tags is a list of tags for the API Key credential.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongCredentialAPIKeyAPISpec defines specification of an API Key credential. +apireference:kgo:include

func (*KongCredentialAPIKeyAPISpec) DeepCopy

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

func (*KongCredentialAPIKeyAPISpec) DeepCopyInto

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

type KongCredentialAPIKeyList

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

KongCredentialAPIKeyList contains a list of API Key credentials. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongCredentialAPIKeyList) DeepCopy

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

func (*KongCredentialAPIKeyList) DeepCopyInto

func (in *KongCredentialAPIKeyList) DeepCopyInto(out *KongCredentialAPIKeyList)

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

func (*KongCredentialAPIKeyList) DeepCopyObject

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

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

func (KongCredentialAPIKeyList) GetItems

GetItems returns the list of KongCredentialAPIKey items.

type KongCredentialAPIKeySpec

type KongCredentialAPIKeySpec struct {
	// ConsumerRef is a reference to a Consumer this KongCredentialAPIKey is associated with.
	//
	// +required
	ConsumerRef corev1.LocalObjectReference `json:"consumerRef"`

	KongCredentialAPIKeyAPISpec `json:",inline"`
}

KongCredentialAPIKeySpec defines specification of a Kong Route. +apireference:kgo:include

func (*KongCredentialAPIKeySpec) DeepCopy

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

func (*KongCredentialAPIKeySpec) DeepCopyInto

func (in *KongCredentialAPIKeySpec) DeepCopyInto(out *KongCredentialAPIKeySpec)

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

type KongCredentialAPIKeyStatus

type KongCredentialAPIKeyStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndConsumerRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCredentialAPIKeyStatus represents the current status of the API Key credential resource. +apireference:kgo:include

func (*KongCredentialAPIKeyStatus) DeepCopy

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

func (*KongCredentialAPIKeyStatus) DeepCopyInto

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

type KongCredentialBasicAuth

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

	// Spec contains the BasicAuth credential specification.
	Spec KongCredentialBasicAuthSpec `json:"spec"`

	// Status contains the BasicAuth credential status.
	//
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCredentialBasicAuthStatus `json:"status,omitempty"`
}

KongCredentialBasicAuth is the schema for BasicAuth credentials API which defines a BasicAuth credential for consumers.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.consumerRef == self.spec.consumerRef",message="spec.consumerRef is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongCredentialBasicAuth) DeepCopy

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

func (*KongCredentialBasicAuth) DeepCopyInto

func (in *KongCredentialBasicAuth) DeepCopyInto(out *KongCredentialBasicAuth)

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

func (*KongCredentialBasicAuth) DeepCopyObject

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

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

func (*KongCredentialBasicAuth) GetConditions

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

GetConditions returns the Status Conditions

func (*KongCredentialBasicAuth) GetConsumerRefName

func (obj *KongCredentialBasicAuth) GetConsumerRefName() string

func (*KongCredentialBasicAuth) GetControlPlaneID

func (obj *KongCredentialBasicAuth) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCredentialBasicAuth status.

func (*KongCredentialBasicAuth) GetKonnectID

func (obj *KongCredentialBasicAuth) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCredentialBasicAuth status.

func (*KongCredentialBasicAuth) GetKonnectStatus

GetKonnectStatus returns the Konnect status contained in the KongCredentialBasicAuth status.

func (KongCredentialBasicAuth) GetTypeName

func (obj KongCredentialBasicAuth) GetTypeName() string

GetTypeName returns the KongCredentialBasicAuth Kind name

func (*KongCredentialBasicAuth) SetConditions

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

SetConditions sets the Status Conditions

func (*KongCredentialBasicAuth) SetControlPlaneID

func (obj *KongCredentialBasicAuth) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCredentialBasicAuth status.

func (*KongCredentialBasicAuth) SetKonnectConsumerIDInStatus

func (obj *KongCredentialBasicAuth) SetKonnectConsumerIDInStatus(id string)

func (*KongCredentialBasicAuth) SetKonnectID

func (obj *KongCredentialBasicAuth) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCredentialBasicAuth status.

type KongCredentialBasicAuthAPISpec

type KongCredentialBasicAuthAPISpec struct {
	// Password is the password for the BasicAuth credential.
	//
	// +required
	Password string `json:"password"`

	// Tags is a list of tags for the BasicAuth credential.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`

	// Username is the username for the BasicAuth credential.
	//
	// +required
	Username string `json:"username"`
}

KongCredentialBasicAuthAPISpec defines specification of a BasicAuth credential. +apireference:kgo:include

func (*KongCredentialBasicAuthAPISpec) DeepCopy

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

func (*KongCredentialBasicAuthAPISpec) DeepCopyInto

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

type KongCredentialBasicAuthList

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

KongCredentialBasicAuthList contains a list of BasicAuth credentials. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongCredentialBasicAuthList) DeepCopy

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

func (*KongCredentialBasicAuthList) DeepCopyInto

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

func (*KongCredentialBasicAuthList) DeepCopyObject

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

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

func (KongCredentialBasicAuthList) GetItems

GetItems returns the list of KongCredentialBasicAuth items.

type KongCredentialBasicAuthSpec

type KongCredentialBasicAuthSpec struct {
	// ConsumerRef is a reference to a Consumer this CredentialBasicAuth is associated with.
	//
	// +required
	ConsumerRef corev1.LocalObjectReference `json:"consumerRef"`

	KongCredentialBasicAuthAPISpec `json:",inline"`
}

KongCredentialBasicAuthSpec defines specification of a Kong Route. +apireference:kgo:include

func (*KongCredentialBasicAuthSpec) DeepCopy

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

func (*KongCredentialBasicAuthSpec) DeepCopyInto

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

type KongCredentialBasicAuthStatus

type KongCredentialBasicAuthStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndConsumerRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCredentialBasicAuthStatus represents the current status of the BasicAuth credential resource. +apireference:kgo:include

func (*KongCredentialBasicAuthStatus) DeepCopy

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

func (*KongCredentialBasicAuthStatus) DeepCopyInto

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

type KongCredentialHMAC

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

	// Spec contains the HMAC credential specification.
	Spec KongCredentialHMACSpec `json:"spec"`

	// Status contains the HMAC credential status.
	//
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCredentialHMACStatus `json:"status,omitempty"`
}

KongCredentialHMAC is the schema for HMAC credentials API which defines a HMAC credential for consumers.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.consumerRef == self.spec.consumerRef",message="spec.consumerRef is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongCredentialHMAC) DeepCopy

func (in *KongCredentialHMAC) DeepCopy() *KongCredentialHMAC

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

func (*KongCredentialHMAC) DeepCopyInto

func (in *KongCredentialHMAC) DeepCopyInto(out *KongCredentialHMAC)

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

func (*KongCredentialHMAC) DeepCopyObject

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

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

func (*KongCredentialHMAC) GetConditions

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

GetConditions returns the Status Conditions

func (*KongCredentialHMAC) GetConsumerRefName

func (obj *KongCredentialHMAC) GetConsumerRefName() string

func (*KongCredentialHMAC) GetControlPlaneID

func (obj *KongCredentialHMAC) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCredentialHMAC status.

func (*KongCredentialHMAC) GetKonnectID

func (obj *KongCredentialHMAC) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCredentialHMAC status.

func (*KongCredentialHMAC) GetKonnectStatus

func (obj *KongCredentialHMAC) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCredentialHMAC status.

func (KongCredentialHMAC) GetTypeName

func (obj KongCredentialHMAC) GetTypeName() string

GetTypeName returns the KongCredentialHMAC Kind name

func (*KongCredentialHMAC) SetConditions

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

SetConditions sets the Status Conditions

func (*KongCredentialHMAC) SetControlPlaneID

func (obj *KongCredentialHMAC) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCredentialHMAC status.

func (*KongCredentialHMAC) SetKonnectConsumerIDInStatus

func (obj *KongCredentialHMAC) SetKonnectConsumerIDInStatus(id string)

func (*KongCredentialHMAC) SetKonnectID

func (obj *KongCredentialHMAC) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCredentialHMAC status.

type KongCredentialHMACAPISpec

type KongCredentialHMACAPISpec struct {
	// ID is the unique identifier for the HMAC credential.
	ID *string `json:"id,omitempty"`
	// Secret is the secret for the HMAC credential.
	Secret *string `json:"secret,omitempty"`
	// Tags is a list of tags for the HMAC credential.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
	// Username is the username for the HMAC credential.
	// +kubernetes:validation:Required
	Username *string `json:"username"`
}

KongCredentialHMACAPISpec defines specification of an HMAC credential. +apireference:kgo:include

func (*KongCredentialHMACAPISpec) DeepCopy

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

func (*KongCredentialHMACAPISpec) DeepCopyInto

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

type KongCredentialHMACList

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

KongCredentialHMACList contains a list of HMAC credentials. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongCredentialHMACList) DeepCopy

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

func (*KongCredentialHMACList) DeepCopyInto

func (in *KongCredentialHMACList) DeepCopyInto(out *KongCredentialHMACList)

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

func (*KongCredentialHMACList) DeepCopyObject

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

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

func (KongCredentialHMACList) GetItems

func (obj KongCredentialHMACList) GetItems() []KongCredentialHMAC

GetItems returns the list of KongCredentialHMAC items.

type KongCredentialHMACSpec

type KongCredentialHMACSpec struct {
	// ConsumerRef is a reference to a Consumer this KongCredentialHMAC is associated with.
	//
	// +required
	ConsumerRef corev1.LocalObjectReference `json:"consumerRef"`

	KongCredentialHMACAPISpec `json:",inline"`
}

KongCredentialHMACSpec defines specification of a Kong Route. +apireference:kgo:include

func (*KongCredentialHMACSpec) DeepCopy

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

func (*KongCredentialHMACSpec) DeepCopyInto

func (in *KongCredentialHMACSpec) DeepCopyInto(out *KongCredentialHMACSpec)

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

type KongCredentialHMACStatus

type KongCredentialHMACStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndConsumerRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCredentialHMACStatus represents the current status of the HMAC credential resource. +apireference:kgo:include

func (*KongCredentialHMACStatus) DeepCopy

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

func (*KongCredentialHMACStatus) DeepCopyInto

func (in *KongCredentialHMACStatus) DeepCopyInto(out *KongCredentialHMACStatus)

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

type KongCredentialJWT

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

	// Spec contains the JWT credential specification.
	Spec KongCredentialJWTSpec `json:"spec"`

	// Status contains the JWT credential status.
	//
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCredentialJWTStatus `json:"status,omitempty"`
}

KongCredentialJWT is the schema for JWT credentials API which defines a JWT credential for consumers.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.consumerRef == self.spec.consumerRef",message="spec.consumerRef is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="self.spec.algorithm in [ 'RS256','RS384','RS512','ES256','ES384','ES512','PS256','PS384','PS512','EdDSA', ] ? has(self.spec.rsa_public_key) : true",message="spec.rsa_public_key is required when algorithm is RS*, ES*, PS* or EdDSA*" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongCredentialJWT) DeepCopy

func (in *KongCredentialJWT) DeepCopy() *KongCredentialJWT

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

func (*KongCredentialJWT) DeepCopyInto

func (in *KongCredentialJWT) DeepCopyInto(out *KongCredentialJWT)

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

func (*KongCredentialJWT) DeepCopyObject

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

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

func (*KongCredentialJWT) GetConditions

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

GetConditions returns the Status Conditions

func (*KongCredentialJWT) GetConsumerRefName

func (obj *KongCredentialJWT) GetConsumerRefName() string

func (*KongCredentialJWT) GetControlPlaneID

func (obj *KongCredentialJWT) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCredentialJWT status.

func (*KongCredentialJWT) GetKonnectID

func (obj *KongCredentialJWT) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCredentialJWT status.

func (*KongCredentialJWT) GetKonnectStatus

func (obj *KongCredentialJWT) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCredentialJWT status.

func (KongCredentialJWT) GetTypeName

func (obj KongCredentialJWT) GetTypeName() string

GetTypeName returns the KongCredentialJWT Kind name

func (*KongCredentialJWT) SetConditions

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

SetConditions sets the Status Conditions

func (*KongCredentialJWT) SetControlPlaneID

func (obj *KongCredentialJWT) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCredentialJWT status.

func (*KongCredentialJWT) SetKonnectConsumerIDInStatus

func (obj *KongCredentialJWT) SetKonnectConsumerIDInStatus(id string)

func (*KongCredentialJWT) SetKonnectID

func (obj *KongCredentialJWT) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCredentialJWT status.

type KongCredentialJWTAPISpec

type KongCredentialJWTAPISpec struct {
	// Algorithm is the algorithm used to sign the JWT token.
	// +kubebuilder:default=HS256
	// +kubebuilder:validation:Enum=HS256;HS384;HS512;RS256;RS384;RS512;ES256;ES384;ES512;PS256;PS384;PS512;EdDSA
	Algorithm string `json:"algorithm,omitempty"`
	// ID is the unique identifier for the JWT credential.
	ID *string `json:"id,omitempty"`
	// Key is the key for the JWT credential.
	Key *string `json:"key,omitempty"`
	// RSA PublicKey is the RSA public key for the JWT credential.
	RSAPublicKey *string `json:"rsa_public_key,omitempty"`
	// Secret is the secret for the JWT credential.
	Secret *string `json:"secret,omitempty"`
	// Tags is a list of tags for the JWT credential.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongCredentialJWTAPISpec defines specification of an JWT credential. +apireference:kgo:include

func (*KongCredentialJWTAPISpec) DeepCopy

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

func (*KongCredentialJWTAPISpec) DeepCopyInto

func (in *KongCredentialJWTAPISpec) DeepCopyInto(out *KongCredentialJWTAPISpec)

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

type KongCredentialJWTList

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

KongCredentialJWTList contains a list of JWT credentials. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongCredentialJWTList) DeepCopy

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

func (*KongCredentialJWTList) DeepCopyInto

func (in *KongCredentialJWTList) DeepCopyInto(out *KongCredentialJWTList)

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

func (*KongCredentialJWTList) DeepCopyObject

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

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

func (KongCredentialJWTList) GetItems

func (obj KongCredentialJWTList) GetItems() []KongCredentialJWT

GetItems returns the list of KongCredentialJWT items.

type KongCredentialJWTSpec

type KongCredentialJWTSpec struct {
	// ConsumerRef is a reference to a Consumer this KongCredentialJWT is associated with.
	//
	// +required
	ConsumerRef corev1.LocalObjectReference `json:"consumerRef"`

	KongCredentialJWTAPISpec `json:",inline"`
}

KongCredentialJWTSpec defines specification of a Kong Route. +apireference:kgo:include

func (*KongCredentialJWTSpec) DeepCopy

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

func (*KongCredentialJWTSpec) DeepCopyInto

func (in *KongCredentialJWTSpec) DeepCopyInto(out *KongCredentialJWTSpec)

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

type KongCredentialJWTStatus

type KongCredentialJWTStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndConsumerRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCredentialJWTStatus represents the current status of the JWT credential resource. +apireference:kgo:include

func (*KongCredentialJWTStatus) DeepCopy

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

func (*KongCredentialJWTStatus) DeepCopyInto

func (in *KongCredentialJWTStatus) DeepCopyInto(out *KongCredentialJWTStatus)

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

type KongCustomEntity

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

	Spec KongCustomEntitySpec `json:"spec"`

	// Status stores the reconciling status of the resource.
	Status KongCustomEntityStatus `json:"status,omitempty"`
}

KongCustomEntity defines a "custom" Kong entity that KIC cannot support the entity type directly. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:shortName=kce,categories=kong-ingress-controller;kong,path=kongcustomentities,singular=kongcustomentity +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Entity Type",type=string,JSONPath=`.spec.type`,description="type of the Kong entity" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:printcolumn:name="Programmed",type=string,JSONPath=`.status.conditions[?(@.type=="Programmed")].status` +kubebuilder:validation:XValidation:rule="self.spec.type == oldSelf.spec.type",message="The spec.type field is immutable" +apireference:kic:include +kong:channels=ingress-controller

func (*KongCustomEntity) DeepCopy

func (in *KongCustomEntity) DeepCopy() *KongCustomEntity

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

func (*KongCustomEntity) DeepCopyInto

func (in *KongCustomEntity) DeepCopyInto(out *KongCustomEntity)

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

func (*KongCustomEntity) DeepCopyObject

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

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

type KongCustomEntityList

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

KongCustomEntityList contains a list of KongCustomEntity.

func (*KongCustomEntityList) DeepCopy

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

func (*KongCustomEntityList) DeepCopyInto

func (in *KongCustomEntityList) DeepCopyInto(out *KongCustomEntityList)

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

func (*KongCustomEntityList) DeepCopyObject

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

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

type KongCustomEntitySpec

type KongCustomEntitySpec struct {
	// EntityType is the type of the Kong entity. The type is used in generating declarative configuration.
	EntityType string `json:"type"`
	// Fields defines the fields of the Kong entity itself.
	Fields apiextensionsv1.JSON `json:"fields"`
	// ControllerName specifies the controller that should reconcile it, like ingress class.
	ControllerName string `json:"controllerName"`

	// ParentRef references the kubernetes resource it attached to when its scope is "attached".
	// Currently only KongPlugin/KongClusterPlugin allowed. This will make the custom entity to be attached
	// to the entity(service/route/consumer) where the plugin is attached.
	ParentRef *ObjectReference `json:"parentRef,omitempty"`
}

KongCustomEntitySpec defines the specification of the KongCustomEntity. +kubebuilder:validation:XValidation:rule="!(self.type in ['services','routes','upstreams','targets','plugins','consumers','consumer_groups'])",message="The type field cannot be one of the known Kong entity types" +apireference:kic:include

func (*KongCustomEntitySpec) DeepCopy

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

func (*KongCustomEntitySpec) DeepCopyInto

func (in *KongCustomEntitySpec) DeepCopyInto(out *KongCustomEntitySpec)

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

type KongCustomEntityStatus

type KongCustomEntityStatus struct {
	// Conditions describe the current conditions of the KongCustomEntityStatus.
	//
	// 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"`
}

KongCustomEntityStatus defines the status of the KongCustomEntity. +apireference:kic:include

func (*KongCustomEntityStatus) DeepCopy

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

func (*KongCustomEntityStatus) DeepCopyInto

func (in *KongCustomEntityStatus) DeepCopyInto(out *KongCustomEntityStatus)

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

type KongDataPlaneClientCertificate

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

	Spec KongDataPlaneClientCertificateSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongDataPlaneClientCertificateStatus `json:"status,omitempty"`
}

KongDataPlaneClientCertificate is the schema for KongDataPlaneClientCertificate API which defines a KongDataPlaneClientCertificate entity.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="!has(self.spec.controlPlaneRef) ? true : (!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.cert == self.spec.cert", message="spec.cert is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.spec.controlPlaneRef) || !has(self.spec.controlPlaneRef.konnectNamespacedRef)) ? true : !has(self.spec.controlPlaneRef.konnectNamespacedRef.__namespace__)", message="spec.controlPlaneRef cannot specify namespace for namespaced resource" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongDataPlaneClientCertificate) DeepCopy

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

func (*KongDataPlaneClientCertificate) DeepCopyInto

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

func (*KongDataPlaneClientCertificate) DeepCopyObject

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

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

func (*KongDataPlaneClientCertificate) GetConditions

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

GetConditions returns the Status Conditions

func (*KongDataPlaneClientCertificate) GetControlPlaneID

func (obj *KongDataPlaneClientCertificate) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongDataPlaneClientCertificate status.

func (*KongDataPlaneClientCertificate) GetControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongDataPlaneClientCertificate) GetKonnectID

func (obj *KongDataPlaneClientCertificate) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongDataPlaneClientCertificate status.

func (*KongDataPlaneClientCertificate) GetKonnectStatus

GetKonnectStatus returns the Konnect status contained in the KongDataPlaneClientCertificate status.

func (KongDataPlaneClientCertificate) GetTypeName

func (obj KongDataPlaneClientCertificate) GetTypeName() string

GetTypeName returns the KongDataPlaneClientCertificate Kind name

func (*KongDataPlaneClientCertificate) SetConditions

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

SetConditions sets the Status Conditions

func (*KongDataPlaneClientCertificate) SetControlPlaneID

func (obj *KongDataPlaneClientCertificate) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongDataPlaneClientCertificate status.

func (*KongDataPlaneClientCertificate) SetControlPlaneRef

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

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongDataPlaneClientCertificate) SetKonnectID

func (obj *KongDataPlaneClientCertificate) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongDataPlaneClientCertificate status.

type KongDataPlaneClientCertificateAPISpec

type KongDataPlaneClientCertificateAPISpec struct {
	// Cert is the certificate in PEM format. Once the certificate gets programmed this field becomes immutable.
	// +kubebuilder:validation:MinLength=1
	Cert string `json:"cert"`
}

KongDataPlaneClientCertificateAPISpec defines the attributes of a Kong DP certificate. +apireference:kgo:include

func (*KongDataPlaneClientCertificateAPISpec) DeepCopy

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

func (*KongDataPlaneClientCertificateAPISpec) DeepCopyInto

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

type KongDataPlaneClientCertificateList

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

KongDataPlaneClientCertificateList contains a list of KongDataPlaneClientCertificate. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongDataPlaneClientCertificateList) DeepCopy

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

func (*KongDataPlaneClientCertificateList) DeepCopyInto

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

func (*KongDataPlaneClientCertificateList) DeepCopyObject

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

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

func (KongDataPlaneClientCertificateList) GetItems

GetItems returns the list of KongDataPlaneClientCertificate items.

type KongDataPlaneClientCertificateSpec

type KongDataPlaneClientCertificateSpec struct {
	// ControlPlaneRef is a reference to a Konnect ControlPlane this KongDataPlaneClientCertificate is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	// KongDataPlaneClientCertificateAPISpec are the attributes of the KongDataPlaneClientCertificate itself.
	KongDataPlaneClientCertificateAPISpec `json:",inline"`
}

KongDataPlaneClientCertificateSpec defines the spec for a KongDataPlaneClientCertificate. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +apireference:kgo:include

func (*KongDataPlaneClientCertificateSpec) DeepCopy

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

func (*KongDataPlaneClientCertificateSpec) DeepCopyInto

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

type KongDataPlaneClientCertificateStatus

type KongDataPlaneClientCertificateStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongDataPlaneClientCertificateStatus defines the status for a KongDataPlaneClientCertificate. +apireference:kgo:include

func (*KongDataPlaneClientCertificateStatus) DeepCopy

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

func (*KongDataPlaneClientCertificateStatus) DeepCopyInto

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

type KongEntityScope

type KongEntityScope string

KongEntityScope defines the scope of the Kong entity.

type KongKey

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

	Spec KongKeySpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongKeyStatus `json:"status,omitempty"`
}

KongKey is the schema for KongKey API which defines a KongKey entity.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.spec.controlPlaneRef) || !has(self.spec.controlPlaneRef.konnectNamespacedRef)) ? true : !has(self.spec.controlPlaneRef.konnectNamespacedRef.__namespace__)", message="spec.controlPlaneRef cannot specify namespace for namespaced resource" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongKey) DeepCopy

func (in *KongKey) DeepCopy() *KongKey

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

func (*KongKey) DeepCopyInto

func (in *KongKey) DeepCopyInto(out *KongKey)

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

func (*KongKey) DeepCopyObject

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

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

func (*KongKey) GetConditions

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

GetConditions returns the Status Conditions

func (*KongKey) GetControlPlaneID

func (obj *KongKey) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongKey status.

func (*KongKey) GetControlPlaneRef

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

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongKey) GetKonnectID

func (obj *KongKey) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongKey status.

func (*KongKey) GetKonnectStatus

func (obj *KongKey) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongKey status.

func (KongKey) GetTypeName

func (obj KongKey) GetTypeName() string

GetTypeName returns the KongKey Kind name

func (*KongKey) SetConditions

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

SetConditions sets the Status Conditions

func (*KongKey) SetControlPlaneID

func (obj *KongKey) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongKey status.

func (*KongKey) SetControlPlaneRef

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

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongKey) SetKonnectID

func (obj *KongKey) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongKey status.

type KongKeyAPISpec

type KongKeyAPISpec struct {
	// KID is a unique identifier for a key.
	// When JWK is provided, KID has to match the KID in the JWK.
	// +kubebuilder:validation:MinLength=1
	KID string `json:"kid"`

	// Name is an optional name to associate with the given key.
	// +optional
	Name *string `json:"name,omitempty"`

	// JWK is a JSON Web Key represented as a string.
	// The JWK must contain a KID field that matches the KID in the KongKey.
	// Either JWK or PEM must be set.
	// +optional
	JWK *string `json:"jwk,omitempty"`

	// PEM is a keypair in PEM format.
	// Either JWK or PEM must be set.
	// +optional
	PEM *PEMKeyPair `json:"pem,omitempty"`

	// Tags is an optional set of strings associated with the Key for grouping and filtering.
	// +optional
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongKeyAPISpec defines the attributes of a Kong Key. +kubebuilder:validation:XValidation:rule="has(self.jwk) || has(self.pem)", message="Either 'jwk' or 'pem' must be set" +apireference:kgo:include

func (*KongKeyAPISpec) DeepCopy

func (in *KongKeyAPISpec) DeepCopy() *KongKeyAPISpec

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

func (*KongKeyAPISpec) DeepCopyInto

func (in *KongKeyAPISpec) DeepCopyInto(out *KongKeyAPISpec)

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

type KongKeyList

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

KongKeyList contains a list of Kong Keys. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongKeyList) DeepCopy

func (in *KongKeyList) DeepCopy() *KongKeyList

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

func (*KongKeyList) DeepCopyInto

func (in *KongKeyList) DeepCopyInto(out *KongKeyList)

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

func (*KongKeyList) DeepCopyObject

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

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

func (KongKeyList) GetItems

func (obj KongKeyList) GetItems() []KongKey

GetItems returns the list of KongKey items.

type KongKeySet

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

	Spec KongKeySetSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongKeySetStatus `json:"status,omitempty"`
}

KongKeySet is the schema for KongKeySet API which defines a KongKeySet entity.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.spec.controlPlaneRef) || !has(self.spec.controlPlaneRef.konnectNamespacedRef)) ? true : !has(self.spec.controlPlaneRef.konnectNamespacedRef.__namespace__)", message="spec.controlPlaneRef cannot specify namespace for namespaced resource" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongKeySet) DeepCopy

func (in *KongKeySet) DeepCopy() *KongKeySet

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

func (*KongKeySet) DeepCopyInto

func (in *KongKeySet) DeepCopyInto(out *KongKeySet)

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

func (*KongKeySet) DeepCopyObject

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

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

func (*KongKeySet) GetConditions

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

GetConditions returns the Status Conditions

func (*KongKeySet) GetControlPlaneID

func (obj *KongKeySet) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongKeySet status.

func (*KongKeySet) GetControlPlaneRef

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

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongKeySet) GetKonnectID

func (obj *KongKeySet) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongKeySet status.

func (*KongKeySet) GetKonnectStatus

func (obj *KongKeySet) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongKeySet status.

func (KongKeySet) GetTypeName

func (obj KongKeySet) GetTypeName() string

GetTypeName returns the KongKeySet Kind name

func (*KongKeySet) SetConditions

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

SetConditions sets the Status Conditions

func (*KongKeySet) SetControlPlaneID

func (obj *KongKeySet) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongKeySet status.

func (*KongKeySet) SetControlPlaneRef

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

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongKeySet) SetKonnectID

func (obj *KongKeySet) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongKeySet status.

type KongKeySetAPISpec

type KongKeySetAPISpec struct {
	// Name is a name of the KeySet.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Tags is an optional set of strings associated with the KeySet for grouping and filtering.
	// +optional
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongKeySetAPISpec defines the attributes of a Kong KeySet. +apireference:kgo:include

func (*KongKeySetAPISpec) DeepCopy

func (in *KongKeySetAPISpec) DeepCopy() *KongKeySetAPISpec

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

func (*KongKeySetAPISpec) DeepCopyInto

func (in *KongKeySetAPISpec) DeepCopyInto(out *KongKeySetAPISpec)

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

type KongKeySetList

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

KongKeySetList contains a list of Kong Keys. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongKeySetList) DeepCopy

func (in *KongKeySetList) DeepCopy() *KongKeySetList

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

func (*KongKeySetList) DeepCopyInto

func (in *KongKeySetList) DeepCopyInto(out *KongKeySetList)

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

func (*KongKeySetList) DeepCopyObject

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

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

func (KongKeySetList) GetItems

func (obj KongKeySetList) GetItems() []KongKeySet

GetItems returns the list of KongKeySet items.

type KongKeySetSpec

type KongKeySetSpec struct {
	// ControlPlaneRef is a reference to a Konnect ControlPlane with which KongKeySet is associated.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	// KongKeySetAPISpec are the attributes of the KongKeySet itself.
	KongKeySetAPISpec `json:",inline"`
}

KongKeySetSpec defines the spec for a KongKeySet. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +apireference:kgo:include

func (*KongKeySetSpec) DeepCopy

func (in *KongKeySetSpec) DeepCopy() *KongKeySetSpec

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

func (*KongKeySetSpec) DeepCopyInto

func (in *KongKeySetSpec) DeepCopyInto(out *KongKeySetSpec)

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

type KongKeySetStatus

type KongKeySetStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongKeySetStatus defines the status for a KongKeySet. +apireference:kgo:include

func (*KongKeySetStatus) DeepCopy

func (in *KongKeySetStatus) DeepCopy() *KongKeySetStatus

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

func (*KongKeySetStatus) DeepCopyInto

func (in *KongKeySetStatus) DeepCopyInto(out *KongKeySetStatus)

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

type KongKeySpec

type KongKeySpec struct {
	// ControlPlaneRef is a reference to a Konnect ControlPlane this KongKey is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +optional
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef,omitempty"`

	// KeySetRef is a reference to a KongKeySet this KongKey is attached to.
	// ControlPlane referenced by a KongKeySet must be the same as the ControlPlane referenced by the KongKey.
	// +optional
	KeySetRef *KeySetRef `json:"keySetRef,omitempty"`

	// KongKeyAPISpec are the attributes of the KongKey itself.
	KongKeyAPISpec `json:",inline"`
}

KongKeySpec defines the spec for a KongKey. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +apireference:kgo:include

func (*KongKeySpec) DeepCopy

func (in *KongKeySpec) DeepCopy() *KongKeySpec

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

func (*KongKeySpec) DeepCopyInto

func (in *KongKeySpec) DeepCopyInto(out *KongKeySpec)

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

type KongKeyStatus

type KongKeyStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndKeySetRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongKeyStatus defines the status for a KongKey. +apireference:kgo:include

func (*KongKeyStatus) DeepCopy

func (in *KongKeyStatus) DeepCopy() *KongKeyStatus

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

func (*KongKeyStatus) DeepCopyInto

func (in *KongKeyStatus) DeepCopyInto(out *KongKeyStatus)

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

type KongLicense

type KongLicense struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// RawLicenseString is a string with the raw content of the license.
	RawLicenseString string `json:"rawLicenseString"`
	// Enabled is set to true to let controllers (like KIC or KGO) to reconcile it.
	// Default value is true to apply the license by default.
	// +kubebuilder:default=true
	Enabled bool `json:"enabled"`
	// Status is the status of the KongLicense being processed by controllers.
	Status KongLicenseStatus `json:"status,omitempty"`
}

KongLicense stores a Kong enterprise license to apply to managed Kong gateway instances.

+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster,shortName=kl,categories=kong-ingress-controller;kong,path=konglicenses +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:printcolumn:name="Enabled",type=boolean,JSONPath=`.enabled`,description="Enabled to configure on Kong gateway instances" +apireference:kic:include +apireference:kgo:include +apireference:kic:include +kong:channels=gateway-operator

func (*KongLicense) DeepCopy

func (in *KongLicense) DeepCopy() *KongLicense

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

func (*KongLicense) DeepCopyInto

func (in *KongLicense) DeepCopyInto(out *KongLicense)

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

func (*KongLicense) DeepCopyObject

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

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

type KongLicenseControllerStatus

type KongLicenseControllerStatus struct {
	// ControllerName is an identifier of the controller to reconcile this KongLicense.
	// Should be unique in the list of controller statuses.
	ControllerName string `json:"controllerName"`
	// ControllerRef is the reference of the controller to reconcile this KongLicense.
	// It is usually the name of (KIC/KGO) pod that reconciles it.
	ControllerRef *ControllerReference `json:"controllerRef,omitempty"`
	// Conditions describe the current conditions of the KongLicense on the controller.
	// +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"`
}

KongLicenseControllerStatus is the status of owning KongLicense being processed identified by the controllerName field. +apireference:kgo:include

func (*KongLicenseControllerStatus) DeepCopy

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

func (*KongLicenseControllerStatus) DeepCopyInto

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

type KongLicenseList

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

KongLicenseList contains a list of KongLicense. +kubebuilder:object:root=true +apireference:kgo:include +apireference:kic:include

func (*KongLicenseList) DeepCopy

func (in *KongLicenseList) DeepCopy() *KongLicenseList

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

func (*KongLicenseList) DeepCopyInto

func (in *KongLicenseList) DeepCopyInto(out *KongLicenseList)

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

func (*KongLicenseList) DeepCopyObject

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

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

type KongLicenseStatus

type KongLicenseStatus struct {
	// +listType=map
	// +listMapKey=controllerName
	KongLicenseControllerStatuses []KongLicenseControllerStatus `json:"controllers,omitempty"`
}

KongLicenseStatus stores the status of the KongLicense being processesed in each controller that reconciles it. +apireference:kgo:include

func (*KongLicenseStatus) DeepCopy

func (in *KongLicenseStatus) DeepCopy() *KongLicenseStatus

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

func (*KongLicenseStatus) DeepCopyInto

func (in *KongLicenseStatus) DeepCopyInto(out *KongLicenseStatus)

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

type KongPluginBinding

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

	Spec KongPluginBindingSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongPluginBindingStatus `json:"status,omitempty"`
}

KongPluginBinding is the schema for Plugin Bindings API which defines a Kong Plugin Binding.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Plugin-kind",type=string,JSONPath=`.spec.pluginRef.kind`,description="Kind of the plugin" +kubebuilder:printcolumn:name="Plugin-name",type=string,JSONPath=`.spec.pluginRef.name`,description="Name of the plugin" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.spec) || !has(self.spec.controlPlaneRef) || !has(self.spec.controlPlaneRef.konnectNamespacedRef)) ? true : !has(self.spec.controlPlaneRef.konnectNamespacedRef.__namespace__)", message="spec.controlPlaneRef cannot specify namespace for namespaced resource" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongPluginBinding) DeepCopy

func (in *KongPluginBinding) DeepCopy() *KongPluginBinding

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

func (*KongPluginBinding) DeepCopyInto

func (in *KongPluginBinding) DeepCopyInto(out *KongPluginBinding)

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

func (*KongPluginBinding) DeepCopyObject

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

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

func (*KongPluginBinding) GetConditions

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

GetConditions returns the Status Conditions

func (*KongPluginBinding) GetControlPlaneID

func (obj *KongPluginBinding) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongPluginBinding status.

func (*KongPluginBinding) GetControlPlaneRef

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

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongPluginBinding) GetKonnectID

func (obj *KongPluginBinding) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongPluginBinding status.

func (*KongPluginBinding) GetKonnectStatus

func (obj *KongPluginBinding) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongPluginBinding status.

func (KongPluginBinding) GetTypeName

func (obj KongPluginBinding) GetTypeName() string

GetTypeName returns the KongPluginBinding Kind name

func (*KongPluginBinding) SetConditions

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

SetConditions sets the Status Conditions

func (*KongPluginBinding) SetControlPlaneID

func (obj *KongPluginBinding) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongPluginBinding status.

func (*KongPluginBinding) SetControlPlaneRef

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

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongPluginBinding) SetKonnectID

func (obj *KongPluginBinding) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongPluginBinding status.

type KongPluginBindingList

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

KongPluginBindingList contains a list of KongPluginBindings. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongPluginBindingList) DeepCopy

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

func (*KongPluginBindingList) DeepCopyInto

func (in *KongPluginBindingList) DeepCopyInto(out *KongPluginBindingList)

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

func (*KongPluginBindingList) DeepCopyObject

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

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

func (KongPluginBindingList) GetItems

func (obj KongPluginBindingList) GetItems() []KongPluginBinding

GetItems returns the list of KongPluginBinding items.

type KongPluginBindingScope

type KongPluginBindingScope string

KongPluginBindingScope defines the scope of the plugin binding. Allowed values are: - OnlyTargets - GlobalInControlPlane +kubebuilder:validation:Enum=OnlyTargets;GlobalInControlPlane

const (
	// KongPluginBindingScopeOnlyTargets is the scope for the plugin binding to be applied only to the targets.
	KongPluginBindingScopeOnlyTargets KongPluginBindingScope = "OnlyTargets"

	// KongPluginBindingScopeGlobalInControlPlane is the scope for the plugin binding to be applied to all entities in the
	// control plane (a.k.a. global scope).
	KongPluginBindingScopeGlobalInControlPlane KongPluginBindingScope = "GlobalInControlPlane"
)

type KongPluginBindingSpec

type KongPluginBindingSpec struct {
	// PluginReference is a reference to the KongPlugin or KongClusterPlugin resource.
	// +kubebuilder:validation:XValidation:message="pluginRef name must be set",rule="self.name != ”"
	PluginReference PluginRef `json:"pluginRef"`

	// Targets contains the targets references. It is possible to set multiple combinations
	// of references, as described in https://docs.konghq.com/gateway/latest/key-concepts/plugins/#precedence
	// The complete set of allowed combinations and their order of precedence for plugins
	// configured to multiple entities is:
	//
	// 1. Consumer + route + service
	// 2. Consumer group + service + route
	// 3. Consumer + route
	// 4. Consumer + service
	// 5. Consumer group + route
	// 6. Consumer group + service
	// 7. Route + service
	// 8. Consumer
	// 9. Consumer group
	// 10. Route
	// 11. Service
	//
	// +kubebuilder:validation:XValidation:message="Cannot set Consumer and ConsumerGroup at the same time",rule="(has(self.consumerRef) ? !has(self.consumerGroupRef) : true)"
	// +kubebuilder:validation:XValidation:message="KongRoute can be used only when serviceRef is unset or set to KongService",rule="(has(self.routeRef) && self.routeRef.kind == 'KongRoute') ? (!has(self.serviceRef) || self.serviceRef.kind == 'KongService') : true"
	// +kubebuilder:validation:XValidation:message="KongService can be used only when routeRef is unset or set to KongRoute",rule="(has(self.serviceRef) && self.serviceRef.kind == 'KongService') ? (!has(self.routeRef) || self.routeRef.kind == 'KongRoute') : true"
	Targets *KongPluginBindingTargets `json:"targets,omitempty"`

	// ControlPlaneRef is a reference to a ControlPlane this KongPluginBinding is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef,omitzero"`

	// Scope defines the scope of the plugin binding.
	// +optional
	// +kubebuilder:default:=OnlyTargets
	Scope KongPluginBindingScope `json:"scope,omitempty"`
}

KongPluginBindingSpec defines specification of a KongPluginBinding. +kubebuilder:validation:XValidation:message="At least one target reference must be set when scope is 'OnlyTargets'",rule="self.scope == 'OnlyTargets' ? has(self.targets) && (has(self.targets.routeRef) || has(self.targets.serviceRef) || has(self.targets.consumerRef) || has(self.targets.consumerGroupRef)) : true" +kubebuilder:validation:XValidation:message="No targets must be set when scope is 'GlobalInControlPlane'",rule="self.scope == 'GlobalInControlPlane' ? !has(self.targets) : true" +apireference:kgo:include

func (*KongPluginBindingSpec) DeepCopy

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

func (*KongPluginBindingSpec) DeepCopyInto

func (in *KongPluginBindingSpec) DeepCopyInto(out *KongPluginBindingSpec)

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

type KongPluginBindingStatus

type KongPluginBindingStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongPluginBindingStatus represents the current status of the KongBinding resource. +apireference:kgo:include

func (*KongPluginBindingStatus) DeepCopy

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

func (*KongPluginBindingStatus) DeepCopyInto

func (in *KongPluginBindingStatus) DeepCopyInto(out *KongPluginBindingStatus)

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

type KongPluginBindingTargets

type KongPluginBindingTargets struct {
	// RouteReference can be used to reference one of the following resouces:
	// - networking.k8s.io/Ingress
	// - gateway.networking.k8s.io/HTTPRoute
	// - gateway.networking.k8s.io/GRPCRoute
	// - configuration.konghq.com/KongRoute
	//
	// +optional
	// +kubebuilder:validation:XValidation:message="group/kind not allowed for the routeRef",rule="(self.kind == 'KongRoute' && self.group == 'configuration.konghq.com') || (self.kind == 'Ingress' && self.group == 'networking.k8s.io') || (self.kind == 'HTTPRoute' && self.group == 'gateway.networking.k8s.io') || (self.kind == 'GRPCRoute' && self.group == 'gateway.networking.k8s.io')"
	RouteReference *TargetRefWithGroupKind `json:"routeRef,omitempty"`

	// ServiceReference can be used to reference one of the following resouces:
	// - core/Service or /Service
	// - configuration.konghq.com/KongService
	//
	// +optional
	// +kubebuilder:validation:XValidation:message="group/kind not allowed for the serviceRef",rule="(self.kind == 'KongService' && self.group == 'configuration.konghq.com') || (self.kind == 'Service' && (self.group == ” || self.group == 'core'))"
	ServiceReference *TargetRefWithGroupKind `json:"serviceRef,omitempty"`

	// ConsumerReference is used to reference a configuration.konghq.com/Consumer resource.
	// The group/kind is fixed, therefore the reference is performed only by name.
	ConsumerReference *TargetRef `json:"consumerRef,omitempty"`

	// ConsumerGroupReference is used to reference a configuration.konghq.com/ConsumerGroup resource.
	// The group/kind is fixed, therefore the reference is performed only by name.
	ConsumerGroupReference *TargetRef `json:"consumerGroupRef,omitempty"`
}

KongPluginBindingTargets contains the targets references. +apireference:kgo:include

func (*KongPluginBindingTargets) DeepCopy

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

func (*KongPluginBindingTargets) DeepCopyInto

func (in *KongPluginBindingTargets) DeepCopyInto(out *KongPluginBindingTargets)

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

type KongRoute

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

	Spec KongRouteSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongRouteStatus `json:"status,omitempty"`
}

KongRoute is the schema for Routes API which defines a Kong Route.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="has(self.spec.protocols) && self.spec.protocols.exists(p, p == 'http') ? (has(self.spec.hosts) || has(self.spec.methods) || has(self.spec.paths) || has(self.spec.paths) || has(self.spec.paths) || has(self.spec.headers) ) : true", message="If protocols has 'http', at least one of 'hosts', 'methods', 'paths' or 'headers' must be set" +kubebuilder:validation:XValidation:rule="(!has(self.spec.controlPlaneRef) || !has(self.spec.controlPlaneRef.konnectNamespacedRef)) ? true : !has(self.spec.controlPlaneRef.konnectNamespacedRef.__namespace__)", message="spec.controlPlaneRef cannot specify namespace for namespaced resource" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!has(self.spec) || !has(self.spec.controlPlaneRef)) ? true : (!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongRoute) DeepCopy

func (in *KongRoute) DeepCopy() *KongRoute

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

func (*KongRoute) DeepCopyInto

func (in *KongRoute) DeepCopyInto(out *KongRoute)

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

func (*KongRoute) DeepCopyObject

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

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

func (*KongRoute) GetConditions

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

GetConditions returns the Status Conditions

func (*KongRoute) GetControlPlaneID

func (obj *KongRoute) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongRoute status.

func (*KongRoute) GetControlPlaneRef

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

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongRoute) GetKonnectID

func (obj *KongRoute) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongRoute status.

func (*KongRoute) GetKonnectStatus

func (obj *KongRoute) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongRoute status.

func (*KongRoute) GetServiceRef

func (obj *KongRoute) GetServiceRef() *ServiceRef

GetServiceRef returns the ServiceRef.

func (KongRoute) GetTypeName

func (obj KongRoute) GetTypeName() string

GetTypeName returns the KongRoute Kind name

func (*KongRoute) SetConditions

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

SetConditions sets the Status Conditions

func (*KongRoute) SetControlPlaneID

func (obj *KongRoute) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongRoute status.

func (*KongRoute) SetControlPlaneRef

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

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongRoute) SetKonnectID

func (obj *KongRoute) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongRoute status.

func (*KongRoute) SetServiceRef

func (obj *KongRoute) SetServiceRef(ref *ServiceRef)

SetServiceRef sets the SetServiceRef.

type KongRouteAPISpec

type KongRouteAPISpec struct {
	// A list of IP destinations of incoming connections that match this Route when using stream routing. Each entry is an object with fields "ip" (optionally in CIDR range notation) and/or "port".
	Destinations []sdkkonnectcomp.Destinations `json:"destinations,omitempty"`
	// One or more lists of values indexed by header name that will cause this Route to match if present in the request. The `Host` header cannot be used with this attribute: hosts should be specified using the `hosts` attribute. When `headers` contains only one value and that value starts with the special prefix `~*`, the value is interpreted as a regular expression.
	Headers map[string][]string `json:"headers,omitempty"`
	// A list of domain names that match this Route. Note that the hosts value is case sensitive.
	Hosts []string `json:"hosts,omitempty"`
	// The status code Kong responds with when all properties of a Route match except the protocol i.e. if the protocol of the request is `HTTP` instead of `HTTPS`. `Location` header is injected by Kong if the field is set to 301, 302, 307 or 308. Note: This config applies only if the Route is configured to only accept the `https` protocol.
	HTTPSRedirectStatusCode *sdkkonnectcomp.HTTPSRedirectStatusCode `json:"https_redirect_status_code,omitempty"`
	// A list of HTTP methods that match this Route.
	Methods []string `json:"methods,omitempty"`
	// The name of the Route. Route names must be unique, and they are case sensitive. For example, there can be two different Routes named "test" and "Test".
	Name *string `json:"name,omitempty"`
	// Controls how the Service path, Route path and requested path are combined when sending a request to the upstream. See above for a detailed description of each behavior.
	PathHandling *sdkkonnectcomp.PathHandling `json:"path_handling,omitempty"`
	// A list of paths that match this Route.
	Paths []string `json:"paths,omitempty"`
	// When matching a Route via one of the `hosts` domain names, use the request `Host` header in the upstream request headers. If set to `false`, the upstream `Host` header will be that of the Service's `host`.
	PreserveHost *bool `json:"preserve_host,omitempty"`
	// An array of the protocols this Route should allow. See KongRoute for a list of accepted protocols. When set to only `"https"`, HTTP requests are answered with an upgrade error. When set to only `"http"`, HTTPS requests are answered with an error.
	Protocols []sdkkonnectcomp.RouteJSONProtocols `json:"protocols,omitempty"`
	// A number used to choose which route resolves a given request when several routes match it using regexes simultaneously. When two routes match the path and have the same `regex_priority`, the older one (lowest `created_at`) is used. Note that the priority for non-regex routes is different (longer non-regex routes are matched before shorter ones).
	RegexPriority *int64 `json:"regex_priority,omitempty"`
	// Whether to enable request body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that receive data with chunked transfer encoding.
	RequestBuffering *bool `json:"request_buffering,omitempty"`
	// Whether to enable response body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that send data with chunked transfer encoding.
	ResponseBuffering *bool `json:"response_buffering,omitempty"`
	// A list of SNIs that match this Route when using stream routing.
	Snis []string `json:"snis,omitempty"`
	// A list of IP sources of incoming connections that match this Route when using stream routing. Each entry is an object with fields "ip" (optionally in CIDR range notation) and/or "port".
	Sources []sdkkonnectcomp.Sources `json:"sources,omitempty"`
	// When matching a Route via one of the `paths`, strip the matching prefix from the upstream request URL.
	StripPath *bool `json:"strip_path,omitempty"`
	// An optional set of strings associated with the Route for grouping and filtering.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongRouteAPISpec represents the configuration of a Route in Kong as defined by the Konnect API.

These fields are mostly copied from sdk-konnect-go but some modifications have been made to make the code generation required for Kubernetes CRDs work. +apireference:kgo:include

func (*KongRouteAPISpec) DeepCopy

func (in *KongRouteAPISpec) DeepCopy() *KongRouteAPISpec

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

func (*KongRouteAPISpec) DeepCopyInto

func (in *KongRouteAPISpec) DeepCopyInto(out *KongRouteAPISpec)

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

type KongRouteList

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

KongRouteList contains a list of Kong Routes. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongRouteList) DeepCopy

func (in *KongRouteList) DeepCopy() *KongRouteList

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

func (*KongRouteList) DeepCopyInto

func (in *KongRouteList) DeepCopyInto(out *KongRouteList)

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

func (*KongRouteList) DeepCopyObject

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

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

func (KongRouteList) GetItems

func (obj KongRouteList) GetItems() []KongRoute

GetItems returns the list of KongRoute items.

type KongRouteSpec

type KongRouteSpec struct {
	// ControlPlaneRef is a reference to a ControlPlane this KongRoute is associated with.
	// Route can either specify a ControlPlaneRef and be 'serviceless' route or
	// specify a ServiceRef and be associated with a Service.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +optional
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef,omitempty"`
	// ServiceRef is a reference to a Service this KongRoute is associated with.
	// Route can either specify a ControlPlaneRef and be 'serviceless' route or
	// specify a ServiceRef and be associated with a Service.
	// +optional
	ServiceRef *ServiceRef `json:"serviceRef,omitempty"`

	KongRouteAPISpec `json:",inline"`
}

KongRouteSpec defines spec of a Kong Route. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +apireference:kgo:include

func (*KongRouteSpec) DeepCopy

func (in *KongRouteSpec) DeepCopy() *KongRouteSpec

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

func (*KongRouteSpec) DeepCopyInto

func (in *KongRouteSpec) DeepCopyInto(out *KongRouteSpec)

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

type KongRouteStatus

type KongRouteStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndServiceRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongRouteStatus represents the current status of the Kong Route resource. +apireference:kgo:include

func (*KongRouteStatus) DeepCopy

func (in *KongRouteStatus) DeepCopy() *KongRouteStatus

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

func (*KongRouteStatus) DeepCopyInto

func (in *KongRouteStatus) DeepCopyInto(out *KongRouteStatus)

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

type KongSNI

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

	Spec KongSNISpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongSNIStatus `json:"status,omitempty"`
}

KongSNI is the schema for SNI API which defines a Kong SNI.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.certificateRef == self.spec.certificateRef", message="spec.certificateRef is immutable when programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongSNI) DeepCopy

func (in *KongSNI) DeepCopy() *KongSNI

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

func (*KongSNI) DeepCopyInto

func (in *KongSNI) DeepCopyInto(out *KongSNI)

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

func (*KongSNI) DeepCopyObject

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

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

func (*KongSNI) GetConditions

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

GetConditions returns the Status Conditions

func (*KongSNI) GetControlPlaneID

func (obj *KongSNI) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongSNI status.

func (*KongSNI) GetKonnectID

func (obj *KongSNI) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongSNI status.

func (*KongSNI) GetKonnectStatus

func (obj *KongSNI) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongSNI status.

func (KongSNI) GetTypeName

func (obj KongSNI) GetTypeName() string

GetTypeName returns the KongSNI Kind name

func (*KongSNI) SetConditions

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

SetConditions sets the Status Conditions

func (*KongSNI) SetControlPlaneID

func (obj *KongSNI) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongSNI status.

func (*KongSNI) SetKonnectID

func (obj *KongSNI) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongSNI status.

type KongSNIAPISpec

type KongSNIAPISpec struct {
	// Name is the name of the SNI. Required and must be a host or wildcard host.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Tags is an optional set of strings associated with the SNI for grouping and filtering.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongSNIAPISpec defines the spec of an SNI. +apireference:kgo:include

func (*KongSNIAPISpec) DeepCopy

func (in *KongSNIAPISpec) DeepCopy() *KongSNIAPISpec

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

func (*KongSNIAPISpec) DeepCopyInto

func (in *KongSNIAPISpec) DeepCopyInto(out *KongSNIAPISpec)

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

type KongSNIList

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

KongSNIList contains a list of Kong SNIs. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongSNIList) DeepCopy

func (in *KongSNIList) DeepCopy() *KongSNIList

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

func (*KongSNIList) DeepCopyInto

func (in *KongSNIList) DeepCopyInto(out *KongSNIList)

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

func (*KongSNIList) DeepCopyObject

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

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

func (KongSNIList) GetItems

func (obj KongSNIList) GetItems() []KongSNI

GetItems returns the list of KongSNI items.

type KongSNISpec

type KongSNISpec struct {
	// CertificateRef is the reference to the certificate to which the KongSNI is attached.
	CertificateRef commonv1alpha1.NameRef `json:"certificateRef"`
	// KongSNIAPISpec are the attributes of the Kong SNI itself.
	KongSNIAPISpec `json:",inline"`
}

KongSNISpec defines specification of a Kong SNI. +apireference:kgo:include

func (*KongSNISpec) DeepCopy

func (in *KongSNISpec) DeepCopy() *KongSNISpec

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

func (*KongSNISpec) DeepCopyInto

func (in *KongSNISpec) DeepCopyInto(out *KongSNISpec)

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

type KongSNIStatus

type KongSNIStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndCertificateRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongSNIStatus defines the status for a KongSNI. +apireference:kgo:include

func (*KongSNIStatus) DeepCopy

func (in *KongSNIStatus) DeepCopy() *KongSNIStatus

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

func (*KongSNIStatus) DeepCopyInto

func (in *KongSNIStatus) DeepCopyInto(out *KongSNIStatus)

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

type KongService

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

	Spec KongServiceSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongServiceStatus `json:"status,omitempty"`
}

KongService is the schema for Services API which defines a Kong Service.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Host",type=string,JSONPath=`.spec.host`,description="Host of the service" +kubebuilder:printcolumn:name="Protocol",type=string,JSONPath=`.spec.protocol`,description="Protocol of the service" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!has(self.spec.controlPlaneRef) || !has(self.spec.controlPlaneRef.konnectNamespacedRef)) ? true : !has(self.spec.controlPlaneRef.konnectNamespacedRef.__namespace__)", message="spec.controlPlaneRef cannot specify namespace for namespaced resource" +kubebuilder:validation:XValidation:rule="(!has(self.spec.controlPlaneRef)) ? true : (!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongService) DeepCopy

func (in *KongService) DeepCopy() *KongService

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

func (*KongService) DeepCopyInto

func (in *KongService) DeepCopyInto(out *KongService)

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

func (*KongService) DeepCopyObject

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

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

func (*KongService) GetConditions

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

GetConditions returns the Status Conditions

func (*KongService) GetControlPlaneID

func (obj *KongService) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongService status.

func (*KongService) GetControlPlaneRef

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

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongService) GetKonnectID

func (obj *KongService) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongService status.

func (*KongService) GetKonnectStatus

func (obj *KongService) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongService status.

func (KongService) GetTypeName

func (obj KongService) GetTypeName() string

GetTypeName returns the KongService Kind name

func (*KongService) SetConditions

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

SetConditions sets the Status Conditions

func (*KongService) SetControlPlaneID

func (obj *KongService) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongService status.

func (*KongService) SetControlPlaneRef

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

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongService) SetKonnectID

func (obj *KongService) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongService status.

type KongServiceAPISpec

type KongServiceAPISpec struct {

	// Helper field to set `protocol`, `host`, `port` and `path` using a URL. This field is write-only and is not returned in responses.
	URL *string `json:"url,omitempty"`
	// The timeout in milliseconds for establishing a connection to the upstream server.
	ConnectTimeout *int64 `json:"connect_timeout,omitempty"`
	// Whether the Service is active. If set to `false`, the proxy behavior will be as if any routes attached to it do not exist (404). Default: `true`.
	Enabled *bool `json:"enabled,omitempty"`
	// The host of the upstream server. Note that the host value is case sensitive.
	// +required
	Host string `json:"host"`
	// The Service name.
	Name *string `json:"name,omitempty"`
	// The path to be used in requests to the upstream server.
	Path *string `json:"path,omitempty"`
	// The upstream server port.
	Port int64 `json:"port,omitempty"`
	// The protocol used to communicate with the upstream.
	Protocol sdkkonnectcomp.Protocol `json:"protocol,omitempty"`
	// The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server.
	ReadTimeout *int64 `json:"read_timeout,omitempty"`
	// The number of retries to execute upon failure to proxy.
	Retries *int64 `json:"retries,omitempty"`
	// An optional set of strings associated with the Service for grouping and filtering.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
	// Whether to enable verification of upstream server TLS certificate. If set to `null`, then the Nginx default is respected.
	TLSVerify *bool `json:"tls_verify,omitempty"`
	// Maximum depth of chain while verifying Upstream server's TLS certificate. If set to `null`, then the Nginx default is respected.
	TLSVerifyDepth *int64 `json:"tls_verify_depth,omitempty"`
	// The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server.
	WriteTimeout *int64 `json:"write_timeout,omitempty"`
}

KongServiceAPISpec defines the specification of a Kong Service. +apireference:kgo:include

func (*KongServiceAPISpec) DeepCopy

func (in *KongServiceAPISpec) DeepCopy() *KongServiceAPISpec

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

func (*KongServiceAPISpec) DeepCopyInto

func (in *KongServiceAPISpec) DeepCopyInto(out *KongServiceAPISpec)

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

type KongServiceList

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

KongServiceList contains a list of Kong Services. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongServiceList) DeepCopy

func (in *KongServiceList) DeepCopy() *KongServiceList

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

func (*KongServiceList) DeepCopyInto

func (in *KongServiceList) DeepCopyInto(out *KongServiceList)

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

func (*KongServiceList) DeepCopyObject

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

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

func (KongServiceList) GetItems

func (obj KongServiceList) GetItems() []KongService

GetItems returns the list of KongService items.

type KongServiceSpec

type KongServiceSpec struct {
	// ControlPlaneRef is a reference to a ControlPlane this KongService is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	KongServiceAPISpec `json:",inline"`
}

KongServiceSpec defines specification of a Kong Service. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +apireference:kgo:include

func (*KongServiceSpec) DeepCopy

func (in *KongServiceSpec) DeepCopy() *KongServiceSpec

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

func (*KongServiceSpec) DeepCopyInto

func (in *KongServiceSpec) DeepCopyInto(out *KongServiceSpec)

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

type KongServiceStatus

type KongServiceStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongServiceStatus represents the current status of the Kong Service resource. +apireference:kgo:include

func (*KongServiceStatus) DeepCopy

func (in *KongServiceStatus) DeepCopy() *KongServiceStatus

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

func (*KongServiceStatus) DeepCopyInto

func (in *KongServiceStatus) DeepCopyInto(out *KongServiceStatus)

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

type KongTarget

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

	Spec KongTargetSpec `json:"spec"`
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongTargetStatus `json:"status,omitempty"`
}

KongTarget is the schema for Target API which defines a Kong Target attached to a Kong Upstream.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="oldSelf.spec.upstreamRef == self.spec.upstreamRef", message="spec.upstreamRef is immutable" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongTarget) DeepCopy

func (in *KongTarget) DeepCopy() *KongTarget

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

func (*KongTarget) DeepCopyInto

func (in *KongTarget) DeepCopyInto(out *KongTarget)

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

func (*KongTarget) DeepCopyObject

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

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

func (*KongTarget) GetConditions

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

GetConditions returns the Status Conditions

func (*KongTarget) GetControlPlaneID

func (obj *KongTarget) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongTarget status.

func (*KongTarget) GetKonnectID

func (obj *KongTarget) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongTarget status.

func (*KongTarget) GetKonnectStatus

func (obj *KongTarget) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongTarget status.

func (KongTarget) GetTypeName

func (obj KongTarget) GetTypeName() string

GetTypeName returns the KongTarget Kind name

func (*KongTarget) SetConditions

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

SetConditions sets the Status Conditions

func (*KongTarget) SetControlPlaneID

func (obj *KongTarget) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongTarget status.

func (*KongTarget) SetKonnectID

func (obj *KongTarget) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongTarget status.

type KongTargetAPISpec

type KongTargetAPISpec struct {
	// Target is the target address of the upstream.
	Target string `json:"target"`
	// Weight is the weight this target gets within the upstream loadbalancer.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=100
	Weight int `json:"weight"`
	// Tags is an optional set of strings associated with the Target for grouping and filtering.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongTargetAPISpec are the attributes of the Kong Target itself. +apireference:kgo:include

func (*KongTargetAPISpec) DeepCopy

func (in *KongTargetAPISpec) DeepCopy() *KongTargetAPISpec

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

func (*KongTargetAPISpec) DeepCopyInto

func (in *KongTargetAPISpec) DeepCopyInto(out *KongTargetAPISpec)

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

type KongTargetList

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

KongTargetList contains a list of Kong Targets. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongTargetList) DeepCopy

func (in *KongTargetList) DeepCopy() *KongTargetList

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

func (*KongTargetList) DeepCopyInto

func (in *KongTargetList) DeepCopyInto(out *KongTargetList)

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

func (*KongTargetList) DeepCopyObject

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

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

func (KongTargetList) GetItems

func (obj KongTargetList) GetItems() []KongTarget

GetItems returns the list of KongTarget items.

type KongTargetSpec

type KongTargetSpec struct {
	// UpstreamRef is a reference to a KongUpstream this KongTarget is attached to.
	UpstreamRef commonv1alpha1.NameRef `json:"upstreamRef"`
	// KongTargetAPISpec are the attributes of the Kong Target itself.
	KongTargetAPISpec `json:",inline"`
}

KongTargetSpec defines the spec of KongTarget. +apireference:kgo:include

func (*KongTargetSpec) DeepCopy

func (in *KongTargetSpec) DeepCopy() *KongTargetSpec

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

func (*KongTargetSpec) DeepCopyInto

func (in *KongTargetSpec) DeepCopyInto(out *KongTargetSpec)

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

type KongTargetStatus

type KongTargetStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndUpstreamRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongTargetStatus defines the observed state of KongTarget. +apireference:kgo:include

func (*KongTargetStatus) DeepCopy

func (in *KongTargetStatus) DeepCopy() *KongTargetStatus

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

func (*KongTargetStatus) DeepCopyInto

func (in *KongTargetStatus) DeepCopyInto(out *KongTargetStatus)

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

type KongUpstream

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

	Spec KongUpstreamSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongUpstreamStatus `json:"status,omitempty"`
}

KongUpstream is the schema for Upstream API which defines a Kong Upstream.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!has(self.spec.controlPlaneRef) || !has(self.spec.controlPlaneRef.konnectNamespacedRef)) ? true : !has(self.spec.controlPlaneRef.konnectNamespacedRef.__namespace__)", message="spec.controlPlaneRef cannot specify namespace for namespaced resource" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongUpstream) DeepCopy

func (in *KongUpstream) DeepCopy() *KongUpstream

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

func (*KongUpstream) DeepCopyInto

func (in *KongUpstream) DeepCopyInto(out *KongUpstream)

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

func (*KongUpstream) DeepCopyObject

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

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

func (*KongUpstream) GetConditions

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

GetConditions returns the Status Conditions

func (*KongUpstream) GetControlPlaneID

func (obj *KongUpstream) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongUpstream status.

func (*KongUpstream) GetControlPlaneRef

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

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongUpstream) GetKonnectID

func (obj *KongUpstream) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongUpstream status.

func (*KongUpstream) GetKonnectStatus

func (obj *KongUpstream) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongUpstream status.

func (KongUpstream) GetTypeName

func (obj KongUpstream) GetTypeName() string

GetTypeName returns the KongUpstream Kind name

func (*KongUpstream) SetConditions

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

SetConditions sets the Status Conditions

func (*KongUpstream) SetControlPlaneID

func (obj *KongUpstream) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongUpstream status.

func (*KongUpstream) SetControlPlaneRef

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

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongUpstream) SetKonnectID

func (obj *KongUpstream) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongUpstream status.

type KongUpstreamAPISpec

type KongUpstreamAPISpec struct {
	// Which load balancing algorithm to use.
	Algorithm *sdkkonnectcomp.UpstreamAlgorithm `default:"round-robin" json:"algorithm,omitempty"`
	// If set, the certificate to be used as client certificate while TLS handshaking to the upstream server.
	ClientCertificate *sdkkonnectcomp.UpstreamClientCertificate `json:"client_certificate,omitempty"`
	// What to use as hashing input if the primary `hash_on` does not return a hash (eg. header is missing, or no Consumer identified). Not available if `hash_on` is set to `cookie`.
	HashFallback *sdkkonnectcomp.HashFallback `default:"none" json:"hash_fallback,omitempty"`
	// The header name to take the value from as hash input. Only required when `hash_fallback` is set to `header`.
	HashFallbackHeader *string `json:"hash_fallback_header,omitempty"`
	// The name of the query string argument to take the value from as hash input. Only required when `hash_fallback` is set to `query_arg`.
	HashFallbackQueryArg *string `json:"hash_fallback_query_arg,omitempty"`
	// The name of the route URI capture to take the value from as hash input. Only required when `hash_fallback` is set to `uri_capture`.
	HashFallbackURICapture *string `json:"hash_fallback_uri_capture,omitempty"`
	// What to use as hashing input. Using `none` results in a weighted-round-robin scheme with no hashing.
	HashOn *sdkkonnectcomp.HashOn `default:"none" json:"hash_on,omitempty"`
	// The cookie name to take the value from as hash input. Only required when `hash_on` or `hash_fallback` is set to `cookie`. If the specified cookie is not in the request, Kong will generate a value and set the cookie in the response.
	HashOnCookie *string `json:"hash_on_cookie,omitempty"`
	// The cookie path to set in the response headers. Only required when `hash_on` or `hash_fallback` is set to `cookie`.
	HashOnCookiePath *string `default:"/" json:"hash_on_cookie_path,omitempty"`
	// The header name to take the value from as hash input. Only required when `hash_on` is set to `header`.
	HashOnHeader *string `json:"hash_on_header,omitempty"`
	// The name of the query string argument to take the value from as hash input. Only required when `hash_on` is set to `query_arg`.
	HashOnQueryArg *string `json:"hash_on_query_arg,omitempty"`
	// The name of the route URI capture to take the value from as hash input. Only required when `hash_on` is set to `uri_capture`.
	HashOnURICapture *string                      `json:"hash_on_uri_capture,omitempty"`
	Healthchecks     *sdkkonnectcomp.Healthchecks `json:"healthchecks,omitempty"`
	// The hostname to be used as `Host` header when proxying requests through Kong.
	HostHeader *string `json:"host_header,omitempty"`
	// This is a hostname, which must be equal to the `host` of a Service.
	Name string `json:"name,omitempty"`
	// The number of slots in the load balancer algorithm. If `algorithm` is set to `round-robin`, this setting determines the maximum number of slots. If `algorithm` is set to `consistent-hashing`, this setting determines the actual number of slots in the algorithm. Accepts an integer in the range `10`-`65536`.
	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=65536
	Slots *int64 `default:"10000" json:"slots,omitempty"`
	// An optional set of strings associated with the Upstream for grouping and filtering.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
	// If set, the balancer will use SRV hostname(if DNS Answer has SRV record) as the proxy upstream `Host`.
	UseSrvName *bool `default:"false" json:"use_srv_name,omitempty"`
}

KongUpstreamAPISpec defines specification of a Kong Upstream.

+kubebuilder:validation:XValidation:rule="!has(self.hash_fallback) || (self.hash_fallback != 'header' || has(self.hash_fallback_header))", message="hash_fallback_header is required when `hash_fallback` is set to `header`." +kubebuilder:validation:XValidation:rule="!has(self.hash_fallback) || (self.hash_fallback != 'query_arg' || has(self.hash_fallback_query_arg))", message="hash_fallback_query_arg is required when `hash_fallback` is set to `query_arg`." +kubebuilder:validation:XValidation:rule="!has(self.hash_fallback) || (self.hash_fallback != 'uri_capture' || has(self.hash_fallback_uri_capture))", message="hash_fallback_uri_capture is required when `hash_fallback` is set to `uri_capture`." +kubebuilder:validation:XValidation:rule="!has(self.hash_fallback) || (self.hash_fallback != 'cookie' || has(self.hash_on_cookie))", message="hash_on_cookie is required when hash_fallback is set to `cookie`." +kubebuilder:validation:XValidation:rule="!has(self.hash_on) || (self.hash_on != 'cookie' || has(self.hash_on_cookie))", message="hash_on_cookie is required when hash_on is set to `cookie`." +kubebuilder:validation:XValidation:rule="!has(self.hash_fallback) || (self.hash_fallback != 'cookie' || has(self.hash_on_cookie_path))", message="hash_on_cookie_path is required when hash_fallback is set to `cookie`." +kubebuilder:validation:XValidation:rule="!has(self.hash_on) || (self.hash_on != 'cookie' || has(self.hash_on_cookie_path))", message="hash_on_cookie_path is required when hash_on is set to `cookie`." +kubebuilder:validation:XValidation:rule="!has(self.hash_on) || (self.hash_on != 'header' || has(self.hash_on_header))", message="hash_on_header is required when hash_on is set to `header`." +kubebuilder:validation:XValidation:rule="!has(self.hash_on) || (self.hash_on != 'query_arg' || has(self.hash_on_query_arg))", message="hash_on_query_arg is required when `hash_on` is set to `query_arg`." +kubebuilder:validation:XValidation:rule="!has(self.hash_on) || (self.hash_on != 'uri_capture' || has(self.hash_on_uri_capture))", message="hash_on_uri_capture is required when `hash_on` is set to `uri_capture`." +apireference:kgo:include

func (*KongUpstreamAPISpec) DeepCopy

func (in *KongUpstreamAPISpec) DeepCopy() *KongUpstreamAPISpec

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

func (*KongUpstreamAPISpec) DeepCopyInto

func (in *KongUpstreamAPISpec) DeepCopyInto(out *KongUpstreamAPISpec)

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

type KongUpstreamList

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

KongUpstreamList contains a list of Kong Upstreams. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongUpstreamList) DeepCopy

func (in *KongUpstreamList) DeepCopy() *KongUpstreamList

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

func (*KongUpstreamList) DeepCopyInto

func (in *KongUpstreamList) DeepCopyInto(out *KongUpstreamList)

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

func (*KongUpstreamList) DeepCopyObject

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

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

func (KongUpstreamList) GetItems

func (obj KongUpstreamList) GetItems() []KongUpstream

GetItems returns the list of KongUpstream items.

type KongUpstreamSpec

type KongUpstreamSpec struct {
	// ControlPlaneRef is a reference to a ControlPlane this KongUpstream is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	KongUpstreamAPISpec `json:",inline"`
}

KongUpstreamSpec defines the spec of Kong Upstream. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +apireference:kgo:include

func (*KongUpstreamSpec) DeepCopy

func (in *KongUpstreamSpec) DeepCopy() *KongUpstreamSpec

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

func (*KongUpstreamSpec) DeepCopyInto

func (in *KongUpstreamSpec) DeepCopyInto(out *KongUpstreamSpec)

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

type KongUpstreamStatus

type KongUpstreamStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongUpstreamStatus represents the current status of the Kong Upstream resource. +apireference:kgo:include

func (*KongUpstreamStatus) DeepCopy

func (in *KongUpstreamStatus) DeepCopy() *KongUpstreamStatus

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

func (*KongUpstreamStatus) DeepCopyInto

func (in *KongUpstreamStatus) DeepCopyInto(out *KongUpstreamStatus)

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

type KongVault

type KongVault struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              KongVaultSpec   `json:"spec"`
	Status            KongVaultStatus `json:"status,omitempty"`
}

KongVault is the schema for kongvaults API which defines a custom Kong vault. A Kong vault is a storage to store sensitive data, where the values can be referenced in configuration of plugins. See: https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/

+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster,shortName=kv,categories=kong-ingress-controller;kong,path=kongvaults +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Backend Type",type=string,JSONPath=`.spec.backend`,description="Name of the backend of the vault" +kubebuilder:printcolumn:name="Prefix",type=string,JSONPath=`.spec.prefix`,description="Prefix of vault URI to reference the values in the vault" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:printcolumn:name="Description",type=string,JSONPath=`.spec.description`,description="Description",priority=1 +kubebuilder:printcolumn:name="Programmed",type=string,JSONPath=`.status.conditions[?(@.type=="Programmed")].status` +kubebuilder:validation:XValidation:rule="self.spec.prefix == oldSelf.spec.prefix", message="The spec.prefix field is immutable" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!has(self.status) || !self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True') || !has(self.spec.controlPlaneRef)) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +apireference:kgo:include +kong:channels=gateway-operator

func (*KongVault) DeepCopy

func (in *KongVault) DeepCopy() *KongVault

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

func (*KongVault) DeepCopyInto

func (in *KongVault) DeepCopyInto(out *KongVault)

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

func (*KongVault) DeepCopyObject

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

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

func (*KongVault) GetConditions

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

GetConditions returns the Status Conditions

func (*KongVault) GetControlPlaneID

func (obj *KongVault) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongVault status.

func (*KongVault) GetControlPlaneRef

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

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongVault) GetKonnectID

func (obj *KongVault) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongVault status.

func (*KongVault) GetKonnectStatus

func (obj *KongVault) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongVault status.

func (KongVault) GetTypeName

func (obj KongVault) GetTypeName() string

GetTypeName returns the KongVault Kind name

func (*KongVault) SetConditions

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

SetConditions sets the Status Conditions

func (*KongVault) SetControlPlaneID

func (obj *KongVault) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongVault status.

func (*KongVault) SetControlPlaneRef

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

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongVault) SetKonnectID

func (obj *KongVault) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongVault status.

type KongVaultList

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

KongVaultList contains a list of KongVault. +kubebuilder:object:root=true +apireference:kgo:include

func (*KongVaultList) DeepCopy

func (in *KongVaultList) DeepCopy() *KongVaultList

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

func (*KongVaultList) DeepCopyInto

func (in *KongVaultList) DeepCopyInto(out *KongVaultList)

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

func (*KongVaultList) DeepCopyObject

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

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

func (KongVaultList) GetItems

func (obj KongVaultList) GetItems() []KongVault

GetItems returns the list of KongVault items.

type KongVaultSpec

type KongVaultSpec struct {
	// Backend is the type of the backend storing the secrets in the vault.
	// The supported backends of Kong is listed here:
	// https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/backends/
	// +kubebuilder:validation:MinLength=1
	Backend string `json:"backend"`
	// Prefix is the prefix of vault URI for referencing values in the vault.
	// It is immutable after created.
	// +kubebuilder:validation:MinLength=1
	Prefix string `json:"prefix"`
	// Description is the additional information about the vault.
	Description string `json:"description,omitempty"`
	// Config is the configuration of the vault. Varies for different backends.
	Config apiextensionsv1.JSON `json:"config,omitempty"`
	// Tags are the tags associated to the vault for grouping and filtering.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
	// ControlPlaneRef is a reference to a Konnect ControlPlane this KongVault is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +optional
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef,omitempty"`
}

KongVaultSpec defines specification of a custom Kong vault. +apireference:kgo:include

func (*KongVaultSpec) DeepCopy

func (in *KongVaultSpec) DeepCopy() *KongVaultSpec

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

func (*KongVaultSpec) DeepCopyInto

func (in *KongVaultSpec) DeepCopyInto(out *KongVaultSpec)

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

type KongVaultStatus

type KongVaultStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	// +apireference:kic:exclude
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the current conditions of the KongVaultStatus.
	//
	// 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"`
}

KongVaultStatus represents the current status of the KongVault resource. +apireference:kgo:include

func (*KongVaultStatus) DeepCopy

func (in *KongVaultStatus) DeepCopy() *KongVaultStatus

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

func (*KongVaultStatus) DeepCopyInto

func (in *KongVaultStatus) DeepCopyInto(out *KongVaultStatus)

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

type KonnectNamespacedRef

type KonnectNamespacedRef = commonv1alpha1.KonnectNamespacedRef

KonnectNamespacedRef is the schema for the KonnectNamespacedRef type.

type Namespace

type Namespace string

Namespace refers to a Kubernetes namespace. It must be a RFC 1123 label. +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` +kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=63 +apireference:kgo:include

type ObjectName

type ObjectName string

ObjectName refers to the name of a Kubernetes object. Object names can have a variety of forms, including RFC1123 subdomains, RFC 1123 labels, or RFC 1035 labels.

+kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=253 +apireference:kgo:include +apireference:kic:include

type ObjectReference

type ObjectReference struct {
	// Group defines the API group of the referred object.
	Group *string `json:"group,omitempty"`
	// Kind defines the kind of the referred object.
	// +kubebuilder:validation:Enum=KongPlugin;KongClusterPlugin
	Kind *string `json:"kind,omitempty"`
	// Empty namespace means the same namespace of the owning object.
	Namespace *string `json:"namespace,omitempty"`
	// Name defines the name of the referred object.
	Name string `json:"name"`
}

ObjectReference defines reference of a kubernetes object. +apireference:kic:include

func (*ObjectReference) DeepCopy

func (in *ObjectReference) DeepCopy() *ObjectReference

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

func (*ObjectReference) DeepCopyInto

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

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

type PEMKeyPair

type PEMKeyPair struct {
	// The private key in PEM format.
	// +kubebuilder:validation:MinLength=1
	PrivateKey string `json:"private_key"`

	// The public key in PEM format.
	// +kubebuilder:validation:MinLength=1
	PublicKey string `json:"public_key"`
}

PEMKeyPair defines a keypair in PEM format. +apireference:kgo:include

func (*PEMKeyPair) DeepCopy

func (in *PEMKeyPair) DeepCopy() *PEMKeyPair

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

func (*PEMKeyPair) DeepCopyInto

func (in *PEMKeyPair) DeepCopyInto(out *PEMKeyPair)

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

type PluginRef

type PluginRef struct {

	// Name is the name of the KongPlugin or KongClusterPlugin resource.
	// +required
	Name string `json:"name"`

	// Kind can be KongPlugin or KongClusterPlugin. If not set, it is assumed to be KongPlugin.
	// +kubebuilder:validation:Enum=KongPlugin;KongClusterPlugin
	// +kubebuilder:default:=KongPlugin
	Kind *string `json:"kind,omitempty"`
}

PluginRef is a reference to a KongPlugin or KongClusterPlugin resource. +apireference:kgo:include

func (*PluginRef) DeepCopy

func (in *PluginRef) DeepCopy() *PluginRef

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

func (*PluginRef) DeepCopyInto

func (in *PluginRef) DeepCopyInto(out *PluginRef)

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

type ServiceRef

type ServiceRef struct {
	// Type can be one of:
	// - namespacedRef
	//
	// +kubebuilder:validation:Enum:=namespacedRef
	Type string `json:"type,omitempty"`

	// NamespacedRef is a reference to a KongService.
	NamespacedRef *commonv1alpha1.NameRef `json:"namespacedRef,omitempty"`
}

ServiceRef is a reference to a KongService.

+kubebuilder:validation:XValidation:rule="self.type == 'namespacedRef' ? has(self.namespacedRef) : true", message="when type is namespacedRef, namespacedRef must be set" +apireference:kgo:include

func (*ServiceRef) DeepCopy

func (in *ServiceRef) DeepCopy() *ServiceRef

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

func (*ServiceRef) DeepCopyInto

func (in *ServiceRef) DeepCopyInto(out *ServiceRef)

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

type TargetRef

type TargetRef struct {
	// Name is the name of the entity.
	// +required
	Name string `json:"name"`
}

TargetRef is a reference based on the object's name. +apireference:kgo:include

func (*TargetRef) DeepCopy

func (in *TargetRef) DeepCopy() *TargetRef

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

func (*TargetRef) DeepCopyInto

func (in *TargetRef) DeepCopyInto(out *TargetRef)

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

type TargetRefWithGroupKind

type TargetRefWithGroupKind struct {
	// Name is the name of the entity.
	// +required
	Name string `json:"name"`

	// +kubebuilder:validation:Enum=Service;Ingress;HTTPRoute;GRPCRoute;KongService;KongRoute
	Kind string `json:"kind"`

	// +kubebuilder:validation:Enum="";core;networking.k8s.io;gateway.networking.k8s.io;configuration.konghq.com
	Group string `json:"group"`
}

TargetRefWithGroupKind is a reference based on the object's group, kind, and name. +apireference:kgo:include

func (*TargetRefWithGroupKind) DeepCopy

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

func (*TargetRefWithGroupKind) DeepCopyInto

func (in *TargetRefWithGroupKind) DeepCopyInto(out *TargetRefWithGroupKind)

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