v1alpha1

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2024 License: MIT Imports: 6 Imported by: 10

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "konnect.konghq.com", Version: "v1alpha1"}

	// SchemeGroupVersion is a convenience var for generated clientsets.
	SchemeGroupVersion = GroupVersion

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource.

Types

type KonnectAPIAuthConfiguration

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

	// Spec is the specification of the KonnectAPIAuthConfiguration resource.
	Spec KonnectAPIAuthConfigurationSpec `json:"spec,omitempty"`

	// Status is the status of the KonnectAPIAuthConfiguration resource.
	Status KonnectAPIAuthConfigurationStatus `json:"status,omitempty"`
}

KonnectAPIAuthConfiguration is the Schema for the Konnect configuration type.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced +kubebuilder:object:root=true +kubebuilder:object:generate=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Valid",description="The API authentication information is valid",type=string,JSONPath=`.status.conditions[?(@.type=='APIAuthValid')].status` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this API authentication configuration belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="ServerURL",description="Configured server URL.",type=string,JSONPath=`.status.serverURL` +kubebuilder:validation:XValidation:rule="self.spec.type != 'token' || (self.spec.token.startsWith('spat_') || self.spec.token.startsWith('kpat_'))", message="Konnect tokens have to start with spat_ or kpat_" +kubebuilder:validation:XValidation:rule="self.spec.type != 'token' || (!has(oldSelf.spec.token) || has(self.spec.token))", message="Token is required once set" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.serverURL) || has(self.spec.serverURL)", message="Server URL is required once set"

func (*KonnectAPIAuthConfiguration) DeepCopy

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

func (*KonnectAPIAuthConfiguration) DeepCopyInto

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

func (*KonnectAPIAuthConfiguration) DeepCopyObject

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

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

func (*KonnectAPIAuthConfiguration) GetConditions

func (in *KonnectAPIAuthConfiguration) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions

func (*KonnectAPIAuthConfiguration) SetConditions

func (in *KonnectAPIAuthConfiguration) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions

type KonnectAPIAuthConfigurationList

type KonnectAPIAuthConfigurationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []KonnectAPIAuthConfiguration `json:"items"`
}

+kubebuilder:object:root=true

func (*KonnectAPIAuthConfigurationList) DeepCopy

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

func (*KonnectAPIAuthConfigurationList) DeepCopyInto

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

func (*KonnectAPIAuthConfigurationList) DeepCopyObject

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

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

type KonnectAPIAuthConfigurationRef

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

func (*KonnectAPIAuthConfigurationRef) DeepCopy

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

func (*KonnectAPIAuthConfigurationRef) DeepCopyInto

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

type KonnectAPIAuthConfigurationSpec

type KonnectAPIAuthConfigurationSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=token;secretRef
	Type KonnectAPIAuthType `json:"type"`

	// Token is the Konnect token used to authenticate with the Konnect API.
	Token string `json:"token,omitempty"`

	// SecretRef is a reference to a Kubernetes Secret containing the Konnect token.
	// This secret is required to has the konghq.com/credential label set to "konnect".
	SecretRef *corev1.SecretReference `json:"secretRef,omitempty"`

	// ServerURL is the URL of the Konnect server.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Server URL is immutable"
	ServerURL string `json:"serverURL"`
}

KonnectAPIAuthConfigurationSpec is the specification of the KonnectAPIAuthConfiguration resource.

+kubebuilder:validation:XValidation:rule="(self.type == 'token' && has(self.token)) || (self.type == 'secretRef' && has(self.secretRef))", message="Token is required if auth type is set to token or secretRef is required if auth type is set to secretRef"

func (*KonnectAPIAuthConfigurationSpec) DeepCopy

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

func (*KonnectAPIAuthConfigurationSpec) DeepCopyInto

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

type KonnectAPIAuthConfigurationStatus

