v1alpha1

package
v3.3.1 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	IngressClassParametersKind = "IngressClassParameters"
)
View Source
const (
	KongCustomEntityKind = "KongCustomEntity"
)
View Source
const (
	KongVaultKind = "KongVault"
)

Variables

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

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

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

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

Functions

func Resource

func Resource(resource string) schema.GroupResource

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

Types

type ControllerReference added in v3.1.0

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 added in v3.1.0

func (in *ControllerReference) DeepCopy() *ControllerReference

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

func (*ControllerReference) DeepCopyInto added in v3.1.0

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 added in v3.1.0

type Group string

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

type IngressClassParameters

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

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

IngressClassParameters is the Schema for the IngressClassParameters API.

func (*IngressClassParameters) DeepCopy

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

func (*IngressClassParameters) DeepCopyInto

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

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

func (*IngressClassParameters) DeepCopyObject

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

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

type IngressClassParametersList

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

IngressClassParametersList contains a list of IngressClassParameters.

func (*IngressClassParametersList) DeepCopy

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

func (*IngressClassParametersList) DeepCopyInto

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

func (*IngressClassParametersList) DeepCopyObject

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

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

type IngressClassParametersSpec

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

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

func (*IngressClassParametersSpec) DeepCopy

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

func (*IngressClassParametersSpec) DeepCopyInto

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

type Kind added in v3.1.0

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 added in v3.2.0

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 added in v3.2.0

func (in *KongCustomEntity) DeepCopy() *KongCustomEntity

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

func (*KongCustomEntity) DeepCopyInto added in v3.2.0

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 added in v3.2.0

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

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

type KongCustomEntityList added in v3.2.0

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 added in v3.2.0

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

func (*KongCustomEntityList) DeepCopyInto added in v3.2.0

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 added in v3.2.0

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

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

type KongCustomEntitySpec added in v3.2.0

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 added in v3.2.0

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

func (*KongCustomEntitySpec) DeepCopyInto added in v3.2.0

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 added in v3.2.0

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 added in v3.2.0

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

func (*KongCustomEntityStatus) DeepCopyInto added in v3.2.0

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 added in v3.2.0

type KongEntityScope string

type KongLicense added in v3.1.0

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 added in v3.1.0

func (in *KongLicense) DeepCopy() *KongLicense

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

func (*KongLicense) DeepCopyInto added in v3.1.0

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 added in v3.1.0

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

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

type KongLicenseControllerStatus added in v3.1.0

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 added in v3.1.0

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

func (*KongLicenseControllerStatus) DeepCopyInto added in v3.1.0

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

type KongLicenseList added in v3.1.0

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 added in v3.1.0

func (in *KongLicenseList) DeepCopy() *KongLicenseList

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

func (*KongLicenseList) DeepCopyInto added in v3.1.0

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 added in v3.1.0

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

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

type KongLicensePhase added in v3.1.0

type KongLicensePhase string

type KongLicenseStatus added in v3.1.0

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 added in v3.1.0

func (in *KongLicenseStatus) DeepCopy() *KongLicenseStatus

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

func (*KongLicenseStatus) DeepCopyInto added in v3.1.0

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

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

type KongVault added in v3.1.0

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 added in v3.1.0

func (in *KongVault) DeepCopy() *KongVault

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

func (*KongVault) DeepCopyInto added in v3.1.0

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

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

func (*KongVault) DeepCopyObject added in v3.1.0

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

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

type KongVaultList added in v3.1.0

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 added in v3.1.0

func (in *KongVaultList) DeepCopy() *KongVaultList

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

func (*KongVaultList) DeepCopyInto added in v3.1.0

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 added in v3.1.0

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

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

type KongVaultSpec added in v3.1.0

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 added in v3.1.0

func (in *KongVaultSpec) DeepCopy() *KongVaultSpec

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

func (*KongVaultSpec) DeepCopyInto added in v3.1.0

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 added in v3.1.0

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 added in v3.1.0

func (in *KongVaultStatus) DeepCopy() *KongVaultStatus

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

func (*KongVaultStatus) DeepCopyInto added in v3.1.0

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

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

type Namespace added in v3.1.0

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 ObjectName added in v3.1.0

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 added in v3.2.0

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 added in v3.2.0

func (in *ObjectReference) DeepCopy() *ObjectReference

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

func (*ObjectReference) DeepCopyInto added in v3.2.0

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

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