Documentation
¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the konnect.konghq.com v1alpha2 API group. +kubebuilder:object:generate=true +groupName=konnect.konghq.com
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type CertificateSecret
- type DataPlaneClientAuthStatus
- type DataPlaneLabelValue
- type KonnectEndpoints
- type KonnectExtension
- func (in *KonnectExtension) DeepCopy() *KonnectExtension
- func (in *KonnectExtension) DeepCopyInto(out *KonnectExtension)
- func (in *KonnectExtension) DeepCopyObject() runtime.Object
- func (obj *KonnectExtension) GetConditions() []metav1.Condition
- func (obj *KonnectExtension) GetControlPlaneRef() *commonv1alpha1.KonnectExtensionControlPlaneRef
- func (obj KonnectExtension) GetTypeName() string
- func (obj *KonnectExtension) SetConditions(conditions []metav1.Condition)
- func (obj *KonnectExtension) SetControlPlaneRef(ref *commonv1alpha1.KonnectExtensionControlPlaneRef)
- type KonnectExtensionClientAuth
- type KonnectExtensionClusterType
- type KonnectExtensionControlPlane
- type KonnectExtensionControlPlaneStatus
- type KonnectExtensionDataPlane
- type KonnectExtensionKonnectSpec
- type KonnectExtensionList
- type KonnectExtensionSpec
- type KonnectExtensionStatus
- type ProvisioningMethod
- type SecretRef
Constants ¶
const ( // KonnectExtensionReadyConditionType is the type of the condition that indicates // whether the Konnect extension is ready to be used. KonnectExtensionReadyConditionType = "Ready" // KonnectExtensionReadyReasonReady is the reason used with the // KonnectExtensionReady condition type indicating that the Konnect extension // is Ready. KonnectExtensionReadyReasonReady = "Ready" // KonnectExtensionReadyReasonPending is the reason used with the // KonnectExtensionReady condition type indicating that the Konnect extension // is pending. KonnectExtensionReadyReasonPending = "Pending" // KonnectExtensionReadyReasonProvisioning is the reason used with the // KonnectExtensionReady condition type indicating that the Konnect extension // is provisioning. KonnectExtensionReadyReasonProvisioning = "Provisioning" )
const (
// KonnectExtensionKind holds the kind for the KonnectExtension.
KonnectExtensionKind = "KonnectExtension"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "konnect.konghq.com", Version: "v1alpha2"} // SchemeGroupVersion is a convenience var for generated clientsets. SchemeGroupVersion = GroupVersion // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource.
Types ¶
type CertificateSecret ¶
type CertificateSecret struct { // Provisioning is the method used to provision the certificate. It can be either Manual or Automatic. // In case manual provisioning is used, the certificate must be provided by the user. // In case automatic provisioning is used, the certificate will be automatically generated by the system. // // +optional // +kubebuilder:validation:Enum=Manual;Automatic // +kubebuilder:default=Automatic Provisioning *ProvisioningMethod `json:"provisioning,omitempty"` // CertificateSecretRef is the reference to the Secret containing the client certificate. // // +optional CertificateSecretRef *SecretRef `json:"secretRef,omitempty"` }
CertificateSecret contains the information to access the client certificate.
func (*CertificateSecret) DeepCopy ¶
func (in *CertificateSecret) DeepCopy() *CertificateSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateSecret.
func (*CertificateSecret) DeepCopyInto ¶
func (in *CertificateSecret) DeepCopyInto(out *CertificateSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataPlaneClientAuthStatus ¶
type DataPlaneClientAuthStatus struct { // CertificateSecretRef is the reference to the Secret containing the client certificate. // // +optional CertificateSecretRef *SecretRef `json:"certificateSecretRef,omitempty"` }
DataPlaneClientAuthStatus contains the status information related to the ClientAuth configuration.
func (*DataPlaneClientAuthStatus) DeepCopy ¶
func (in *DataPlaneClientAuthStatus) DeepCopy() *DataPlaneClientAuthStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataPlaneClientAuthStatus.
func (*DataPlaneClientAuthStatus) DeepCopyInto ¶
func (in *DataPlaneClientAuthStatus) DeepCopyInto(out *DataPlaneClientAuthStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataPlaneLabelValue ¶
type DataPlaneLabelValue string
DataPlaneLabelValue is the type that defines the value of a label that will be applied to the Konnect DataPlane.
+kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=63 +kubebuilder:validation:Pattern="^[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?$"
type KonnectEndpoints ¶
type KonnectEndpoints struct { // TelemetryEndpoint is the endpoint for telemetry. // // +required TelemetryEndpoint string `json:"telemetry"` // ControlPlaneEndpoint is the endpoint for the control plane. // // +required ControlPlaneEndpoint string `json:"controlPlane"` }
KonnectEndpoints defines the Konnect endpoints for the control plane.
func (*KonnectEndpoints) DeepCopy ¶
func (in *KonnectEndpoints) DeepCopy() *KonnectEndpoints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectEndpoints.
func (*KonnectEndpoints) DeepCopyInto ¶
func (in *KonnectEndpoints) DeepCopyInto(out *KonnectEndpoints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KonnectExtension ¶
type KonnectExtension struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the specification of the KonnectExtension resource. Spec KonnectExtensionSpec `json:"spec,omitempty"` // Status is the status of the KonnectExtension resource. // // +optional // +kubebuilder:default={conditions: {{type: "Ready", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}} Status KonnectExtensionStatus `json:"status,omitempty"` }
KonnectExtension is the Schema for the KonnectExtension API, and is intended to be referenced as extension by the DataPlane, ControlPlane or GatewayConfiguration APIs. If one of the above mentioned resources successfully refers a KonnectExtension, the underlying deployment(s) spec gets customized to include the konnect-related configuration.
+genclient +kubebuilder:storageversion +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:object:root=true +kubebuilder:object:generate=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",description="The Resource is Ready to be used",type=string,JSONPath=`.status.conditions[?(@.type=='Ready')].status` +kubebuilder:validation:XValidation:rule="oldSelf.spec.konnect.controlPlane.ref == self.spec.konnect.controlPlane.ref", message="spec.konnect.controlPlane.ref is immutable." +apireference:kgo:include +kong:channels=gateway-operator
func (*KonnectExtension) DeepCopy ¶
func (in *KonnectExtension) DeepCopy() *KonnectExtension
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtension.
func (*KonnectExtension) DeepCopyInto ¶
func (in *KonnectExtension) DeepCopyInto(out *KonnectExtension)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KonnectExtension) DeepCopyObject ¶
func (in *KonnectExtension) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KonnectExtension) GetConditions ¶
func (obj *KonnectExtension) GetConditions() []metav1.Condition
GetConditions returns the Status Conditions
func (*KonnectExtension) GetControlPlaneRef ¶
func (obj *KonnectExtension) GetControlPlaneRef() *commonv1alpha1.KonnectExtensionControlPlaneRef
GetControlPlaneRef returns the ControlPlaneRef.
func (KonnectExtension) GetTypeName ¶
func (obj KonnectExtension) GetTypeName() string
GetTypeName returns the KonnectExtension Kind name
func (*KonnectExtension) SetConditions ¶
func (obj *KonnectExtension) SetConditions(conditions []metav1.Condition)
SetConditions sets the Status Conditions
func (*KonnectExtension) SetControlPlaneRef ¶
func (obj *KonnectExtension) SetControlPlaneRef(ref *commonv1alpha1.KonnectExtensionControlPlaneRef)
SetControlPlaneRef sets the ControlPlaneRef.
type KonnectExtensionClientAuth ¶
type KonnectExtensionClientAuth struct { // CertificateSecret contains the information to access the client certificate. // // +required CertificateSecret CertificateSecret `json:"certificateSecret"` }
KonnectExtensionClientAuth contains the configuration for the client authentication for the DataPlane. At the moment authentication is only supported through client certificate, but it might be extended in the future, with e.g., token-based authentication.
+kubebuilder:validation:XValidation:rule="self.certificateSecret.provisioning == 'Manual' ? has(self.certificateSecret.secretRef) : true",message="secretRef must be set when provisioning is set to Manual." +kubebuilder:validation:XValidation:rule="self.certificateSecret.provisioning == 'Automatic' ? !has(self.certificateSecret.secretRef) : true",message="secretRef must not be set when provisioning is set to Automatic."
func (*KonnectExtensionClientAuth) DeepCopy ¶
func (in *KonnectExtensionClientAuth) DeepCopy() *KonnectExtensionClientAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionClientAuth.
func (*KonnectExtensionClientAuth) DeepCopyInto ¶
func (in *KonnectExtensionClientAuth) DeepCopyInto(out *KonnectExtensionClientAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KonnectExtensionClusterType ¶
type KonnectExtensionClusterType string
KonnectExtensionClusterType is the type of the Konnect Control Plane.
const ( // ClusterTypeControlPlane is the type of the Konnect Control Plane. ClusterTypeControlPlane KonnectExtensionClusterType = "ControlPlane" // ClusterTypeK8sIngressController is the type of the Kubernetes Control Plane. ClusterTypeK8sIngressController KonnectExtensionClusterType = "K8SIngressController" )
type KonnectExtensionControlPlane ¶
type KonnectExtensionControlPlane struct { // Ref is a reference to a Konnect ControlPlane this KonnectExtension is associated with. // // +required Ref commonv1alpha1.KonnectExtensionControlPlaneRef `json:"ref"` }
KonnectExtensionControlPlane is the configuration for the Konnect Control Plane.
func (*KonnectExtensionControlPlane) DeepCopy ¶
func (in *KonnectExtensionControlPlane) DeepCopy() *KonnectExtensionControlPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionControlPlane.
func (*KonnectExtensionControlPlane) DeepCopyInto ¶
func (in *KonnectExtensionControlPlane) DeepCopyInto(out *KonnectExtensionControlPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KonnectExtensionControlPlaneStatus ¶
type KonnectExtensionControlPlaneStatus struct { // ControlPlaneID is the Konnect ID of the ControlPlane this KonnectExtension is associated with. // // +required ControlPlaneID string `json:"controlPlaneID"` // ClusterType is the type of the Konnect Control Plane. // // +required // +kubebuilder:validation:Enum=ControlPlane;K8SIngressController ClusterType KonnectExtensionClusterType `json:"clusterType"` // Endpoints defines the Konnect endpoints for the control plane. // // +required Endpoints KonnectEndpoints `json:"endpoints"` }
KonnectExtensionControlPlaneStatus contains the Konnect Control Plane status information.
func (*KonnectExtensionControlPlaneStatus) DeepCopy ¶
func (in *KonnectExtensionControlPlaneStatus) DeepCopy() *KonnectExtensionControlPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionControlPlaneStatus.
func (*KonnectExtensionControlPlaneStatus) DeepCopyInto ¶
func (in *KonnectExtensionControlPlaneStatus) DeepCopyInto(out *KonnectExtensionControlPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KonnectExtensionDataPlane ¶
type KonnectExtensionDataPlane struct { // Labels is a set of labels that will be applied to the Konnect DataPlane. // // +optional // +kubebuilder:validation:MaxItems=5 // +kubebuilder:validation:XValidation:rule="self.all(key, key.matches('^[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?$'))",message="keys must match the pattern '^[a-zA-Z0-9]([a-zA-Z0-9._-]*[a-zA-Z0-9])?$'." // +kubebuilder:validation:XValidation:rule="self.all(key, !(key.startsWith('kong') || key.startsWith('konnect') || key.startsWith('insomnia') || key.startsWith('mesh') || key.startsWith('kic') || key.startsWith('_')))",message="keys must not start with 'kong', 'konnect', 'insomnia', 'mesh', 'kic', or '_'." // +kubebuilder:validation:XValidation:rule="self.all(key, size(key) > 0 && size(key) < 64)",message="Too long: may not be more than 63 bytes" Labels map[string]DataPlaneLabelValue `json:"labels,omitempty"` }
KonnectExtensionDataPlane is the configuration for the Konnect DataPlane.
func (*KonnectExtensionDataPlane) DeepCopy ¶
func (in *KonnectExtensionDataPlane) DeepCopy() *KonnectExtensionDataPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionDataPlane.
func (*KonnectExtensionDataPlane) DeepCopyInto ¶
func (in *KonnectExtensionDataPlane) DeepCopyInto(out *KonnectExtensionDataPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KonnectExtensionKonnectSpec ¶
type KonnectExtensionKonnectSpec struct { // ControlPlane is the configuration for the Konnect Control Plane. // // +required ControlPlane KonnectExtensionControlPlane `json:"controlPlane"` // DataPlane is the configuration for the Konnect DataPlane. // // +optional DataPlane *KonnectExtensionDataPlane `json:"dataPlane,omitempty"` }
KonnectExtensionKonnectSpec holds the konnect-related configuration.
func (*KonnectExtensionKonnectSpec) DeepCopy ¶
func (in *KonnectExtensionKonnectSpec) DeepCopy() *KonnectExtensionKonnectSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionKonnectSpec.
func (*KonnectExtensionKonnectSpec) DeepCopyInto ¶
func (in *KonnectExtensionKonnectSpec) DeepCopyInto(out *KonnectExtensionKonnectSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KonnectExtensionList ¶
type KonnectExtensionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KonnectExtension `json:"items"` }
KonnectExtensionList contains a list of KonnectExtension.
+kubebuilder:object:root=true +apireference:kgo:include
func (*KonnectExtensionList) DeepCopy ¶
func (in *KonnectExtensionList) DeepCopy() *KonnectExtensionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionList.
func (*KonnectExtensionList) DeepCopyInto ¶
func (in *KonnectExtensionList) DeepCopyInto(out *KonnectExtensionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KonnectExtensionList) DeepCopyObject ¶
func (in *KonnectExtensionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (KonnectExtensionList) GetItems ¶
func (obj KonnectExtensionList) GetItems() []KonnectExtension
GetItems returns the list of KonnectExtension items.
type KonnectExtensionSpec ¶
type KonnectExtensionSpec struct { // Konnect holds the konnect-related configuration // // +required Konnect KonnectExtensionKonnectSpec `json:"konnect"` // ClientAuth is the configuration for the client certificate authentication. // // +optional // +kubebuilder:default={certificateSecret:{provisioning: Automatic}} ClientAuth *KonnectExtensionClientAuth `json:"clientAuth,omitempty"` }
KonnectExtensionSpec defines the desired state of KonnectExtension.
func (*KonnectExtensionSpec) DeepCopy ¶
func (in *KonnectExtensionSpec) DeepCopy() *KonnectExtensionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionSpec.
func (*KonnectExtensionSpec) DeepCopyInto ¶
func (in *KonnectExtensionSpec) DeepCopyInto(out *KonnectExtensionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KonnectExtensionStatus ¶
type KonnectExtensionStatus struct { // DataPlaneRefs is the array of DataPlane references this is associated with. // A new reference is set by the operator when this extension is associated with // a DataPlane through its extensions spec. // // +kubebuilder:validation:MaxItems=16 // +optional DataPlaneRefs []commonv1alpha1.NamespacedRef `json:"dataPlaneRefs,omitempty"` // ControlPlaneRefs is the array of ControlPlane references this is associated with. // A new reference is set by the operator when this extension is associated with // a ControlPlane through its extensions spec. // // +kubebuilder:validation:MaxItems=16 // +optional ControlPlaneRefs []commonv1alpha1.NamespacedRef `json:"controlPlaneRefs,omitempty"` // DataPlaneClientAuth contains the configuration for the client certificate authentication for the DataPlane. // // +optional DataPlaneClientAuth *DataPlaneClientAuthStatus `json:"dataPlaneClientAuth,omitempty"` // Konnect contains the status information related to the Konnect Control Plane. // // +optional Konnect *KonnectExtensionControlPlaneStatus `json:"konnect,omitempty"` // Conditions describe the current conditions of the KonnectExtensionStatus. // Known condition types are: // // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
KonnectExtensionStatus defines the observed state of KonnectExtension.
func (*KonnectExtensionStatus) DeepCopy ¶
func (in *KonnectExtensionStatus) DeepCopy() *KonnectExtensionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectExtensionStatus.
func (*KonnectExtensionStatus) DeepCopyInto ¶
func (in *KonnectExtensionStatus) DeepCopyInto(out *KonnectExtensionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProvisioningMethod ¶
type ProvisioningMethod string
ProvisioningMethod is the type of the provisioning methods available to provision the certificate.
const ( // ManualSecretProvisioning is the method used to provision the certificate manually. ManualSecretProvisioning ProvisioningMethod = "Manual" // AutomaticSecretProvisioning is the method used to provision the certificate automatically. AutomaticSecretProvisioning ProvisioningMethod = "Automatic" )
type SecretRef ¶
type SecretRef struct { // Name is the name of the Secret containing the Konnect Control Plane's cluster certificate. // // +required Name string `json:"name"` }
SecretRef contains the reference to the Secret containing the Konnect Control Plane's cluster certificate.
func (*SecretRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
func (*SecretRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.