type KonnectAPIAuthConfigurationStatus struct {
	// OrganizationID is the unique identifier of the organization in Konnect.
	OrganizationID string `json:"organizationID,omitempty"`

	// ServerURL is configured server URL.
	ServerURL string `json:"serverURL,omitempty"`

	// Conditions describe the status of the Konnect configuration.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Valid", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

func (*KonnectAPIAuthConfigurationStatus) DeepCopy

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

func (*KonnectAPIAuthConfigurationStatus) DeepCopyInto

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

type KonnectAPIAuthType

type KonnectAPIAuthType string
const (
	KonnectAPIAuthTypeToken     KonnectAPIAuthType = "token"
	KonnectAPIAuthTypeSecretRef KonnectAPIAuthType = "secretRef"
)

type KonnectConfiguration

type KonnectConfiguration struct {
	// APIAuthConfigurationRef is the reference to the API Auth Configuration
	// that should be used for this Konnect Configuration.
	//
	// +kubebuilder:validation:Required
	APIAuthConfigurationRef KonnectAPIAuthConfigurationRef `json:"authRef"`
}

+kubebuilder:object:generate=false

type KonnectEntityStatus

type KonnectEntityStatus struct {
	// ID is the unique identifier of the Konnect entity as assigned by Konnect API.
	// If it's unset (empty string), it means the Konnect entity hasn't been created yet.
	ID string `json:"id,omitempty"`

	// ServerURL is the URL of the Konnect server in which the entity exists.
	ServerURL string `json:"serverURL,omitempty"`

	// OrgID is ID of Konnect Org that this entity has been created in.
	OrgID string `json:"organizationID,omitempty"`
}

func (*KonnectEntityStatus) DeepCopy

func (in *KonnectEntityStatus) DeepCopy() *KonnectEntityStatus

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

func (*KonnectEntityStatus) DeepCopyInto

func (in *KonnectEntityStatus) DeepCopyInto(out *KonnectEntityStatus)

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

func (*KonnectEntityStatus) GetKonnectID

func (in *KonnectEntityStatus) GetKonnectID() string

GetKonnectID returns the ID field of the KonnectEntityStatus struct.

func (*KonnectEntityStatus) GetOrgID

func (in *KonnectEntityStatus) GetOrgID() string

GetOrgID returns the OrgID field of the KonnectEntityStatus struct.

func (*KonnectEntityStatus) GetServerURL

func (in *KonnectEntityStatus) GetServerURL() string

GetServerURL returns the server URL of the KonnectEntityStatus struct.

func (*KonnectEntityStatus) SetKonnectID

func (in *KonnectEntityStatus) SetKonnectID(id string)

SetKonnectID sets the ID field of the KonnectEntityStatus struct.

func (*KonnectEntityStatus) SetOrgID

func (in *KonnectEntityStatus) SetOrgID(id string)

SetOrgID sets the OrgID field of the KonnectEntityStatus struct.

func (*KonnectEntityStatus) SetServerURL

func (in *KonnectEntityStatus) SetServerURL(s string)

SetServerURL sets the server URL of the KonnectEntityStatus struct.

type KonnectEntityStatusWithControlPlaneAndServiceRefs

type KonnectEntityStatusWithControlPlaneAndServiceRefs struct {
	KonnectEntityStatus `json:",inline"`

	// ControlPlaneID is the Konnect ID of the ControlPlane this entity is associated with.
	ControlPlaneID string `json:"controlPlaneID,omitempty"`

	// ServiceID is the Konnect ID of the Service this entity is associated with.
	ServiceID string `json:"serviceID,omitempty"`
}

func (*KonnectEntityStatusWithControlPlaneAndServiceRefs) DeepCopy

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

func (*KonnectEntityStatusWithControlPlaneAndServiceRefs) DeepCopyInto

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

func (*KonnectEntityStatusWithControlPlaneAndServiceRefs) GetControlPlaneID added in v0.0.7

GetServerURL sets the server URL of the KonnectEntityStatus struct.

func (*KonnectEntityStatusWithControlPlaneAndServiceRefs) SetControlPlaneID added in v0.0.7

SetServerURL sets the server URL of the KonnectEntityStatus struct.

type KonnectEntityStatusWithControlPlaneRef

type KonnectEntityStatusWithControlPlaneRef struct {
	KonnectEntityStatus `json:",inline"`

	// ControlPlaneID is the Konnect ID of the ControlPlane this Route is associated with.
	ControlPlaneID string `json:"controlPlaneID,omitempty"`
}

func (*KonnectEntityStatusWithControlPlaneRef) DeepCopy

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

func (*KonnectEntityStatusWithControlPlaneRef) DeepCopyInto

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

func (*KonnectEntityStatusWithControlPlaneRef) GetControlPlaneID added in v0.0.2

func (in *KonnectEntityStatusWithControlPlaneRef) GetControlPlaneID() string

GetServerURL sets the server URL of the KonnectEntityStatus struct.

func (*KonnectEntityStatusWithControlPlaneRef) SetControlPlaneID added in v0.0.2

func (in *KonnectEntityStatusWithControlPlaneRef) SetControlPlaneID(id string)

SetServerURL sets the server URL of the KonnectEntityStatus struct.

type KonnectGatewayControlPlane added in v0.0.10

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

	// Spec defines the desired state of KonnectGatewayControlPlane.
	Spec KonnectGatewayControlPlaneSpec `json:"spec,omitempty"`

	// Status defines the observed state of KonnectGatewayControlPlane.
	Status KonnectGatewayControlPlaneStatus `json:"status,omitempty"`
}

