v1alpha1

package
v0.0.14 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2024 License: MIT Imports: 7 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 = "konnectID"
	// 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 = "konnectNamespacedRef"
)
View Source
const (
	IngressClassParametersKind = "IngressClassParameters"
)
View Source
const (
	KongCustomEntityKind = "KongCustomEntity"
)
View Source
const (
	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 struct {
	// Type can be one of:
	// - konnectID
	// - konnectNamespacedRef
	// +kubebuilder:validation:Enum=konnectID;konnectNamespacedRef
	Type string `json:"type,omitempty"`

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

	// KonnectNamespacedRef is a reference to a Konnect Control Plane entity inside the cluster.
	// It contains the name of the Konnect Control Plane.
	// This field is required when the Type is konnectNamespacedRef.
	// +optional
	KonnectNamespacedRef *KonnectNamespacedRef `json:"konnectNamespacedRef,omitempty"`
}

ControlPlaneRef is the schema for the ControlPlaneRef type. It is used to reference a Control Plane entity. +kubebuilder:validation:XValidation:rule="self.type == 'konnectNamespacedRef' ? has(self.konnectNamespacedRef) : true", message="when type is konnectNamespacedRef, konnectNamespacedRef must be set" +kubebuilder:validation:XValidation:rule="self.type == 'konnectID' ? has(self.konnectID) : true", message="when type is konnectID, konnectID must be set"

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"`
}

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])?)*$`

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.

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.

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"`
}

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 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])?$`

type KongCACertificate added in v0.0.14

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: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"

func (*KongCACertificate) DeepCopy added in v0.0.14

func (in *KongCACertificate) DeepCopy() *KongCACertificate

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

func (*KongCACertificate) DeepCopyInto added in v0.0.14

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

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

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

func (*KongCACertificate) GetConditions added in v0.0.14

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

GetConditions returns the Status Conditions.

func (*KongCACertificate) GetControlPlaneID added in v0.0.14

func (r *KongCACertificate) GetControlPlaneID() string

GetControlPlaneID returns the Konnect Control Plane ID of the KongCACertificate.

func (*KongCACertificate) GetKonnectID added in v0.0.14

func (r *KongCACertificate) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCACertificate status.

func (*KongCACertificate) GetKonnectStatus added in v0.0.14

func (r *KongCACertificate) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongRoute status.

func (KongCACertificate) GetTypeName added in v0.0.14

func (r KongCACertificate) GetTypeName() string

GetTypeName returns the KongCACertificate Kind name.

func (*KongCACertificate) SetConditions added in v0.0.14

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

SetConditions sets the Status Conditions.

func (*KongCACertificate) SetControlPlaneID added in v0.0.14

func (r *KongCACertificate) SetControlPlaneID(id string)

SetControlPlaneID sets the Konnect Control Plane ID in the KongCACertificate status.

func (*KongCACertificate) SetKonnectID added in v0.0.14

func (r *KongCACertificate) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCACertificate status.

type KongCACertificateAPISpec added in v0.0.14

type KongCACertificateAPISpec struct {
	// Cert is the PEM-encoded CA certificate.
	// +kubebuilder:validation:Required
	Cert string `json:"cert,omitempty"`
	// Tags is an optional set of tags applied to the certificate.
	Tags []string `json:"tags,omitempty"`
}

KongCACertificateAPISpec contains the API specification for the KongCACertificate.

func (*KongCACertificateAPISpec) DeepCopy added in v0.0.14

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

func (*KongCACertificateAPISpec) DeepCopyInto added in v0.0.14

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

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

func (*KongCACertificateList) DeepCopy added in v0.0.14

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

func (*KongCACertificateList) DeepCopyInto added in v0.0.14

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

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

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

type KongCACertificateSpec added in v0.0.14

type KongCACertificateSpec struct {
	// ControlPlaneRef references the Konnect Control Plane that this KongCACertificate should be created in.
	ControlPlaneRef          *ControlPlaneRef `json:"controlPlaneRef,omitempty"`
	KongCACertificateAPISpec `json:",inline"`
}

KongCACertificateSpec contains the specification for the KongCACertificate.

func (*KongCACertificateSpec) DeepCopy added in v0.0.14

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

func (*KongCACertificateSpec) DeepCopyInto added in v0.0.14

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

type KongCACertificateStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha1.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"`
}

func (*KongCACertificateStatus) DeepCopy added in v0.0.14

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

func (*KongCACertificateStatus) DeepCopyInto added in v0.0.14

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

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.

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"`
}

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"`
}

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 KongEntityScope

type KongEntityScope string

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.

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.

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.

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 KongLicensePhase

