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
- Variables
- func Resource(resource string) schema.GroupResource
- type ControlPlaneRef
- type ControllerReference
- type Group
- type IngressClassParameters
- type IngressClassParametersList
- type IngressClassParametersSpec
- type Kind
- type KongCustomEntity
- type KongCustomEntityList
- type KongCustomEntitySpec
- type KongCustomEntityStatus
- type KongEntityScope
- type KongLicense
- type KongLicenseControllerStatus
- type KongLicenseList
- type KongLicensePhase
- type KongLicenseStatus
- type KongPluginBinding
- func (in *KongPluginBinding) DeepCopy() *KongPluginBinding
- func (in *KongPluginBinding) DeepCopyInto(out *KongPluginBinding)
- func (in *KongPluginBinding) DeepCopyObject() runtime.Object
- func (c *KongPluginBinding) GetConditions() []metav1.Condition
- func (c *KongPluginBinding) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus
- func (c KongPluginBinding) GetTypeName() string
- func (c *KongPluginBinding) SetConditions(conditions []metav1.Condition)
- type KongPluginBindingList
- type KongPluginBindingSpec
- type KongPluginBindingStatus
- type KongPluginBindingTargets
- type KongRoute
- func (in *KongRoute) DeepCopy() *KongRoute
- func (in *KongRoute) DeepCopyInto(out *KongRoute)
- func (in *KongRoute) DeepCopyObject() runtime.Object
- func (c *KongRoute) GetConditions() []metav1.Condition
- func (c *KongRoute) GetKonnectAPIAuthConfigurationRef() konnectv1alpha1.KonnectAPIAuthConfigurationRef
- func (c *KongRoute) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus
- func (c KongRoute) GetTypeName() string
- func (c *KongRoute) SetConditions(conditions []metav1.Condition)
- type KongRouteAPISpec
- type KongRouteList
- type KongRouteSpec
- type KongRouteStatus
- type KongService
- func (in *KongService) DeepCopy() *KongService
- func (in *KongService) DeepCopyInto(out *KongService)
- func (in *KongService) DeepCopyObject() runtime.Object
- func (c *KongService) GetConditions() []metav1.Condition
- func (c *KongService) GetControlPlaneID() string
- func (c *KongService) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus
- func (c KongService) GetTypeName() string
- func (c *KongService) InitKonnectStatus()
- func (c *KongService) SetConditions(conditions []metav1.Condition)
- func (c *KongService) SetControlPlaneID(id string)
- func (c *KongService) SetKonnectLabels(labels map[string]string)
- type KongServiceAPISpec
- type KongServiceList
- type KongServiceSpec
- type KongServiceStatus
- type KongVault
- type KongVaultList
- type KongVaultSpec
- type KongVaultStatus
- type KonnectNamespacedRef
- type Namespace
- type NamespacedServiceRef
- type ObjectName
- type ObjectReference
- type PluginRef
- type ServiceRef
- type TargetRef
- type TargetRefWithGroupKind
Constants ¶
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" )
const (
IngressClassParametersKind = "IngressClassParameters"
)
const (
KongCustomEntityKind = "KongCustomEntity"
)
const (
KongVaultKind = "KongVault"
)
const (
ServiceRefNamespacedRef = "namespacedRef"
)
Variables ¶
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 ¶
func (in *IngressClassParameters) DeepCopy() *IngressClassParameters
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 ¶
func (in *IngressClassParametersList) DeepCopy() *IngressClassParametersList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressClassParametersList.
func (*IngressClassParametersList) DeepCopyInto ¶
func (in *IngressClassParametersList) DeepCopyInto(out *IngressClassParametersList)
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 ¶
func (in *IngressClassParametersSpec) DeepCopy() *IngressClassParametersSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressClassParametersSpec.
func (*IngressClassParametersSpec) DeepCopyInto ¶
func (in *IngressClassParametersSpec) DeepCopyInto(out *IngressClassParametersSpec)
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 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 ¶
func (in *KongCustomEntityList) DeepCopy() *KongCustomEntityList
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 ¶
func (in *KongCustomEntitySpec) DeepCopy() *KongCustomEntitySpec
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 ¶
func (in *KongCustomEntityStatus) DeepCopy() *KongCustomEntityStatus
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 ¶
func (in *KongLicenseControllerStatus) DeepCopy() *KongLicenseControllerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongLicenseControllerStatus.
func (*KongLicenseControllerStatus) DeepCopyInto ¶
func (in *KongLicenseControllerStatus) DeepCopyInto(out *KongLicenseControllerStatus)
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"`
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.pluginReference.kind`,description="Kind of the plugin" +kubebuilder:printcolumn:name="Plugin-name",type=string,JSONPath=`.spec.pluginReference.name`,description="Name of the plugin" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status`
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 (c *KongPluginBinding) GetConditions() []metav1.Condition
GetConditions returns the Status Conditions
func (*KongPluginBinding) GetKonnectStatus ¶
func (c *KongPluginBinding) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus
GetKonnectStatus returns the Konnect status contained in the KongPluginBinding status.
func (KongPluginBinding) GetTypeName ¶
func (c KongPluginBinding) GetTypeName() string
GetTypeName returns the KongPluginBinding Kind name
func (*KongPluginBinding) SetConditions ¶
func (c *KongPluginBinding) SetConditions(conditions []metav1.Condition)
SetConditions sets the Status Conditions
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 ¶
func (in *KongPluginBindingList) DeepCopy() *KongPluginBindingList
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 ¶
func (in *KongPluginBindingSpec) DeepCopy() *KongPluginBindingSpec
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
// +kubebuilder:default={{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
KongPluginBindingStatus represents the current status of the KongBinding resource.
func (*KongPluginBindingStatus) DeepCopy ¶
func (in *KongPluginBindingStatus) DeepCopy() *KongPluginBindingStatus
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
func (in *KongPluginBindingTargets) DeepCopy() *KongPluginBindingTargets
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"`
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.konnect.authRef) || has(self.spec.konnect.authRef)", message="Konnect Configuration's API auth ref reference is required once set" +kubebuilder:validation:XValidation:rule="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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongRoute.
func (*KongRoute) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KongRoute) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KongRoute) GetConditions ¶
GetConditions returns the Status Conditions
func (*KongRoute) GetKonnectAPIAuthConfigurationRef ¶
func (c *KongRoute) GetKonnectAPIAuthConfigurationRef() konnectv1alpha1.KonnectAPIAuthConfigurationRef
func (*KongRoute) GetKonnectStatus ¶
func (c *KongRoute) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus
func (KongRoute) GetTypeName ¶
func (*KongRoute) SetConditions ¶
SetConditions sets the Status Conditions
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 {
// ControlPlaneRef is a reference to a ControlPlane this Route is associated with.
// +kubebuilder:validation:Required
ControlPlaneRef ControlPlaneRef `json:"controlPlaneRef"`
// ServiceRef is a reference to a Service this Route is associated with.
// +optional
ServiceRef ServiceRef `json:"serviceRef,omitempty"`
// KonnectConfiguration holds the Konnect configuration like authentication configuration.
// +kubebuilder:validation:Required
KonnectConfiguration konnectv1alpha1.KonnectConfiguration `json:"konnect,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
// +kubebuilder:default={{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
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"`
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="(!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 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 (c *KongService) GetConditions() []metav1.Condition
GetConditions returns the Status Conditions
func (*KongService) GetControlPlaneID ¶ added in v0.0.2
func (c *KongService) GetControlPlaneID() string
func (*KongService) GetKonnectStatus ¶
func (c *KongService) GetKonnectStatus() *konnectv1alpha1.KonnectEntityStatus
func (KongService) GetTypeName ¶
func (c KongService) GetTypeName() string
func (*KongService) InitKonnectStatus ¶ added in v0.0.2
func (c *KongService) InitKonnectStatus()
func (*KongService) SetConditions ¶
func (c *KongService) SetConditions(conditions []metav1.Condition)
SetConditions sets the Status Conditions
func (*KongService) SetControlPlaneID ¶ added in v0.0.2
func (c *KongService) SetControlPlaneID(id string)
func (*KongService) SetKonnectLabels ¶
func (c *KongService) SetKonnectLabels(labels map[string]string)
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
// +kubebuilder:default={{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KongVault.
func (*KongVault) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KongVault) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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"`
}
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 {
// 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 ¶
func (in *KonnectNamespacedRef) DeepCopy() *KonnectNamespacedRef
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 ¶
func (in *NamespacedServiceRef) DeepCopy() *NamespacedServiceRef
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginRef.
func (*PluginRef) DeepCopyInto ¶
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 *NamespacedServiceRef `json:"namespacedRef,omitempty"`
}
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetRef.
func (*TargetRef) DeepCopyInto ¶ added in v0.0.2
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
func (in *TargetRefWithGroupKind) DeepCopy() *TargetRefWithGroupKind
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.