KonnectGatewayControlPlane is the Schema for the KonnectGatewayControlplanes API.

+genclient +kubebuilder:resource:scope=Namespaced +kubebuilder:object:root=true +kubebuilder:object:generate=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="ID",description="Konnect ID",type=string,JSONPath=`.status.id` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:validation:XValidation:rule="!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True') ? true : self.spec.konnect.authRef == oldSelf.spec.konnect.authRef", message="spec.konnect.authRef is immutable when entity is already Programmed." +kubebuilder:validation:XValidation:rule="!self.status.conditions.exists(c, c.type == 'APIAuthValid' && c.status == 'True') ? true : self.spec.konnect.authRef == oldSelf.spec.konnect.authRef", message="spec.konnect.authRef is immutable when entity refers to a Valid API Auth Configuration."

func (*KonnectGatewayControlPlane) DeepCopy added in v0.0.10

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

func (*KonnectGatewayControlPlane) DeepCopyInto added in v0.0.10

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

func (*KonnectGatewayControlPlane) DeepCopyObject added in v0.0.10

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

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

func (*KonnectGatewayControlPlane) GetConditions added in v0.0.10

func (c *KonnectGatewayControlPlane) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions

func (*KonnectGatewayControlPlane) GetKonnectAPIAuthConfigurationRef added in v0.0.10

func (c *KonnectGatewayControlPlane) GetKonnectAPIAuthConfigurationRef() KonnectAPIAuthConfigurationRef

GetKonnectAPIAuthConfigurationRef returns the Konnect API Auth Configuration Ref.

func (*KonnectGatewayControlPlane) GetKonnectLabels added in v0.0.10

func (c *KonnectGatewayControlPlane) GetKonnectLabels() map[string]string

GetKonnectLabels gets the Konnect Labels from object's spec.

func (*KonnectGatewayControlPlane) GetKonnectStatus added in v0.0.10

func (c *KonnectGatewayControlPlane) GetKonnectStatus() *KonnectEntityStatus

GetKonnectStatus returns the Konnect Status of the KonnectGatewayControlPlane.

func (KonnectGatewayControlPlane) GetTypeName added in v0.0.10

func (c KonnectGatewayControlPlane) GetTypeName() string

GetTypeName returns the KonnectGatewayControlPlane type name.

func (*KonnectGatewayControlPlane) SetConditions added in v0.0.10

func (c *KonnectGatewayControlPlane) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions

func (*KonnectGatewayControlPlane) SetKonnectID added in v0.0.10

func (c *KonnectGatewayControlPlane) SetKonnectID(id string)

func (*KonnectGatewayControlPlane) SetKonnectLabels added in v0.0.10

func (c *KonnectGatewayControlPlane) SetKonnectLabels(labels map[string]string)

SetKonnectLabels sets the Konnect Labels in object's spec.

type KonnectGatewayControlPlaneList added in v0.0.10

type KonnectGatewayControlPlaneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []KonnectGatewayControlPlane `json:"items"`
}

+kubebuilder:object:root=true

func (*KonnectGatewayControlPlaneList) DeepCopy added in v0.0.10

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

func (*KonnectGatewayControlPlaneList) DeepCopyInto added in v0.0.10

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

func (*KonnectGatewayControlPlaneList) DeepCopyObject added in v0.0.10

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

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

type KonnectGatewayControlPlaneSpec added in v0.0.10

type KonnectGatewayControlPlaneSpec struct {
	sdkkonnectgocomp.CreateControlPlaneRequest `json:",inline"`

	KonnectConfiguration KonnectConfiguration `json:"konnect,omitempty"`
}

KonnectGatewayControlPlaneSpec defines the desired state of KonnectGatewayControlPlane.

func (*KonnectGatewayControlPlaneSpec) DeepCopy added in v0.0.10

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

func (*KonnectGatewayControlPlaneSpec) DeepCopyInto added in v0.0.10

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

type KonnectGatewayControlPlaneStatus added in v0.0.10

type KonnectGatewayControlPlaneStatus struct {
	KonnectEntityStatus `json:",inline"`

	// Conditions describe the current conditions of the KonnectGatewayControlPlane.
	//
	// Known condition types are:
	//
	// * "Programmed"
	//
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KonnectGatewayControlPlaneStatus defines the observed state of KonnectGatewayControlPlane.

func (*KonnectGatewayControlPlaneStatus) DeepCopy added in v0.0.10

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

func (*KonnectGatewayControlPlaneStatus) DeepCopyInto added in v0.0.10

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

Jump to

Keyboard shortcuts

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