type KongLicensePhase string

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.

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: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"

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 (b *KongPluginBinding) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions

func (*KongPluginBinding) GetControlPlaneID added in v0.0.9

func (b *KongPluginBinding) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongPluginBinding status.

func (*KongPluginBinding) GetKonnectID added in v0.0.9

func (b *KongPluginBinding) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongPluginBinding status.

func (*KongPluginBinding) GetKonnectStatus

func (b *KongPluginBinding) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongPluginBinding status.

func (KongPluginBinding) GetTypeName

func (b KongPluginBinding) GetTypeName() string

GetTypeName returns the KongPluginBinding Kind name

func (*KongPluginBinding) SetConditions

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

SetConditions sets the Status Conditions

func (*KongPluginBinding) SetControlPlaneID added in v0.0.9

func (b *KongPluginBinding) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongPluginBinding status.

func (*KongPluginBinding) SetKonnectID added in v0.0.9

func (b *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.

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.

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="At least one entity reference must be set",rule="has(self.routeRef) || has(self.serviceRef) || has(self.consumerRef) || has(self.consumerGroupRef)"
	// +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"`

	// ControlPlaneRef is a reference to a ControlPlane this KongPluginBinding is associated with.
	// +optional
	ControlPlaneRef *ControlPlaneRef `json:"controlPlaneRef,omitempty"`
}

KongPluginBindingSpec defines specification of a KongPluginBinding.

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 *konnectv1alpha1.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.

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

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.

func (*KongPluginBindingTargets) DeepCopy added in v0.0.2

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

func (*KongPluginBindingTargets) DeepCopyInto added in v0.0.2

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: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.serviceRef) || has(self.spec.serviceRef)", message="serviceRef is required once set" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.serviceRef == self.spec.serviceRef", message="spec.serviceRef is immutable when an entity is already Programmed" +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"

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 (r *KongRoute) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions

func (*KongRoute) GetControlPlaneID added in v0.0.7

func (r *KongRoute) GetControlPlaneID() string

GetControlPlaneID returns the Konnect Control Plane ID of the KongRoute.

func (*KongRoute) GetKonnectID added in v0.0.9

func (r *KongRoute) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongRoute status.

func (*KongRoute) GetKonnectStatus

func (r *KongRoute) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongRoute status.

func (KongRoute) GetTypeName

func (r KongRoute) GetTypeName() string

GetTypeName returns the KongRoute Kind name

func (*KongRoute) SetConditions

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

SetConditions sets the Status Conditions

func (*KongRoute) SetControlPlaneID added in v0.0.7

func (r *KongRoute) SetControlPlaneID(id string)

SetControlPlaneID sets the Konnect Control Plane ID in the KongRoute status.

func (*KongRoute) SetKonnectID added in v0.0.7

func (r *KongRoute) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongRoute status.

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 []sdkkonnectgocomp.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 *sdkkonnectgocomp.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 *sdkkonnectgocomp.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 the [Route Object](#route-object) section 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 []sdkkonnectgocomp.RouteProtocols `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 []sdkkonnectgocomp.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 []string `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.

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.

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.

type KongRouteSpec

type KongRouteSpec struct {
	// ServiceRef is a reference to a Service this Route is associated with.
	// +optional
	ServiceRef *ServiceRef `json:"serviceRef,omitempty"`

	KongRouteAPISpec `json:",inline"`
}

KongRouteSpec defines specification of a Kong Route.

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 *konnectv1alpha1.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.

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 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: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.procol`,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="(!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"

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 (s *KongService) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions

func (*KongService) GetControlPlaneID added in v0.0.2

func (s *KongService) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongService status.

func (*KongService) GetKonnectID added in v0.0.9

func (s *KongService) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongService status.

func (*KongService) GetKonnectStatus

func (s *KongService) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongService status.

func (KongService) GetTypeName

func (s KongService) GetTypeName() string

GetTypeName returns the KongService Kind name

func (*KongService) SetConditions

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

SetConditions sets the Status Conditions

func (*KongService) SetControlPlaneID added in v0.0.2

func (s *KongService) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongService status.

func (*KongService) SetKonnectID added in v0.0.7

func (s *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.
	// +kubebuilder:validation: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 *sdkkonnectgocomp.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 []string `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 specification of a Kong Service.

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.

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.

type KongServiceSpec

type KongServiceSpec struct {
	// ControlPlaneRef is a reference to a ControlPlane this KongService is associated with.
	// +optional
	ControlPlaneRef *ControlPlaneRef `json:"controlPlaneRef,omitempty"`

	KongServiceAPISpec `json:",inline"`
}

KongServiceSpec defines specification of a Kong Route.

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 *konnectv1alpha1.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.

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

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: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="oldSelf.spec.upstreamRef == self.spec.upstreamRef", message="spec.upstreamRef is immutable"

func (*KongTarget) DeepCopy added in v0.0.13

func (in *KongTarget) DeepCopy() *KongTarget

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

func (*KongTarget) DeepCopyInto added in v0.0.13

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

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

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

func (*KongTarget) GetConditions added in v0.0.13

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

GetConditions returns the Status Conditions.

func (*KongTarget) GetControlPlaneID added in v0.0.13

func (t *KongTarget) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongTarget status.

func (*KongTarget) GetKonnectID added in v0.0.13

func (t *KongTarget) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongTarget status.

func (*KongTarget) GetKonnectStatus added in v0.0.13

func (t *KongTarget) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongTarget status.

func (KongTarget) GetTypeName added in v0.0.13

func (t KongTarget) GetTypeName() string

GetTypeName returns the KongTarget Kind name.

func (*KongTarget) SetConditions added in v0.0.13

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

SetConditions sets the Status Conditions.

func (*KongTarget) SetControlPlaneID added in v0.0.13

func (t *KongTarget) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongTarget status.

func (*KongTarget) SetKonnectID added in v0.0.13

func (t *KongTarget) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongTarget status.

type KongTargetAPISpec added in v0.0.13

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 []string `json:"tags,omitempty"`
}

func (*KongTargetAPISpec) DeepCopy added in v0.0.13

func (in *KongTargetAPISpec) DeepCopy() *KongTargetAPISpec

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

func (*KongTargetAPISpec) DeepCopyInto added in v0.0.13

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

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

KongTargetList contains a list of Kong Targets.

func (*KongTargetList) DeepCopy added in v0.0.13

func (in *KongTargetList) DeepCopy() *KongTargetList

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

func (*KongTargetList) DeepCopyInto added in v0.0.13

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

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

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

type KongTargetSpec added in v0.0.13

type KongTargetSpec struct {
	// ControlPlaneRef is a reference to a ControlPlane this KongTarget is associated with.
	// +optional
	ControlPlaneRef *ControlPlaneRef `json:"controlPlaneRef,omitempty"`
	// UpstreamRef is a reference to a KongUpstream this KongTarget is attached to.
	UpstreamRef TargetRef `json:"upstreamRef"`
	// KongTargetAPISpec are the attributes of the Kong Target itself.
	KongTargetAPISpec `json:",inline"`
}

func (*KongTargetSpec) DeepCopy added in v0.0.13

func (in *KongTargetSpec) DeepCopy() *KongTargetSpec

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

func (*KongTargetSpec) DeepCopyInto added in v0.0.13

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

type KongTargetStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha1.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"`
}

func (*KongTargetStatus) DeepCopy added in v0.0.13

func (in *KongTargetStatus) DeepCopy() *KongTargetStatus

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

func (*KongTargetStatus) DeepCopyInto added in v0.0.13

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

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: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"

func (*KongUpstream) DeepCopy added in v0.0.12

func (in *KongUpstream) DeepCopy() *KongUpstream

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

func (*KongUpstream) DeepCopyInto added in v0.0.12

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

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

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

func (*KongUpstream) GetConditions added in v0.0.12

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

GetConditions returns the Status Conditions

func (*KongUpstream) GetControlPlaneID added in v0.0.12

func (s *KongUpstream) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongUpstream status.

func (*KongUpstream) GetKonnectID added in v0.0.12

func (s *KongUpstream) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongUpstream status.

func (*KongUpstream) GetKonnectStatus added in v0.0.12

func (s *KongUpstream) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongUpstream status.

func (KongUpstream) GetTypeName added in v0.0.12

func (s KongUpstream) GetTypeName() string

GetTypeName returns the KongUpstream Kind name

func (*KongUpstream) SetConditions added in v0.0.12

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

SetConditions sets the Status Conditions

func (*KongUpstream) SetControlPlaneID added in v0.0.12

func (s *KongUpstream) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongUpstream status.

func (*KongUpstream) SetKonnectID added in v0.0.12

func (s *KongUpstream) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongUpstream status.

type KongUpstreamAPISpec added in v0.0.12

type KongUpstreamAPISpec struct {
	// Which load balancing algorithm to use.
	Algorithm *sdkkonnectgocomp.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 *sdkkonnectgocomp.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 *sdkkonnectgocomp.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 *sdkkonnectgocomp.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     *sdkkonnectgocomp.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 []string `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`."

func (*KongUpstreamAPISpec) DeepCopy added in v0.0.12

func (in *KongUpstreamAPISpec) DeepCopy() *KongUpstreamAPISpec

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

func (*KongUpstreamAPISpec) DeepCopyInto added in v0.0.12

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

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

KongUpstreamList contains a list of Kong Upstreams.

func (*KongUpstreamList) DeepCopy added in v0.0.12

func (in *KongUpstreamList) DeepCopy() *KongUpstreamList

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

func (*KongUpstreamList) DeepCopyInto added in v0.0.12

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

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

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

type KongUpstreamSpec added in v0.0.12

type KongUpstreamSpec struct {
	// ControlPlaneRef is a reference to a ControlPlane this KongUpstream is associated with.
	// +optional
	ControlPlaneRef *ControlPlaneRef `json:"controlPlaneRef,omitempty"`

	KongUpstreamAPISpec `json:",inline"`
}

KongUpstreamSpec defines specification of a Kong Upstream.

func (*KongUpstreamSpec) DeepCopy added in v0.0.12

func (in *KongUpstreamSpec) DeepCopy() *KongUpstreamSpec

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

func (*KongUpstreamSpec) DeepCopyInto added in v0.0.12

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

type KongUpstreamStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha1.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.

func (*KongUpstreamStatus) DeepCopy added in v0.0.12

func (in *KongUpstreamStatus) DeepCopy() *KongUpstreamStatus

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

func (*KongUpstreamStatus) DeepCopyInto added in v0.0.12

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/

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

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

GetConditions returns the Status Conditions in the KongVault.

func (*KongVault) GetControlPlaneID added in v0.0.14

func (v *KongVault) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongVault status.

func (*KongVault) GetKonnectID added in v0.0.13

func (v *KongVault) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongVault status.

func (*KongVault) GetKonnectStatus added in v0.0.13

func (v *KongVault) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongVault status.

func (KongVault) GetTypeName added in v0.0.13

func (v KongVault) GetTypeName() string

GetTypeName returns the KongVault Kind name

func (*KongVault) SetConditions added in v0.0.13

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

SetConditions sets the Status Conditions in the KongVault.

func (*KongVault) SetControlPlaneID added in v0.0.13

func (v *KongVault) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongVault status.

func (*KongVault) SetKonnectID added in v0.0.13

func (v *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.

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.

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 []string `json:"tags,omitempty"`
	// ControlPlaneRef is a reference to a Konnect ControlPlane this KongVault is associated with.
	// +optional
	ControlPlaneRef *ControlPlaneRef `json:"controlPlaneRef,omitempty"`
}

KongVaultSpec defines specification of a custom Kong vault.

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
	Konnect *konnectv1alpha1.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.

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 struct {
	// Name is the name of the Konnect Control Plane.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

KonnectNamespacedRef is the schema for the KonnectNamespacedRef type.

func (*KonnectNamespacedRef) DeepCopy

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

func (*KonnectNamespacedRef) DeepCopyInto

func (in *KonnectNamespacedRef) DeepCopyInto(out *KonnectNamespacedRef)

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

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

type NamespacedServiceRef

type NamespacedServiceRef struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// +kubebuilder:validation:Optional
	Namespace string `json:"namespace,omitempty"`
}

func (*NamespacedServiceRef) DeepCopy

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

func (*NamespacedServiceRef) DeepCopyInto

func (in *NamespacedServiceRef) DeepCopyInto(out *NamespacedServiceRef)

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

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

type ObjectReference

type ObjectReference struct {
	Group *string `json:"group,omitempty"`
	Kind  *string `json:"kind,omitempty"`
	// Empty namespace means the same namespace of the owning object.
	Namespace *string `json:"namespace,omitempty"`
	Name      string  `json:"name"`
}

ObjectReference defines reference of a kubernetes object.

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 PluginRef

type PluginRef struct {

	// Name is the name of the KongPlugin or KongClusterPlugin resource.
	// +kubebuilder:validation: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.

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
	Type string `json:"type,omitempty"`

	// NamespacedRef is a reference to a KongService.
	NamespacedRef *NamespacedServiceRef `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"

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

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

TargetRef is a reference based on the object's name.

func (*TargetRef) DeepCopy added in v0.0.2

func (in *TargetRef) DeepCopy() *TargetRef

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

func (*TargetRef) DeepCopyInto added in v0.0.2

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

type TargetRefWithGroupKind struct {
	// Name is the name of the entity.
	// +kubebuilder:validation: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.

func (*TargetRefWithGroupKind) DeepCopy added in v0.0.2

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

func (*TargetRefWithGroupKind) DeepCopyInto added in v0.0.2

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