v1alpha1

package
v2.2.5 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2026 License: Apache-2.0 Imports: 14 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 +apireference:kgo:include-all-types

Index

Constants

View Source
const (
	// KongReferenceGrantConditionTypeResolvedRefs is the condition type used to indicate
	// whether a KongReferenceGrant is valid for cross-namespace references.
	KongReferenceGrantConditionTypeResolvedRefs = "ResolvedRefs"

	// KongReferenceGrantReasonResolvedRefs is the reason used when a valid
	// KongReferenceGrant is found and it permits for a cross-namespace reference.
	KongReferenceGrantReasonResolvedRefs = "ResolvedRefs"
	// KongReferenceGrantReasonRefNotPermitted is the reason used when a KongReferenceGrant
	// is invalid or missing for a cross-namespace reference.
	KongReferenceGrantReasonRefNotPermitted = "RefNotPermitted"
)
View Source
const (
	// ControlPlaneRefKonnectID is the type for the KonnectID ControlPlaneRef.
	// It is used to reference a Konnect Control Plane entity by its ID on the Konnect platform.
	ControlPlaneRefKonnectID = commonv1alpha1.ControlPlaneRefKonnectID
	// 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 = commonv1alpha1.ControlPlaneRefKonnectNamespacedRef
	// ControlPlaneRefKIC is the type for KIC ControlPlaneRef.
	// It is used to reference a KIC as Control Plane.
	ControlPlaneRefKIC = commonv1alpha1.ControlPlaneRefKIC
)
View Source
const (
	// EventGatewayRefValidConditionType is the type of the condition that indicates
	// whether the EventGateway reference is valid and points to an existing
	// KonnectEventGateway.
	EventGatewayRefValidConditionType = "EventGatewayRefValid"

	// EventGatewayRefReasonValid is the reason used with the EventGatewayRefValid
	// condition type indicating that the EventGateway reference is valid.
	EventGatewayRefReasonValid = "Valid"
	// EventGatewayRefReasonInvalid is the reason used with the EventGatewayRefValid
	// condition type indicating that the EventGateway reference is invalid.
	EventGatewayRefReasonInvalid = "Invalid"
	// EventGatewayRefReasonNotProgrammed is the reason used with the EventGatewayRefValid
	// condition type indicating that the referenced KonnectEventGateway exists but is not
	// yet programmed in Konnect.
	EventGatewayRefReasonNotProgrammed = "NotProgrammed"

	// EventGatewayBackendClusterRefValidConditionType is the type of the condition that indicates
	// whether the EventGatewayBackendCluster reference is valid and points to an existing
	// EventGatewayBackendCluster.
	EventGatewayBackendClusterRefValidConditionType = "EventGatewayBackendClusterRefValid"

	// EventGatewayBackendClusterRefReasonValid is the reason used with the EventGatewayBackendClusterRefValid
	// condition type indicating that the EventGatewayBackendCluster reference is valid.
	EventGatewayBackendClusterRefReasonValid = "Valid"
	// EventGatewayBackendClusterRefReasonInvalid is the reason used with the EventGatewayBackendClusterRefValid
	// condition type indicating that the EventGatewayBackendCluster reference is invalid.
	EventGatewayBackendClusterRefReasonInvalid = "Invalid"
	// EventGatewayBackendClusterRefReasonNotProgrammed is the reason used with the EventGatewayBackendClusterRefValid
	// condition type indicating that the referenced EventGatewayBackendCluster exists but is not
	// yet programmed in Konnect.
	EventGatewayBackendClusterRefReasonNotProgrammed = "NotProgrammed"

	// EventGatewayListenerRefValidConditionType is the type of the condition that indicates
	// whether the EventGatewayListener reference is valid and points to an existing
	// EventGatewayListener.
	EventGatewayListenerRefValidConditionType = "EventGatewayListenerRefValid"

	// EventGatewayListenerRefReasonValid is the reason used with the EventGatewayListenerRefValid
	// condition type indicating that the EventGatewayListener reference is valid.
	EventGatewayListenerRefReasonValid = "Valid"
	// EventGatewayListenerRefReasonInvalid is the reason used with the EventGatewayListenerRefValid
	// condition type indicating that the EventGatewayListener reference is invalid.
	EventGatewayListenerRefReasonInvalid = "Invalid"
	// EventGatewayListenerRefReasonNotProgrammed is the reason used with the EventGatewayListenerRefValid
	// condition type indicating that the referenced EventGatewayListener exists but is not
	// yet programmed in Konnect.
	EventGatewayListenerRefReasonNotProgrammed = "NotProgrammed"

	// EventGatewayVirtualClusterRefValidConditionType is the type of the condition that indicates
	// whether the EventGatewayVirtualCluster reference is valid and points to an existing
	// EventGatewayVirtualCluster.
	EventGatewayVirtualClusterRefValidConditionType = "EventGatewayVirtualClusterRefValid"

	// EventGatewayVirtualClusterRefReasonValid is the reason used with the EventGatewayVirtualClusterRefValid
	// condition type indicating that the EventGatewayVirtualCluster reference is valid.
	EventGatewayVirtualClusterRefReasonValid = "Valid"
	// EventGatewayVirtualClusterRefReasonInvalid is the reason used with the EventGatewayVirtualClusterRefValid
	// condition type indicating that the EventGatewayVirtualCluster reference is invalid.
	EventGatewayVirtualClusterRefReasonInvalid = "Invalid"
	// EventGatewayVirtualClusterRefReasonNotProgrammed is the reason used with the EventGatewayVirtualClusterRefValid
	// condition type indicating that the referenced EventGatewayVirtualCluster exists but is not
	// yet programmed in Konnect.
	EventGatewayVirtualClusterRefReasonNotProgrammed = "NotProgrammed"
)
View Source
const (
	// GroupName is the group name used in this package.
	GroupName = "configuration.konghq.com"
)
View Source
const (
	// IngressClassParametersKind is the kind name the IngressClassParameters resource.
	IngressClassParametersKind = "IngressClassParameters"
)
View Source
const (
	// KongCustomEntityKind is the kind name for the KongCustomEntity resource.
	KongCustomEntityKind = "KongCustomEntity"
)
View Source
const (
	// KongVaultKind is the kind name of KongVault resource.
	KongVaultKind = "KongVault"
)
View Source
const (
	// ServiceRefNamespacedRef is a namespaced reference to a KongService.
	ServiceRefNamespacedRef = "namespacedRef"
)

Variables

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

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

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var EventGatewayBackendClusterSDKOpsBoolFields = []EventGatewayBackendClusterSDKOpsBoolField{
	{
		Label: "insecure_allow_anonymous_virtual_cluster_auth",
		Path: []string{
			"insecure_allow_anonymous_virtual_cluster_auth",
		},
	},
	{
		Label: "tls.enabled",
		Path: []string{
			"tls",
			"enabled",
		},
	},
	{
		Label: "tls.insecure_skip_verify",
		Path: []string{
			"tls",
			"insecure_skip_verify",
		},
	},
}

EventGatewayBackendClusterSDKOpsBoolFields lists all boolean enum fields that must be normalized for SDK payloads.

View Source
var EventGatewayListenerPolicySDKOpsBoolFields = []EventGatewayListenerPolicySDKOpsBoolField{
	{
		Label: "forward_to_virtual_cluster.enabled",
		Path: []string{
			"forward_to_virtual_cluster",
			"enabled",
		},
	},
	{
		Label: "tls_server.config.allow_plaintext",
		Path: []string{
			"tls_server",
			"config",
			"allow_plaintext",
		},
	},
	{
		Label: "tls_server.enabled",
		Path: []string{
			"tls_server",
			"enabled",
		},
	},
}

EventGatewayListenerPolicySDKOpsBoolFields lists all boolean enum fields that must be normalized for SDK payloads.

View Source
var EventGatewayVirtualClusterConsumePolicySDKOpsBoolFields = []EventGatewayVirtualClusterConsumePolicySDKOpsBoolField{
	{
		Label: "decrypt.enabled",
		Path: []string{
			"decrypt",
			"enabled",
		},
	},
	{
		Label: "decrypt_fields.enabled",
		Path: []string{
			"decrypt_fields",
			"enabled",
		},
	},
	{
		Label: "modify_headers.enabled",
		Path: []string{
			"modify_headers",
			"enabled",
		},
	},
	{
		Label: "schema_validation.enabled",
		Path: []string{
			"schema_validation",
			"enabled",
		},
	},
	{
		Label: "skip_record.enabled",
		Path: []string{
			"skip_record",
			"enabled",
		},
	},
}

EventGatewayVirtualClusterConsumePolicySDKOpsBoolFields lists all boolean enum fields that must be normalized for SDK payloads.

View Source
var EventGatewayVirtualClusterPolicySDKOpsBoolFields = []EventGatewayVirtualClusterPolicySDKOpsBoolField{
	{
		Label: "acls.enabled",
		Path: []string{
			"acls",
			"enabled",
		},
	},
}

EventGatewayVirtualClusterPolicySDKOpsBoolFields lists all boolean enum fields that must be normalized for SDK payloads.

View Source
var EventGatewayVirtualClusterProducePolicySDKOpsBoolFields = []EventGatewayVirtualClusterProducePolicySDKOpsBoolField{
	{
		Label: "encrypt.enabled",
		Path: []string{
			"encrypt",
			"enabled",
		},
	},
	{
		Label: "encrypt_fields.enabled",
		Path: []string{
			"encrypt_fields",
			"enabled",
		},
	},
	{
		Label: "modify_headers.enabled",
		Path: []string{
			"modify_headers",
			"enabled",
		},
	},
	{
		Label: "schema_validation.enabled",
		Path: []string{
			"schema_validation",
			"enabled",
		},
	},
}

EventGatewayVirtualClusterProducePolicySDKOpsBoolFields lists all boolean enum fields that must be normalized for SDK payloads.

Functions

func Resource

func Resource(resource string) schema.GroupResource

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

Types

type BackendClusterAuthenticationAnonymous added in v2.2.0

type BackendClusterAuthenticationAnonymous struct {
}

BackendClusterAuthenticationAnonymous Anonymous authentication scheme for the backend cluster.

func (*BackendClusterAuthenticationAnonymous) DeepCopy added in v2.2.0

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

func (*BackendClusterAuthenticationAnonymous) DeepCopyInto added in v2.2.0

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

type BackendClusterAuthenticationSaslPlain added in v2.2.0

type BackendClusterAuthenticationSaslPlain struct {
	// A sensitive value containing the secret or a reference to a secret as a
	// template string expression.
	// If the value is provided as plain text, it is encrypted at rest and omitted
	// from API responses.
	// If provided as an expression, the expression itself is stored and returned
	// by the API.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Password GatewaySecret `json:"password,omitzero"`
	// A literal value or a reference to an existing secret as a template string
	// expression.
	// The value is stored and returned by the API as-is, not treated as sensitive
	// information.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Username GatewaySecretReferenceOrLiteral `json:"username,omitzero"`
}

BackendClusterAuthenticationSaslPlain SASL/PLAIN authentication scheme for the backend cluster.

func (*BackendClusterAuthenticationSaslPlain) DeepCopy added in v2.2.0

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

func (*BackendClusterAuthenticationSaslPlain) DeepCopyInto added in v2.2.0

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

type BackendClusterAuthenticationSaslScram added in v2.2.0

type BackendClusterAuthenticationSaslScram struct {
	// The algorithm used for SASL/SCRAM authentication.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=sha256;sha512
	Algorithm string `json:"algorithm,omitzero"`
	// A sensitive value containing the secret or a reference to a secret as a
	// template string expression.
	// If the value is provided as plain text, it is encrypted at rest and omitted
	// from API responses.
	// If provided as an expression, the expression itself is stored and returned
	// by the API.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Password GatewaySecret `json:"password,omitzero"`
	// A literal value or a reference to an existing secret as a template string
	// expression.
	// The value is stored and returned by the API as-is, not treated as sensitive
	// information.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Username GatewaySecretReferenceOrLiteral `json:"username,omitzero"`
}

BackendClusterAuthenticationSaslScram SASL/SCRAM authentication scheme for the backend cluster.

func (*BackendClusterAuthenticationSaslScram) DeepCopy added in v2.2.0

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

func (*BackendClusterAuthenticationSaslScram) DeepCopyInto added in v2.2.0

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

type BackendClusterAuthenticationScheme added in v2.2.0

type BackendClusterAuthenticationScheme struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=anonymous;saslPlain;saslScram
	Type BackendClusterAuthenticationSchemeType `json:"type,omitempty"`

	// Anonymous configuration.
	//
	// +optional
	Anonymous *BackendClusterAuthenticationAnonymous `json:"anonymous,omitempty"`
	// SaslPlain configuration.
	//
	// +optional
	SaslPlain *BackendClusterAuthenticationSaslPlain `json:"saslPlain,omitempty"`
	// SaslScram configuration.
	//
	// +optional
	SaslScram *BackendClusterAuthenticationSaslScram `json:"saslScram,omitempty"`
}

BackendClusterAuthenticationScheme represents a union type for BackendClusterAuthenticationScheme. Only one of the fields should be set based on the Type.

func (*BackendClusterAuthenticationScheme) DeepCopy added in v2.2.0

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

func (*BackendClusterAuthenticationScheme) DeepCopyInto added in v2.2.0

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

func (BackendClusterAuthenticationScheme) MarshalJSON added in v2.2.0

func (u BackendClusterAuthenticationScheme) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*BackendClusterAuthenticationScheme) UnmarshalJSON added in v2.2.0

func (u *BackendClusterAuthenticationScheme) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type BackendClusterAuthenticationSchemeType added in v2.2.0

type BackendClusterAuthenticationSchemeType string

BackendClusterAuthenticationSchemeType represents the type of BackendClusterAuthenticationScheme.

const (
	BackendClusterAuthenticationSchemeTypeAnonymous BackendClusterAuthenticationSchemeType = "anonymous"
	BackendClusterAuthenticationSchemeTypeSaslPlain BackendClusterAuthenticationSchemeType = "saslPlain"
	BackendClusterAuthenticationSchemeTypeSaslScram BackendClusterAuthenticationSchemeType = "saslScram"
)

BackendClusterAuthenticationSchemeType values.

type BackendClusterName added in v2.2.0

type BackendClusterName string

BackendClusterName The unique name of the backend cluster.

type BackendClusterReferenceByID added in v2.2.0

type BackendClusterReferenceByID struct {
}

BackendClusterReferenceByID is a type alias.

func (*BackendClusterReferenceByID) DeepCopy added in v2.2.0

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

func (*BackendClusterReferenceByID) DeepCopyInto added in v2.2.0

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

type BackendClusterReferenceByName added in v2.2.0

type BackendClusterReferenceByName struct {
	// The unique name of the backend cluster.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	Name BackendClusterName `json:"name,omitzero"`
}

BackendClusterReferenceByName is a type alias.

func (*BackendClusterReferenceByName) DeepCopy added in v2.2.0

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

func (*BackendClusterReferenceByName) DeepCopyInto added in v2.2.0

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

type BackendClusterReferenceModify added in v2.2.0

type BackendClusterReferenceModify struct {
	// +optional
	ID *string `json:"id,omitempty"`
	// +optional
	Name *BackendClusterName `json:"name,omitempty"`
}

BackendClusterReferenceModify is a type alias.

+kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*BackendClusterReferenceModify) DeepCopy added in v2.2.0

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

func (*BackendClusterReferenceModify) DeepCopyInto added in v2.2.0

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

type BackendClusterTLS added in v2.2.0

type BackendClusterTLS struct {
	// A literal value or a reference to an existing secret as a template string
	// expression.
	// The value is stored and returned by the API as-is, not treated as sensitive
	// information.
	//
	//
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=4096
	CaBundle GatewaySecretReferenceOrLiteral `json:"caBundle,omitzero"`
	// Client mTLS configuration.
	//
	// **Requires a minimum runtime version of `1.1`**.
	//
	// +optional
	ClientIdentity BackendClusterTLSClientIdentity `json:"clientIdentity,omitzero"`
	// If true, TLS is enabled for connections to this backend cluster.
	// If false, TLS is explicitly disabled.
	//
	// +required
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// If true, skip certificate verification.
	// It's not secure to use for production.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	InsecureSkipVerify string `json:"insecureSkipVerify,omitzero"`
	// List of supported TLS versions.
	//
	// +optional
	TLSVersions []string `json:"tlsVersions,omitempty"`
}

BackendClusterTLS is a type alias.

func (*BackendClusterTLS) DeepCopy added in v2.2.0

func (in *BackendClusterTLS) DeepCopy() *BackendClusterTLS

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

func (*BackendClusterTLS) DeepCopyInto added in v2.2.0

func (in *BackendClusterTLS) DeepCopyInto(out *BackendClusterTLS)

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

type BackendClusterTLSClientIdentity added in v2.2.0

type BackendClusterTLSClientIdentity struct {
	// A literal value or a reference to an existing secret as a template string
	// expression.
	// The value is stored and returned by the API as-is, not treated as sensitive
	// information.
	//
	//
	// +required
	Certificate SensitiveDataSource `json:"certificate,omitzero"`
	// A sensitive value containing the secret or a reference to a secret as a
	// template string expression.
	// If the value is provided as plain text, it is encrypted at rest and omitted
	// from API responses.
	// If provided as an expression, the expression itself is stored and returned
	// by the API.
	//
	//
	// +required
	Key SensitiveDataSource `json:"key,omitzero"`
}

BackendClusterTLSClientIdentity Client mTLS configuration.

**Requires a minimum runtime version of `1.1`**.

func (*BackendClusterTLSClientIdentity) DeepCopy added in v2.2.0

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

func (*BackendClusterTLSClientIdentity) DeepCopyInto added in v2.2.0

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

type BackendMetadataUpdateIntervalSeconds added in v2.2.0

type BackendMetadataUpdateIntervalSeconds int

BackendMetadataUpdateIntervalSeconds The interval at which metadata is updated in seconds.

type ConfigMapKeyRef added in v2.2.0

type ConfigMapKeyRef struct {
	// Name is the name of the ConfigMap
	//
	// +required
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name,omitzero"`

	// Key is the key within the ConfigMap
	//
	// +required
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:MinLength=1
	Key string `json:"key,omitzero"`

	// Namespace is the namespace of the ConfigMap
	//
	// +optional
	// +kubebuilder:validation:MaxLength=63
	Namespace string `json:"namespace,omitzero"`
}

ConfigMapKeyRef is a reference to a key in a ConfigMap

func (*ConfigMapKeyRef) DeepCopy added in v2.2.0

func (in *ConfigMapKeyRef) DeepCopy() *ConfigMapKeyRef

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

func (*ConfigMapKeyRef) DeepCopyInto added in v2.2.0

func (in *ConfigMapKeyRef) DeepCopyInto(out *ConfigMapKeyRef)

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

type ConsumeFailureMode added in v2.2.0

type ConsumeFailureMode string

ConsumeFailureMode Describes how to handle a failure in a policy applied to consumed records. * `error` - the batch is not delivered to the client. Use sparingly: erroring on a batch causes clients to get stuck on the problematic offset and requires manual intervention to skip it. * `skip` - the record is not delivered to the client. * `passthrough` - passes the record to the client even though policy execution failed. * `mark` - passes the record to the client but marks it with a `kong/policy-failure-<id>` header whose value is the reason for the policy failure (truncated to 512 characters).

type ConsumeKeyValidationAction added in v2.2.0

type ConsumeKeyValidationAction string

ConsumeKeyValidationAction Defines a behavior when record key is not valid. * mark - marks a record with kong/server header and client ID value to help to identify the clients violating schema. * skip - skips delivering a record.

type ConsumeValueValidationAction added in v2.2.0

type ConsumeValueValidationAction string

ConsumeValueValidationAction Defines a behavior when record value is not valid. * mark - marks a record with kong/server header and client ID value to help to identify the clients violating schema. * skip - skips delivering a record.

type ControlPlaneRef

type ControlPlaneRef commonv1alpha1.ControlPlaneRef

ControlPlaneRef is the schema for the ControlPlaneRef type. It is used to reference a Control Plane entity.

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

ControllerReference is a reference to a controller that reconciles the KongLicense.

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

type DecryptionRecordPart string

DecryptionRecordPart * key - decrypt the record key * value - decrypt the record value

type EncryptionFailureMode added in v2.2.0

type EncryptionFailureMode string

EncryptionFailureMode Describes how to handle failing encryption or decryption. Use `error` if the record should be rejected if encryption or decryption fails. Use `passthrough` to ignore encryption or decryption failure and continue proxying the record.

type EncryptionKey added in v2.2.0

type EncryptionKey struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=aws;static
	Type EncryptionKeyType `json:"type,omitempty"`

	// AWS configuration.
	//
	// +optional
	AWS *EncryptionKeyAWS `json:"aws,omitempty"`
	// Static configuration.
	//
	// +optional
	Static *EncryptionKeyStatic `json:"static,omitempty"`
}

EncryptionKey represents a union type for EncryptionKey. Only one of the fields should be set based on the Type.

+kubebuilder:validation:XValidation:rule="self.type == 'aws' ? has(self.aws) : !has(self.aws)",message="aws must be set only when type is aws" +kubebuilder:validation:XValidation:rule="self.type == 'static' ? has(self.static) : !has(self.static)",message="static must be set only when type is static"

func (*EncryptionKey) DeepCopy added in v2.2.0

func (in *EncryptionKey) DeepCopy() *EncryptionKey

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

func (*EncryptionKey) DeepCopyInto added in v2.2.0

func (in *EncryptionKey) DeepCopyInto(out *EncryptionKey)

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

func (EncryptionKey) MarshalJSON added in v2.2.0

func (u EncryptionKey) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*EncryptionKey) UnmarshalJSON added in v2.2.0

func (u *EncryptionKey) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EncryptionKeyAWS added in v2.2.0

type EncryptionKeyAWS struct {
	// The AWS KMS key ARN.
	//
	// +required
	// +kubebuilder:validation:MinLength=10
	// +kubebuilder:validation:MaxLength=2048
	// +kubebuilder:validation:Pattern=`^arn:aws:kms:.+`
	Arn string `json:"arn,omitzero"`
}

EncryptionKeyAWS The AWS KMS key to use for encryption.

func (*EncryptionKeyAWS) DeepCopy added in v2.2.0

func (in *EncryptionKeyAWS) DeepCopy() *EncryptionKeyAWS

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

func (*EncryptionKeyAWS) DeepCopyInto added in v2.2.0

func (in *EncryptionKeyAWS) DeepCopyInto(out *EncryptionKeyAWS)

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

type EncryptionKeyStatic added in v2.2.0

type EncryptionKeyStatic struct {
	// A static encryption key reference, either by ID or by value.
	//
	//
	// +required
	Key *EncryptionKeyStaticReference `json:"key,omitempty"`
}

EncryptionKeyStatic A static encryption key.

func (*EncryptionKeyStatic) DeepCopy added in v2.2.0

func (in *EncryptionKeyStatic) DeepCopy() *EncryptionKeyStatic

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

func (*EncryptionKeyStatic) DeepCopyInto added in v2.2.0

func (in *EncryptionKeyStatic) DeepCopyInto(out *EncryptionKeyStatic)

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

type EncryptionKeyStaticReference added in v2.2.0

type EncryptionKeyStaticReference struct {
	// +optional
	ID *string `json:"id,omitempty"`
	// +optional
	Name *string `json:"name,omitempty"`
}

EncryptionKeyStaticReference is a type alias.

+kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*EncryptionKeyStaticReference) DeepCopy added in v2.2.0

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

func (*EncryptionKeyStaticReference) DeepCopyInto added in v2.2.0

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

type EncryptionKeyStaticReferenceByID added in v2.2.0

type EncryptionKeyStaticReferenceByID struct {
}

EncryptionKeyStaticReferenceByID A static encryption key reference by ID.

func (*EncryptionKeyStaticReferenceByID) DeepCopy added in v2.2.0

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

func (*EncryptionKeyStaticReferenceByID) DeepCopyInto added in v2.2.0

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

type EncryptionKeyStaticReferenceByName added in v2.2.0

type EncryptionKeyStaticReferenceByName struct {
	// The name of the static key defined in the key source.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EncryptionKeyStaticReferenceByName A static encryption key reference by name.

func (*EncryptionKeyStaticReferenceByName) DeepCopy added in v2.2.0

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

func (*EncryptionKeyStaticReferenceByName) DeepCopyInto added in v2.2.0

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

type EncryptionKeyType added in v2.2.0

type EncryptionKeyType string

EncryptionKeyType represents the type of EncryptionKey.

const (
	EncryptionKeyTypeAWS    EncryptionKeyType = "aws"
	EncryptionKeyTypeStatic EncryptionKeyType = "static"
)

EncryptionKeyType values.

type EncryptionRecordPart added in v2.2.0

type EncryptionRecordPart string

EncryptionRecordPart * key - encrypt the record key * value - encrypt the record value

type EventGatewayACLOperation added in v2.2.0

type EventGatewayACLOperation struct {
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=all;alter;alter_configs;create;delete;describe;describe_configs;idempotent_write;read;write
	Name string `json:"name,omitzero"`
}

EventGatewayACLOperation An Event Gateway operation to match against in an ACL rule.

func (*EventGatewayACLOperation) DeepCopy added in v2.2.0

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

func (*EventGatewayACLOperation) DeepCopyInto added in v2.2.0

func (in *EventGatewayACLOperation) DeepCopyInto(out *EventGatewayACLOperation)

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

type EventGatewayACLPolicyConfig added in v2.2.0

type EventGatewayACLPolicyConfig struct {
	// Every ACL rule in this list applies independently.
	//
	// +required
	Rules []EventGatewayACLRule `json:"rules,omitempty"`
}

EventGatewayACLPolicyConfig Apply ACLs to virtual cluster traffic.

func (*EventGatewayACLPolicyConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayACLPolicyConfig) DeepCopyInto added in v2.2.0

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

type EventGatewayACLResourceName added in v2.2.0

type EventGatewayACLResourceName struct {
	// Currently supported are exact matches and globs.
	// All `*` characters are interpreted as globs, i.e.
	// they match zero or more of any character.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Match string `json:"match,omitzero"`
}

EventGatewayACLResourceName An Event Gateway resource name to match against in an ACL rule.

func (*EventGatewayACLResourceName) DeepCopy added in v2.2.0

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

func (*EventGatewayACLResourceName) DeepCopyInto added in v2.2.0

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

type EventGatewayACLRule added in v2.2.0

type EventGatewayACLRule struct {
	// How to handle the request if the rule matches
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=allow;deny
	Action string `json:"action,omitzero"`
	// Types of Kafka operations to match against.
	// Note that not every operation can apply to every resource type.
	//
	// +required
	Operations []EventGatewayACLOperation `json:"operations,omitempty"`
	// If any of these entries match, the resource name matches for this rule.
	// A maximum of 50 entries are allowed.
	//
	// +required
	ResourceNames *EventGatewayACLRuleResourceNames `json:"resourceNames,omitempty"`
	// This rule applies to access only for type of resource
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=topic;group;transactional_id;cluster
	ResourceType string `json:"resourceType,omitzero"`
}

EventGatewayACLRule A Kafka ACL rule to apply to virtual cluster traffic

func (*EventGatewayACLRule) DeepCopy added in v2.2.0

func (in *EventGatewayACLRule) DeepCopy() *EventGatewayACLRule

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

func (*EventGatewayACLRule) DeepCopyInto added in v2.2.0

func (in *EventGatewayACLRule) DeepCopyInto(out *EventGatewayACLRule)

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

func (*EventGatewayACLRule) UnmarshalJSON added in v2.2.0

func (s *EventGatewayACLRule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayACLRuleResourceNames added in v2.2.0

type EventGatewayACLRuleResourceNames struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=stat;dynam
	Type EventGatewayACLRuleResourceNamesType `json:"type,omitempty"`

	// Stat configuration.
	//
	// +optional
	Stat *EventGatewayACLRuleResourceNamesStaticArray `json:"stat,omitempty"`
	// Dynam configuration.
	//
	// +optional
	Dynam *EventGatewayACLRuleResourceNamesDynamicArray `json:"dynam,omitempty"`
}

EventGatewayACLRuleResourceNames represents a union type for resource_names. Only one of the fields should be set based on the Type.

func (*EventGatewayACLRuleResourceNames) DeepCopy added in v2.2.0

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

func (*EventGatewayACLRuleResourceNames) DeepCopyInto added in v2.2.0

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

func (EventGatewayACLRuleResourceNames) MarshalJSON added in v2.2.0

func (u EventGatewayACLRuleResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*EventGatewayACLRuleResourceNames) UnmarshalJSON added in v2.2.0

func (u *EventGatewayACLRuleResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayACLRuleResourceNamesDynamicArray added in v2.2.0

type EventGatewayACLRuleResourceNamesDynamicArray string

EventGatewayACLRuleResourceNamesDynamicArray This expression should evaluate to an array of glob patterns, equivalent to the `match` values in the static array form of `resource_names`.

**Requires a minimum runtime version of `1.1`**.

type EventGatewayACLRuleResourceNamesStaticArray added in v2.2.0

type EventGatewayACLRuleResourceNamesStaticArray []EventGatewayACLResourceName

EventGatewayACLRuleResourceNamesStaticArray A static list of resource name globs to match against resources when applying an ACL policy.

func (EventGatewayACLRuleResourceNamesStaticArray) DeepCopy added in v2.2.0

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

func (EventGatewayACLRuleResourceNamesStaticArray) DeepCopyInto added in v2.2.0

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

type EventGatewayACLRuleResourceNamesType added in v2.2.0

type EventGatewayACLRuleResourceNamesType string

EventGatewayACLRuleResourceNamesType represents the type of resource_names.

const (
	EventGatewayACLRuleResourceNamesTypeStat  EventGatewayACLRuleResourceNamesType = "stat"
	EventGatewayACLRuleResourceNamesTypeDynam EventGatewayACLRuleResourceNamesType = "dynam"
)

EventGatewayACLRuleResourceNamesType values.

type EventGatewayACLsPolicy added in v2.2.0

type EventGatewayACLsPolicy struct {
	// A string containing the boolean expression that determines whether the
	// policy is applied.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=1000
	Condition string `json:"condition,omitzero"`
	// The configuration of the policy.
	//
	// +required
	Config EventGatewayACLPolicyConfig `json:"config,omitzero"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EventGatewayACLsPolicy Apply Kafka ACLs to virtual cluster traffic.

func (*EventGatewayACLsPolicy) DeepCopy added in v2.2.0

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

func (*EventGatewayACLsPolicy) DeepCopyInto added in v2.2.0

func (in *EventGatewayACLsPolicy) DeepCopyInto(out *EventGatewayACLsPolicy)

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

type EventGatewayAWSKeySource added in v2.2.0

type EventGatewayAWSKeySource struct {
}

EventGatewayAWSKeySource A key source that uses an AWS KMS to find a symmetric key. Load KMS credentials from the environment.

See [aws docs](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/credproviders.html#credproviders-default-credentials-provider-chain) for more information about how credential retrieval.

func (*EventGatewayAWSKeySource) DeepCopy added in v2.2.0

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

func (*EventGatewayAWSKeySource) DeepCopyInto added in v2.2.0

func (in *EventGatewayAWSKeySource) DeepCopyInto(out *EventGatewayAWSKeySource)

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

type EventGatewayBackendCluster added in v2.2.0

type EventGatewayBackendCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// +optional
	Spec EventGatewayBackendClusterSpec `json:"spec,omitzero"`

	// +optional
	Status EventGatewayBackendClusterStatus `json:"status,omitzero"`
}

EventGatewayBackendCluster is the Schema for the eventgatewaybackendclusters API.

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=kong +kubebuilder:printcolumn:name="ID",description="Konnect ID",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:storageversion +apireference:kgo:include +kong:channels=kong-operator

func (*EventGatewayBackendCluster) DeepCopy added in v2.2.0

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

func (*EventGatewayBackendCluster) DeepCopyInto added in v2.2.0

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

func (*EventGatewayBackendCluster) DeepCopyObject added in v2.2.0

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

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

func (*EventGatewayBackendCluster) GetAncestorIDs added in v2.2.0

func (obj *EventGatewayBackendCluster) GetAncestorIDs() map[string]string

GetAncestorIDs returns the Konnect IDs of the ancestor entities keyed by their Kind.

func (*EventGatewayBackendCluster) GetConditions added in v2.2.0

func (obj *EventGatewayBackendCluster) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*EventGatewayBackendCluster) GetEventGatewayRef added in v2.2.0

func (obj *EventGatewayBackendCluster) GetEventGatewayRef() commonv1alpha1.ObjectRef

GetEventGatewayRef returns the reference to the root EventGateway.

func (*EventGatewayBackendCluster) GetGatewayID added in v2.2.0

func (obj *EventGatewayBackendCluster) GetGatewayID() string

GetGatewayID returns the Konnect ID of the parent Gateway.

func (*EventGatewayBackendCluster) GetGatewayRef added in v2.2.0

GetGatewayRef returns the reference to the root Gateway.

func (*EventGatewayBackendCluster) GetKonnectID added in v2.2.0

func (obj *EventGatewayBackendCluster) GetKonnectID() string

GetKonnectID returns the Konnect ID in the EventGatewayBackendCluster status.

func (*EventGatewayBackendCluster) GetKonnectLabels added in v2.2.0

func (obj *EventGatewayBackendCluster) GetKonnectLabels() map[string]string

GetKonnectLabels gets the Konnect labels from the object's API spec.

func (*EventGatewayBackendCluster) GetKonnectStatus added in v2.2.0

GetKonnectStatus returns the Konnect status contained in the EventGatewayBackendCluster status.

func (*EventGatewayBackendCluster) GetParentGVK added in v2.2.0

GetParentGVK returns the GroupVersionKind of the parent entity.

func (*EventGatewayBackendCluster) GetParentRef added in v2.2.0

GetParentRef returns the reference to the parent entity.

func (*EventGatewayBackendCluster) GetSensitiveDataSecretRefs added in v2.2.0

func (obj *EventGatewayBackendCluster) GetSensitiveDataSecretRefs() []SensitiveDataSecretRef

GetSensitiveDataSecretRefs returns all Secret references used to populate sensitive SDK payload fields.

func (*EventGatewayBackendCluster) GetStatusConditionReasonParentRefInvalid added in v2.2.0

func (obj *EventGatewayBackendCluster) GetStatusConditionReasonParentRefInvalid() string

GetStatusConditionReasonParentRefInvalid returns the status condition reason indicating that the parent reference is invalid.

func (*EventGatewayBackendCluster) GetStatusConditionReasonParentRefNotProgrammed added in v2.2.0

func (obj *EventGatewayBackendCluster) GetStatusConditionReasonParentRefNotProgrammed() string

GetStatusConditionReasonParentRefNotProgrammed returns the status condition reason indicating that the referenced parent exists but is not yet programmed in Konnect.

func (*EventGatewayBackendCluster) GetStatusConditionReasonParentRefValid added in v2.2.0

func (obj *EventGatewayBackendCluster) GetStatusConditionReasonParentRefValid() string

GetStatusConditionReasonParentRefValid returns the status condition reason indicating that the parent reference is valid.

func (*EventGatewayBackendCluster) GetStatusConditionTypeParentRefValid added in v2.2.0

func (obj *EventGatewayBackendCluster) GetStatusConditionTypeParentRefValid() string

GetStatusConditionTypeParentRefValid returns the status condition type indicating whether the parent reference is valid.

func (EventGatewayBackendCluster) GetTypeName added in v2.2.0

func (obj EventGatewayBackendCluster) GetTypeName() string

GetTypeName returns the EventGatewayBackendCluster Kind name.

func (EventGatewayBackendCluster) HasParent added in v2.2.0

func (obj EventGatewayBackendCluster) HasParent() bool

HasParent returns true if the EventGatewayBackendCluster has a parent entity.

func (*EventGatewayBackendCluster) PersistsKonnectID added in v2.2.0

func (*EventGatewayBackendCluster) PersistsKonnectID() bool

PersistsKonnectID reports whether EventGatewayBackendCluster persists a Konnect ID in status.

func (*EventGatewayBackendCluster) SetConditions added in v2.2.0

func (obj *EventGatewayBackendCluster) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*EventGatewayBackendCluster) SetGatewayID added in v2.2.0

func (obj *EventGatewayBackendCluster) SetGatewayID(id string)

SetGatewayID sets the Konnect ID of the parent Gateway.

func (*EventGatewayBackendCluster) SetKonnectID added in v2.2.0

func (obj *EventGatewayBackendCluster) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the EventGatewayBackendCluster status.

func (*EventGatewayBackendCluster) SetKonnectLabels added in v2.2.0

func (obj *EventGatewayBackendCluster) SetKonnectLabels(labels map[string]string)

SetKonnectLabels sets the Konnect labels in the object's API spec.

func (*EventGatewayBackendCluster) SetParentID added in v2.2.0

func (obj *EventGatewayBackendCluster) SetParentID(id string)

SetParentID sets the Konnect ID of the immediate parent entity.

func (*EventGatewayBackendCluster) ToCreateBackendClusterRequest added in v2.2.0

ToCreateBackendClusterRequest converts the EventGatewayBackendCluster to the SDK type sdkkonnectcomp.CreateBackendClusterRequest, resolving referenced Secrets via the provided client.

func (*EventGatewayBackendCluster) ToUpdateBackendClusterRequest added in v2.2.0

ToUpdateBackendClusterRequest converts the EventGatewayBackendCluster to the SDK type sdkkonnectcomp.UpdateBackendClusterRequest, resolving referenced Secrets via the provided client.

type EventGatewayBackendClusterAPISpec added in v2.2.0

type EventGatewayBackendClusterAPISpec struct {
	//
	//
	// +required
	Authentication *EventGatewayBackendClusterAuthentication `json:"authentication,omitempty"`

	// A list of cluster bootstrap servers in the format address:port.
	//
	// +required
	BootstrapServers []string `json:"bootstrapServers,omitempty"`

	// A human-readable description of the backend cluster.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`

	// If true, virtual clusters can have allow anonymous authentication and use
	// this backend cluster.
	// This setting is not recommended for production use as it may create
	// privilege escalation vulnerabilities.
	//
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	InsecureAllowAnonymousVirtualClusterAuth string `json:"insecureAllowAnonymousVirtualClusterAuth,omitzero"`

	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`

	// The interval at which metadata is updated in seconds.
	//
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=43200
	MetadataUpdateIntervalSeconds BackendMetadataUpdateIntervalSeconds `json:"metadataUpdateIntervalSeconds,omitzero"`

	// The unique name of the backend cluster.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	Name BackendClusterName `json:"name,omitzero"`

	//
	//
	// +required
	TLS BackendClusterTLS `json:"tls,omitzero"`
}

EventGatewayBackendClusterAPISpec defines the API spec fields for EventGatewayBackendCluster.

func (*EventGatewayBackendClusterAPISpec) DeepCopy added in v2.2.0

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

func (*EventGatewayBackendClusterAPISpec) DeepCopyInto added in v2.2.0

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

func (*EventGatewayBackendClusterAPISpec) ToCreateBackendClusterRequest added in v2.2.0

ToCreateBackendClusterRequest converts the EventGatewayBackendClusterAPISpec to the SDK type sdkkonnectcomp.CreateBackendClusterRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayBackendClusterAPISpec) ToUpdateBackendClusterRequest added in v2.2.0

ToUpdateBackendClusterRequest converts the EventGatewayBackendClusterAPISpec to the SDK type sdkkonnectcomp.UpdateBackendClusterRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayBackendClusterAPISpec) UnmarshalJSON added in v2.2.0

func (s *EventGatewayBackendClusterAPISpec) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayBackendClusterAuthentication added in v2.2.0

type EventGatewayBackendClusterAuthentication struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=anonymous;saslPlain;saslScram
	Type EventGatewayBackendClusterAuthenticationType `json:"type,omitempty"`

	// Anonymous configuration.
	//
	// +optional
	Anonymous *BackendClusterAuthenticationAnonymous `json:"anonymous,omitempty"`
	// SaslPlain configuration.
	//
	// +optional
	SaslPlain *BackendClusterAuthenticationSaslPlain `json:"saslPlain,omitempty"`
	// SaslScram configuration.
	//
	// +optional
	SaslScram *BackendClusterAuthenticationSaslScram `json:"saslScram,omitempty"`
}

EventGatewayBackendClusterAuthentication represents a union type for authentication. Only one of the fields should be set based on the Type.

func (*EventGatewayBackendClusterAuthentication) DeepCopy added in v2.2.0

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

func (*EventGatewayBackendClusterAuthentication) DeepCopyInto added in v2.2.0

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

func (EventGatewayBackendClusterAuthentication) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayBackendClusterAuthentication) UnmarshalJSON added in v2.2.0

func (u *EventGatewayBackendClusterAuthentication) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayBackendClusterAuthenticationType added in v2.2.0

type EventGatewayBackendClusterAuthenticationType string

EventGatewayBackendClusterAuthenticationType represents the type of authentication.

const (
	EventGatewayBackendClusterAuthenticationTypeAnonymous EventGatewayBackendClusterAuthenticationType = "anonymous"
	EventGatewayBackendClusterAuthenticationTypeSaslPlain EventGatewayBackendClusterAuthenticationType = "saslPlain"
	EventGatewayBackendClusterAuthenticationTypeSaslScram EventGatewayBackendClusterAuthenticationType = "saslScram"
)

EventGatewayBackendClusterAuthenticationType values.

type EventGatewayBackendClusterList added in v2.2.0

type EventGatewayBackendClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []EventGatewayBackendCluster `json:"items"`
}

EventGatewayBackendClusterList contains a list of EventGatewayBackendCluster.

+kubebuilder:object:root=true

func (*EventGatewayBackendClusterList) DeepCopy added in v2.2.0

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

func (*EventGatewayBackendClusterList) DeepCopyInto added in v2.2.0

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

func (*EventGatewayBackendClusterList) DeepCopyObject added in v2.2.0

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

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

func (EventGatewayBackendClusterList) GetItems added in v2.2.0

GetItems returns the list of EventGatewayBackendCluster items.

type EventGatewayBackendClusterSDKOpsBoolField added in v2.2.0

type EventGatewayBackendClusterSDKOpsBoolField struct {
	Label string
	Path  []string
}

EventGatewayBackendClusterSDKOpsBoolField describes a boolean enum field that must be normalized for SDK payloads.

func (*EventGatewayBackendClusterSDKOpsBoolField) DeepCopy added in v2.2.0

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

func (*EventGatewayBackendClusterSDKOpsBoolField) DeepCopyInto added in v2.2.0

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

type EventGatewayBackendClusterSpec added in v2.2.0

type EventGatewayBackendClusterSpec struct {
	// GatewayRef is the reference to the parent Gateway object.
	//
	// +required
	GatewayRef commonv1alpha1.ObjectRef `json:"gatewayRef,omitzero"`

	// APISpec defines the desired state of the resource's API spec fields.
	//
	// +optional
	APISpec EventGatewayBackendClusterAPISpec `json:"apiSpec,omitzero"`
}

EventGatewayBackendClusterSpec defines the desired state of EventGatewayBackendCluster.

func (*EventGatewayBackendClusterSpec) DeepCopy added in v2.2.0

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

func (*EventGatewayBackendClusterSpec) DeepCopyInto added in v2.2.0

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

type EventGatewayBackendClusterStatus added in v2.2.0

type EventGatewayBackendClusterStatus struct {
	// Conditions represent the current state of the resource.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Konnect contains the Konnect entity status.
	//
	// +optional
	KonnectEntityStatus `json:",inline"`

	// GatewayID is the Konnect ID of the parent Gateway.
	//
	// +optional
	GatewayID *KonnectEntityRef `json:"gatewayID,omitempty"`

	// ObservedGeneration is the most recent generation observed
	//
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitzero"`
}

EventGatewayBackendClusterStatus defines the observed state of EventGatewayBackendCluster.

func (*EventGatewayBackendClusterStatus) DeepCopy added in v2.2.0

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

func (*EventGatewayBackendClusterStatus) DeepCopyInto added in v2.2.0

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

type EventGatewayConsumeSchemaValidationPolicy added in v2.2.0

type EventGatewayConsumeSchemaValidationPolicy struct {
	// A string containing the boolean expression that determines whether the
	// policy is applied.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=1000
	Condition string `json:"condition,omitzero"`
	// The configuration of the schema validation policy.
	//
	// +required
	Config EventGatewayConsumeSchemaValidationPolicyConfig `json:"config,omitzero"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EventGatewayConsumeSchemaValidationPolicy A policy that validates consume messages against a schema registry.

func (*EventGatewayConsumeSchemaValidationPolicy) DeepCopy added in v2.2.0

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

func (*EventGatewayConsumeSchemaValidationPolicy) DeepCopyInto added in v2.2.0

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

type EventGatewayConsumeSchemaValidationPolicyConfig added in v2.2.0

type EventGatewayConsumeSchemaValidationPolicyConfig struct {
	// Defines a behavior when record key is not valid.
	// * mark - marks a record with kong/server header and client ID value
	// to help to identify the clients violating schema.
	// * skip - skips delivering a record.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=mark;skip
	KeyValidationAction ConsumeKeyValidationAction `json:"keyValidationAction,omitzero"`
	// A reference to a schema Registry.
	//
	// +optional
	SchemaRegistry *EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistry `json:"schemaRegistry,omitempty"`
	// How to validate the schema and parse the record.
	// * confluent_schema_registry - validates against confluent schema registry.
	// * json - simple JSON parsing without the schema.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=confluent_schema_registry;json
	Type SchemaValidationType `json:"type,omitzero"`
	// Defines a behavior when record value is not valid.
	// * mark - marks a record with kong/server header and client ID value
	// to help to identify the clients violating schema.
	// * skip - skips delivering a record.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=mark;skip
	ValueValidationAction ConsumeValueValidationAction `json:"valueValidationAction,omitzero"`
}

EventGatewayConsumeSchemaValidationPolicyConfig The configuration of the schema validation policy.

func (*EventGatewayConsumeSchemaValidationPolicyConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayConsumeSchemaValidationPolicyConfig) DeepCopyInto added in v2.2.0

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

func (*EventGatewayConsumeSchemaValidationPolicyConfig) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistry added in v2.2.0

type EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistry struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=id;name
	Type EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistryType `json:"type,omitempty"`

	// ID configuration.
	//
	// +optional
	ID *SchemaRegistryReferenceByID `json:"id,omitempty"`
	// Name configuration.
	//
	// +optional
	Name *SchemaRegistryReferenceByName `json:"name,omitempty"`
}

EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistry represents a union type for schema_registry. Only one of the fields should be set based on the Type.

func (*EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistry) DeepCopy added in v2.2.0

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

func (*EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistry) DeepCopyInto added in v2.2.0

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

func (EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistry) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistry) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistryType added in v2.2.0

type EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistryType string

EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistryType represents the type of schema_registry.

const (
	EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistryTypeID   EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistryType = "id"
	EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistryTypeName EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistryType = "name"
)

EventGatewayConsumeSchemaValidationPolicyConfigSchemaRegistryType values.

type EventGatewayDataPlaneCertificate added in v2.2.0

type EventGatewayDataPlaneCertificate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// +optional
	Spec EventGatewayDataPlaneCertificateSpec `json:"spec,omitzero"`

	// +optional
	Status EventGatewayDataPlaneCertificateStatus `json:"status,omitzero"`
}

EventGatewayDataPlaneCertificate is the Schema for the eventgatewaydataplanecertificates API.

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=kong +kubebuilder:printcolumn:name="ID",description="Konnect ID",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:storageversion +apireference:kgo:include +kong:channels=kong-operator

func (*EventGatewayDataPlaneCertificate) DeepCopy added in v2.2.0

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

func (*EventGatewayDataPlaneCertificate) DeepCopyInto added in v2.2.0

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

func (*EventGatewayDataPlaneCertificate) DeepCopyObject added in v2.2.0

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

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

func (*EventGatewayDataPlaneCertificate) GetAncestorIDs added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) GetAncestorIDs() map[string]string

GetAncestorIDs returns the Konnect IDs of the ancestor entities keyed by their Kind.

func (*EventGatewayDataPlaneCertificate) GetConditions added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*EventGatewayDataPlaneCertificate) GetEventGatewayRef added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) GetEventGatewayRef() commonv1alpha1.ObjectRef

GetEventGatewayRef returns the reference to the root EventGateway.

func (*EventGatewayDataPlaneCertificate) GetGatewayID added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) GetGatewayID() string

GetGatewayID returns the Konnect ID of the parent Gateway.

func (*EventGatewayDataPlaneCertificate) GetGatewayRef added in v2.2.0

GetGatewayRef returns the reference to the root Gateway.

func (*EventGatewayDataPlaneCertificate) GetKonnectID added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) GetKonnectID() string

GetKonnectID returns the Konnect ID in the EventGatewayDataPlaneCertificate status.

func (*EventGatewayDataPlaneCertificate) GetKonnectStatus added in v2.2.0

GetKonnectStatus returns the Konnect status contained in the EventGatewayDataPlaneCertificate status.

func (*EventGatewayDataPlaneCertificate) GetParentGVK added in v2.2.0

GetParentGVK returns the GroupVersionKind of the parent entity.

func (*EventGatewayDataPlaneCertificate) GetParentRef added in v2.2.0

GetParentRef returns the reference to the parent entity.

func (*EventGatewayDataPlaneCertificate) GetSensitiveDataSecretRefs added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) GetSensitiveDataSecretRefs() []SensitiveDataSecretRef

GetSensitiveDataSecretRefs returns all Secret references used to populate sensitive SDK payload fields.

func (*EventGatewayDataPlaneCertificate) GetStatusConditionReasonParentRefInvalid added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) GetStatusConditionReasonParentRefInvalid() string

GetStatusConditionReasonParentRefInvalid returns the status condition reason indicating that the parent reference is invalid.

func (*EventGatewayDataPlaneCertificate) GetStatusConditionReasonParentRefNotProgrammed added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) GetStatusConditionReasonParentRefNotProgrammed() string

GetStatusConditionReasonParentRefNotProgrammed returns the status condition reason indicating that the referenced parent exists but is not yet programmed in Konnect.

func (*EventGatewayDataPlaneCertificate) GetStatusConditionReasonParentRefValid added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) GetStatusConditionReasonParentRefValid() string

GetStatusConditionReasonParentRefValid returns the status condition reason indicating that the parent reference is valid.

func (*EventGatewayDataPlaneCertificate) GetStatusConditionTypeParentRefValid added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) GetStatusConditionTypeParentRefValid() string

GetStatusConditionTypeParentRefValid returns the status condition type indicating whether the parent reference is valid.

func (EventGatewayDataPlaneCertificate) GetTypeName added in v2.2.0

func (obj EventGatewayDataPlaneCertificate) GetTypeName() string

GetTypeName returns the EventGatewayDataPlaneCertificate Kind name.

func (EventGatewayDataPlaneCertificate) HasParent added in v2.2.0

func (obj EventGatewayDataPlaneCertificate) HasParent() bool

HasParent returns true if the EventGatewayDataPlaneCertificate has a parent entity.

func (*EventGatewayDataPlaneCertificate) PersistsKonnectID added in v2.2.0

func (*EventGatewayDataPlaneCertificate) PersistsKonnectID() bool

PersistsKonnectID reports whether EventGatewayDataPlaneCertificate persists a Konnect ID in status.

func (*EventGatewayDataPlaneCertificate) SetConditions added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*EventGatewayDataPlaneCertificate) SetGatewayID added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) SetGatewayID(id string)

SetGatewayID sets the Konnect ID of the parent Gateway.

func (*EventGatewayDataPlaneCertificate) SetKonnectID added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the EventGatewayDataPlaneCertificate status.

func (*EventGatewayDataPlaneCertificate) SetParentID added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) SetParentID(id string)

SetParentID sets the Konnect ID of the immediate parent entity.

func (*EventGatewayDataPlaneCertificate) ToCreateEventGatewayDataPlaneCertificateRequest added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) ToCreateEventGatewayDataPlaneCertificateRequest(ctx context.Context, cl client.Client) (*sdkkonnectcomp.CreateEventGatewayDataPlaneCertificateRequest, error)

ToCreateEventGatewayDataPlaneCertificateRequest converts the EventGatewayDataPlaneCertificate to the SDK type sdkkonnectcomp.CreateEventGatewayDataPlaneCertificateRequest, resolving referenced Secrets via the provided client.

func (*EventGatewayDataPlaneCertificate) ToUpdateEventGatewayDataPlaneCertificateRequest added in v2.2.0

func (obj *EventGatewayDataPlaneCertificate) ToUpdateEventGatewayDataPlaneCertificateRequest(ctx context.Context, cl client.Client) (*sdkkonnectcomp.UpdateEventGatewayDataPlaneCertificateRequest, error)

ToUpdateEventGatewayDataPlaneCertificateRequest converts the EventGatewayDataPlaneCertificate to the SDK type sdkkonnectcomp.UpdateEventGatewayDataPlaneCertificateRequest, resolving referenced Secrets via the provided client.

type EventGatewayDataPlaneCertificateAPISpec added in v2.2.0

type EventGatewayDataPlaneCertificateAPISpec struct {
	// JSON escaped string of the certificate.
	//
	// +required
	Certificate SensitiveDataSource `json:"certificate,omitzero"`

	// A description of the certificate.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	Description string `json:"description,omitzero"`

	// The name to identify of the certificate.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	Name string `json:"name,omitzero"`
}

EventGatewayDataPlaneCertificateAPISpec defines the API spec fields for EventGatewayDataPlaneCertificate.

func (*EventGatewayDataPlaneCertificateAPISpec) DeepCopy added in v2.2.0

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

func (*EventGatewayDataPlaneCertificateAPISpec) DeepCopyInto added in v2.2.0

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

func (*EventGatewayDataPlaneCertificateAPISpec) ToCreateEventGatewayDataPlaneCertificateRequest added in v2.2.0

func (s *EventGatewayDataPlaneCertificateAPISpec) ToCreateEventGatewayDataPlaneCertificateRequest() (*sdkkonnectcomp.CreateEventGatewayDataPlaneCertificateRequest, error)

ToCreateEventGatewayDataPlaneCertificateRequest converts the EventGatewayDataPlaneCertificateAPISpec to the SDK type sdkkonnectcomp.CreateEventGatewayDataPlaneCertificateRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayDataPlaneCertificateAPISpec) ToUpdateEventGatewayDataPlaneCertificateRequest added in v2.2.0

func (s *EventGatewayDataPlaneCertificateAPISpec) ToUpdateEventGatewayDataPlaneCertificateRequest() (*sdkkonnectcomp.UpdateEventGatewayDataPlaneCertificateRequest, error)

ToUpdateEventGatewayDataPlaneCertificateRequest converts the EventGatewayDataPlaneCertificateAPISpec to the SDK type sdkkonnectcomp.UpdateEventGatewayDataPlaneCertificateRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

type EventGatewayDataPlaneCertificateList added in v2.2.0

type EventGatewayDataPlaneCertificateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []EventGatewayDataPlaneCertificate `json:"items"`
}

EventGatewayDataPlaneCertificateList contains a list of EventGatewayDataPlaneCertificate.

+kubebuilder:object:root=true

func (*EventGatewayDataPlaneCertificateList) DeepCopy added in v2.2.0

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

func (*EventGatewayDataPlaneCertificateList) DeepCopyInto added in v2.2.0

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

func (*EventGatewayDataPlaneCertificateList) DeepCopyObject added in v2.2.0

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

func (EventGatewayDataPlaneCertificateList) GetItems added in v2.2.0

GetItems returns the list of EventGatewayDataPlaneCertificate items.

type EventGatewayDataPlaneCertificateSpec added in v2.2.0

type EventGatewayDataPlaneCertificateSpec struct {
	// GatewayRef is the reference to the parent Gateway object.
	//
	// +required
	GatewayRef commonv1alpha1.ObjectRef `json:"gatewayRef,omitzero"`

	// APISpec defines the desired state of the resource's API spec fields.
	//
	// +optional
	APISpec EventGatewayDataPlaneCertificateAPISpec `json:"apiSpec,omitzero"`
}

EventGatewayDataPlaneCertificateSpec defines the desired state of EventGatewayDataPlaneCertificate.

func (*EventGatewayDataPlaneCertificateSpec) DeepCopy added in v2.2.0

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

func (*EventGatewayDataPlaneCertificateSpec) DeepCopyInto added in v2.2.0

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

type EventGatewayDataPlaneCertificateStatus added in v2.2.0

type EventGatewayDataPlaneCertificateStatus struct {
	// Conditions represent the current state of the resource.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Konnect contains the Konnect entity status.
	//
	// +optional
	KonnectEntityStatus `json:",inline"`

	// GatewayID is the Konnect ID of the parent Gateway.
	//
	// +optional
	GatewayID *KonnectEntityRef `json:"gatewayID,omitempty"`

	// ObservedGeneration is the most recent generation observed
	//
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitzero"`
}

EventGatewayDataPlaneCertificateStatus defines the observed state of EventGatewayDataPlaneCertificate.

func (*EventGatewayDataPlaneCertificateStatus) DeepCopy added in v2.2.0

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

func (*EventGatewayDataPlaneCertificateStatus) DeepCopyInto added in v2.2.0

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

type EventGatewayDecryptPolicy added in v2.2.0

type EventGatewayDecryptPolicy struct {
	// A string containing the boolean expression that determines whether the
	// policy is applied.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=1000
	Condition string `json:"condition,omitzero"`
	// The configuration of the policy.
	//
	// +required
	Config EventGatewayDecryptPolicyConfig `json:"config,omitzero"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EventGatewayDecryptPolicy Decrypts Kafka records or keys using AES_256_GCM. Keys are therefore 256 bits long.

func (*EventGatewayDecryptPolicy) DeepCopy added in v2.2.0

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

func (*EventGatewayDecryptPolicy) DeepCopyInto added in v2.2.0

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

type EventGatewayDecryptPolicyConfig added in v2.2.0

type EventGatewayDecryptPolicyConfig struct {
	// Describes how to handle failing encryption or decryption.
	// Use `error` if the record should be rejected if encryption or decryption
	// fails.
	// Use `passthrough` to ignore encryption or decryption failure and continue
	// proxying the record.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=error;passthrough
	FailureMode EncryptionFailureMode `json:"failureMode,omitzero"`
	// Describes how to find a symmetric key for decryption.
	//
	// +required
	KeySources []EventGatewayKeySource `json:"keySources,omitempty"`
	// Describes the parts of a record to decrypt.
	//
	// +required
	PartOfRecord []DecryptionRecordPart `json:"partOfRecord,omitempty"`
}

EventGatewayDecryptPolicyConfig The configuration of the decrypt policy.

func (*EventGatewayDecryptPolicyConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayDecryptPolicyConfig) DeepCopyInto added in v2.2.0

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

type EventGatewayEncryptConfig added in v2.2.0

type EventGatewayEncryptConfig struct {
	// The key to use for encryption.
	//
	//
	// +required
	EncryptionKey *EventGatewayEncryptConfigEncryptionKey `json:"encryptionKey,omitempty"`
	// Describes how to handle failing encryption or decryption.
	// Use `error` if the record should be rejected if encryption or decryption
	// fails.
	// Use `passthrough` to ignore encryption or decryption failure and continue
	// proxying the record.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=error;passthrough
	FailureMode EncryptionFailureMode `json:"failureMode,omitzero"`
	// Describes the parts of a record to encrypt.
	//
	// +required
	PartOfRecord []EncryptionRecordPart `json:"partOfRecord,omitempty"`
}

EventGatewayEncryptConfig The configuration of the encrypt policy.

func (*EventGatewayEncryptConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayEncryptConfig) DeepCopyInto added in v2.2.0

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

func (*EventGatewayEncryptConfig) UnmarshalJSON added in v2.2.0

func (s *EventGatewayEncryptConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayEncryptConfigEncryptionKey added in v2.2.0

type EventGatewayEncryptConfigEncryptionKey struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=aws;static
	Type EventGatewayEncryptConfigEncryptionKeyType `json:"type,omitempty"`

	// AWS configuration.
	//
	// +optional
	AWS *EncryptionKeyAWS `json:"aws,omitempty"`
	// Static configuration.
	//
	// +optional
	Static *EncryptionKeyStatic `json:"static,omitempty"`
}

EventGatewayEncryptConfigEncryptionKey represents a union type for encryption_key. Only one of the fields should be set based on the Type.

+kubebuilder:validation:XValidation:rule="self.type == 'aws' ? has(self.aws) : !has(self.aws)",message="aws must be set only when type is aws" +kubebuilder:validation:XValidation:rule="self.type == 'static' ? has(self.static) : !has(self.static)",message="static must be set only when type is static"

func (*EventGatewayEncryptConfigEncryptionKey) DeepCopy added in v2.2.0

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

func (*EventGatewayEncryptConfigEncryptionKey) DeepCopyInto added in v2.2.0

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

func (EventGatewayEncryptConfigEncryptionKey) MarshalJSON added in v2.2.0

func (u EventGatewayEncryptConfigEncryptionKey) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*EventGatewayEncryptConfigEncryptionKey) UnmarshalJSON added in v2.2.0

func (u *EventGatewayEncryptConfigEncryptionKey) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayEncryptConfigEncryptionKeyType added in v2.2.0

type EventGatewayEncryptConfigEncryptionKeyType string

EventGatewayEncryptConfigEncryptionKeyType represents the type of encryption_key.

const (
	EventGatewayEncryptConfigEncryptionKeyTypeAWS    EventGatewayEncryptConfigEncryptionKeyType = "aws"
	EventGatewayEncryptConfigEncryptionKeyTypeStatic EventGatewayEncryptConfigEncryptionKeyType = "static"
)

EventGatewayEncryptConfigEncryptionKeyType values.

type EventGatewayEncryptPolicy added in v2.2.0

type EventGatewayEncryptPolicy struct {
	// A string containing the boolean expression that determines whether the
	// policy is applied.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=1000
	Condition string `json:"condition,omitzero"`
	// The configuration of the policy.
	//
	// +required
	Config EventGatewayEncryptConfig `json:"config,omitzero"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EventGatewayEncryptPolicy Encrypts Kafka records or keys using AES_256_GCM. Keys are therefore 256 bits long.

func (*EventGatewayEncryptPolicy) DeepCopy added in v2.2.0

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

func (*EventGatewayEncryptPolicy) DeepCopyInto added in v2.2.0

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

type EventGatewayKeySource added in v2.2.0

type EventGatewayKeySource struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=aws;static
	Type EventGatewayKeySourceType `json:"type,omitempty"`

	// AWS configuration.
	//
	// +optional
	AWS *EventGatewayAWSKeySource `json:"aws,omitempty"`
	// Static configuration.
	//
	// +optional
	Static *EventGatewayStaticKeySource `json:"static,omitempty"`
}

EventGatewayKeySource represents a union type for EventGatewayKeySource. Only one of the fields should be set based on the Type.

func (*EventGatewayKeySource) DeepCopy added in v2.2.0

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

func (*EventGatewayKeySource) DeepCopyInto added in v2.2.0

func (in *EventGatewayKeySource) DeepCopyInto(out *EventGatewayKeySource)

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

func (EventGatewayKeySource) MarshalJSON added in v2.2.0

func (u EventGatewayKeySource) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*EventGatewayKeySource) UnmarshalJSON added in v2.2.0

func (u *EventGatewayKeySource) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayKeySourceType added in v2.2.0

type EventGatewayKeySourceType string

EventGatewayKeySourceType represents the type of EventGatewayKeySource.

const (
	EventGatewayKeySourceTypeAWS    EventGatewayKeySourceType = "aws"
	EventGatewayKeySourceTypeStatic EventGatewayKeySourceType = "static"
)

EventGatewayKeySourceType values.

type EventGatewayListener added in v2.2.0

type EventGatewayListener struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// +optional
	Spec EventGatewayListenerSpec `json:"spec,omitzero"`

	// +optional
	Status EventGatewayListenerStatus `json:"status,omitzero"`
}

EventGatewayListener is the Schema for the eventgatewaylisteners API.

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=kong +kubebuilder:printcolumn:name="ID",description="Konnect ID",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:storageversion +apireference:kgo:include +kong:channels=kong-operator

func (*EventGatewayListener) DeepCopy added in v2.2.0

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

func (*EventGatewayListener) DeepCopyInto added in v2.2.0

func (in *EventGatewayListener) DeepCopyInto(out *EventGatewayListener)

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

func (*EventGatewayListener) DeepCopyObject added in v2.2.0

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

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

func (*EventGatewayListener) GetAncestorIDs added in v2.2.0

func (obj *EventGatewayListener) GetAncestorIDs() map[string]string

GetAncestorIDs returns the Konnect IDs of the ancestor entities keyed by their Kind.

func (*EventGatewayListener) GetConditions added in v2.2.0

func (obj *EventGatewayListener) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*EventGatewayListener) GetEventGatewayRef added in v2.2.0

func (obj *EventGatewayListener) GetEventGatewayRef() commonv1alpha1.ObjectRef

GetEventGatewayRef returns the reference to the root EventGateway.

func (*EventGatewayListener) GetGatewayID added in v2.2.0

func (obj *EventGatewayListener) GetGatewayID() string

GetGatewayID returns the Konnect ID of the parent Gateway.

func (*EventGatewayListener) GetGatewayRef added in v2.2.0

func (obj *EventGatewayListener) GetGatewayRef() commonv1alpha1.ObjectRef

GetGatewayRef returns the reference to the root Gateway.

func (*EventGatewayListener) GetKonnectID added in v2.2.0

func (obj *EventGatewayListener) GetKonnectID() string

GetKonnectID returns the Konnect ID in the EventGatewayListener status.

func (*EventGatewayListener) GetKonnectLabels added in v2.2.0

func (obj *EventGatewayListener) GetKonnectLabels() map[string]string

GetKonnectLabels gets the Konnect labels from the object's API spec.

func (*EventGatewayListener) GetKonnectStatus added in v2.2.0

func (obj *EventGatewayListener) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the EventGatewayListener status.

func (*EventGatewayListener) GetParentGVK added in v2.2.0

func (obj *EventGatewayListener) GetParentGVK() schema.GroupVersionKind

GetParentGVK returns the GroupVersionKind of the parent entity.

func (*EventGatewayListener) GetParentRef added in v2.2.0

func (obj *EventGatewayListener) GetParentRef() commonv1alpha1.ObjectRef

GetParentRef returns the reference to the parent entity.

func (*EventGatewayListener) GetStatusConditionReasonParentRefInvalid added in v2.2.0

func (obj *EventGatewayListener) GetStatusConditionReasonParentRefInvalid() string

GetStatusConditionReasonParentRefInvalid returns the status condition reason indicating that the parent reference is invalid.

func (*EventGatewayListener) GetStatusConditionReasonParentRefNotProgrammed added in v2.2.0

func (obj *EventGatewayListener) GetStatusConditionReasonParentRefNotProgrammed() string

GetStatusConditionReasonParentRefNotProgrammed returns the status condition reason indicating that the referenced parent exists but is not yet programmed in Konnect.

func (*EventGatewayListener) GetStatusConditionReasonParentRefValid added in v2.2.0

func (obj *EventGatewayListener) GetStatusConditionReasonParentRefValid() string

GetStatusConditionReasonParentRefValid returns the status condition reason indicating that the parent reference is valid.

func (*EventGatewayListener) GetStatusConditionTypeParentRefValid added in v2.2.0

func (obj *EventGatewayListener) GetStatusConditionTypeParentRefValid() string

GetStatusConditionTypeParentRefValid returns the status condition type indicating whether the parent reference is valid.

func (EventGatewayListener) GetTypeName added in v2.2.0

func (obj EventGatewayListener) GetTypeName() string

GetTypeName returns the EventGatewayListener Kind name.

func (EventGatewayListener) HasParent added in v2.2.0

func (obj EventGatewayListener) HasParent() bool

HasParent returns true if the EventGatewayListener has a parent entity.

func (*EventGatewayListener) PersistsKonnectID added in v2.2.0

func (*EventGatewayListener) PersistsKonnectID() bool

PersistsKonnectID reports whether EventGatewayListener persists a Konnect ID in status.

func (*EventGatewayListener) SetConditions added in v2.2.0

func (obj *EventGatewayListener) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*EventGatewayListener) SetGatewayID added in v2.2.0

func (obj *EventGatewayListener) SetGatewayID(id string)

SetGatewayID sets the Konnect ID of the parent Gateway.

func (*EventGatewayListener) SetKonnectID added in v2.2.0

func (obj *EventGatewayListener) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the EventGatewayListener status.

func (*EventGatewayListener) SetKonnectLabels added in v2.2.0

func (obj *EventGatewayListener) SetKonnectLabels(labels map[string]string)

SetKonnectLabels sets the Konnect labels in the object's API spec.

func (*EventGatewayListener) SetParentID added in v2.2.0

func (obj *EventGatewayListener) SetParentID(id string)

SetParentID sets the Konnect ID of the immediate parent entity.

type EventGatewayListenerAPISpec added in v2.2.0

type EventGatewayListenerAPISpec struct {
	// Which address or addresses to listen on.
	// `0.0.0.0` means all addresses on the host.
	// `::` means all addresses on the host in IPv6.
	//
	// If `0.0.0.0` or `::` is used, there can't be other extra addresses defined.
	// WARNING: there are use cases where listening on all addresses is insecure.
	// So use this with caution.
	//
	// `localhost` means only the localhost ipv4 address.
	//
	//
	// +required
	Addresses []string `json:"addresses,omitempty"`

	// A human-readable description of the listener.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`

	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`

	// The unique name of the listener.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`

	// Which port or ports to listen on.
	// There can be multiple ways to define ports:
	// - as a single port, e.g. 9092
	// - as a range of ports, e.g. 9092-9094
	//
	// It's possible to combine both, e.g. [9092, "9093-9095", 9096].
	//
	//
	// +required
	Ports []EventGatewayListenerPort `json:"ports,omitempty"`
}

EventGatewayListenerAPISpec defines the API spec fields for EventGatewayListener.

func (*EventGatewayListenerAPISpec) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerAPISpec) DeepCopyInto added in v2.2.0

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

func (*EventGatewayListenerAPISpec) ToCreateEventGatewayListenerRequest added in v2.2.0

func (s *EventGatewayListenerAPISpec) ToCreateEventGatewayListenerRequest() (*sdkkonnectcomp.CreateEventGatewayListenerRequest, error)

ToCreateEventGatewayListenerRequest converts the EventGatewayListenerAPISpec to the SDK type sdkkonnectcomp.CreateEventGatewayListenerRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayListenerAPISpec) ToUpdateEventGatewayListenerRequest added in v2.2.0

func (s *EventGatewayListenerAPISpec) ToUpdateEventGatewayListenerRequest() (*sdkkonnectcomp.UpdateEventGatewayListenerRequest, error)

ToUpdateEventGatewayListenerRequest converts the EventGatewayListenerAPISpec to the SDK type sdkkonnectcomp.UpdateEventGatewayListenerRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

type EventGatewayListenerList added in v2.2.0

type EventGatewayListenerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []EventGatewayListener `json:"items"`
}

EventGatewayListenerList contains a list of EventGatewayListener.

+kubebuilder:object:root=true

func (*EventGatewayListenerList) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerList) DeepCopyInto added in v2.2.0

func (in *EventGatewayListenerList) DeepCopyInto(out *EventGatewayListenerList)

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

func (*EventGatewayListenerList) DeepCopyObject added in v2.2.0

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

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

func (EventGatewayListenerList) GetItems added in v2.2.0

GetItems returns the list of EventGatewayListener items.

type EventGatewayListenerPolicy added in v2.2.0

type EventGatewayListenerPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// +optional
	Spec EventGatewayListenerPolicySpec `json:"spec,omitzero"`

	// +optional
	Status EventGatewayListenerPolicyStatus `json:"status,omitzero"`
}

EventGatewayListenerPolicy is the Schema for the eventgatewaylistenerpolicys API.

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=kong +kubebuilder:printcolumn:name="ID",description="Konnect ID",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:storageversion +apireference:kgo:include +kong:channels=kong-operator

func (*EventGatewayListenerPolicy) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerPolicy) DeepCopyInto added in v2.2.0

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

func (*EventGatewayListenerPolicy) DeepCopyObject added in v2.2.0

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

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

func (*EventGatewayListenerPolicy) GetAncestorIDs added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetAncestorIDs() map[string]string

GetAncestorIDs returns the Konnect IDs of the ancestor entities keyed by their Kind.

func (*EventGatewayListenerPolicy) GetConditions added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*EventGatewayListenerPolicy) GetEventGatewayListenerID added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetEventGatewayListenerID() string

GetEventGatewayListenerID returns the Konnect ID of the parent EventGatewayListener.

func (*EventGatewayListenerPolicy) GetEventGatewayListenerRef added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetEventGatewayListenerRef() commonv1alpha1.ObjectRef

GetEventGatewayListenerRef returns the reference to the root EventGatewayListener.

func (*EventGatewayListenerPolicy) GetGatewayID added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetGatewayID() string

GetGatewayID returns the Konnect ID of the parent Gateway.

func (*EventGatewayListenerPolicy) GetKonnectID added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetKonnectID() string

GetKonnectID returns the Konnect ID in the EventGatewayListenerPolicy status.

func (*EventGatewayListenerPolicy) GetKonnectStatus added in v2.2.0

GetKonnectStatus returns the Konnect status contained in the EventGatewayListenerPolicy status.

func (*EventGatewayListenerPolicy) GetParentGVK added in v2.2.0

GetParentGVK returns the GroupVersionKind of the parent entity.

func (*EventGatewayListenerPolicy) GetParentRef added in v2.2.0

GetParentRef returns the reference to the parent entity.

func (*EventGatewayListenerPolicy) GetSensitiveDataSecretRefs added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetSensitiveDataSecretRefs() []SensitiveDataSecretRef

GetSensitiveDataSecretRefs returns all Secret references used to populate sensitive SDK payload fields.

func (*EventGatewayListenerPolicy) GetStatusConditionReasonParentRefInvalid added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetStatusConditionReasonParentRefInvalid() string

GetStatusConditionReasonParentRefInvalid returns the status condition reason indicating that the parent reference is invalid.

func (*EventGatewayListenerPolicy) GetStatusConditionReasonParentRefNotProgrammed added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetStatusConditionReasonParentRefNotProgrammed() string

GetStatusConditionReasonParentRefNotProgrammed returns the status condition reason indicating that the referenced parent exists but is not yet programmed in Konnect.

func (*EventGatewayListenerPolicy) GetStatusConditionReasonParentRefValid added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetStatusConditionReasonParentRefValid() string

GetStatusConditionReasonParentRefValid returns the status condition reason indicating that the parent reference is valid.

func (*EventGatewayListenerPolicy) GetStatusConditionTypeParentRefValid added in v2.2.0

func (obj *EventGatewayListenerPolicy) GetStatusConditionTypeParentRefValid() string

GetStatusConditionTypeParentRefValid returns the status condition type indicating whether the parent reference is valid.

func (EventGatewayListenerPolicy) GetTypeName added in v2.2.0

func (obj EventGatewayListenerPolicy) GetTypeName() string

GetTypeName returns the EventGatewayListenerPolicy Kind name.

func (EventGatewayListenerPolicy) HasParent added in v2.2.0

func (obj EventGatewayListenerPolicy) HasParent() bool

HasParent returns true if the EventGatewayListenerPolicy has a parent entity.

func (*EventGatewayListenerPolicy) PersistsKonnectID added in v2.2.0

func (*EventGatewayListenerPolicy) PersistsKonnectID() bool

PersistsKonnectID reports whether EventGatewayListenerPolicy persists a Konnect ID in status.

func (*EventGatewayListenerPolicy) SetAncestorID added in v2.2.0

func (obj *EventGatewayListenerPolicy) SetAncestorID(kind, id string)

SetAncestorID sets the Konnect ID for the ancestor entity identified by kind.

func (*EventGatewayListenerPolicy) SetConditions added in v2.2.0

func (obj *EventGatewayListenerPolicy) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*EventGatewayListenerPolicy) SetEventGatewayListenerID added in v2.2.0

func (obj *EventGatewayListenerPolicy) SetEventGatewayListenerID(id string)

SetEventGatewayListenerID sets the Konnect ID of the parent EventGatewayListener.

func (*EventGatewayListenerPolicy) SetGatewayID added in v2.2.0

func (obj *EventGatewayListenerPolicy) SetGatewayID(id string)

SetGatewayID sets the Konnect ID of the parent Gateway.

func (*EventGatewayListenerPolicy) SetKonnectID added in v2.2.0

func (obj *EventGatewayListenerPolicy) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the EventGatewayListenerPolicy status.

func (*EventGatewayListenerPolicy) SetParentID added in v2.2.0

func (obj *EventGatewayListenerPolicy) SetParentID(id string)

SetParentID sets the Konnect ID of the immediate parent entity.

func (*EventGatewayListenerPolicy) ToCreateEventGatewayListenerPolicyRequest added in v2.2.0

func (obj *EventGatewayListenerPolicy) ToCreateEventGatewayListenerPolicyRequest(ctx context.Context, cl client.Client) (*sdkkonnectoper.CreateEventGatewayListenerPolicyRequest, error)

ToCreateEventGatewayListenerPolicyRequest converts the EventGatewayListenerPolicy to the SDK type sdkkonnectoper.CreateEventGatewayListenerPolicyRequest, resolving referenced Secrets via the provided client.

func (*EventGatewayListenerPolicy) ToUpdateEventGatewayListenerPolicyRequest added in v2.2.0

func (obj *EventGatewayListenerPolicy) ToUpdateEventGatewayListenerPolicyRequest(ctx context.Context, cl client.Client) (*sdkkonnectoper.UpdateEventGatewayListenerPolicyRequest, error)

ToUpdateEventGatewayListenerPolicyRequest converts the EventGatewayListenerPolicy to the SDK type sdkkonnectoper.UpdateEventGatewayListenerPolicyRequest, resolving referenced Secrets via the provided client.

type EventGatewayListenerPolicyAPISpec added in v2.2.0

type EventGatewayListenerPolicyAPISpec struct {
	// EventGatewayListenerPolicyConfig embeds the union type configuration.
	//
	// +optional
	*EventGatewayListenerPolicyConfig `json:",inline"`
}

EventGatewayListenerPolicyAPISpec defines the API spec fields for EventGatewayListenerPolicy.

func (*EventGatewayListenerPolicyAPISpec) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerPolicyAPISpec) DeepCopyInto added in v2.2.0

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

func (*EventGatewayListenerPolicyAPISpec) MarshalJSON added in v2.2.0

func (s *EventGatewayListenerPolicyAPISpec) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*EventGatewayListenerPolicyAPISpec) ToCreateEventGatewayListenerPolicyRequest added in v2.2.0

func (s *EventGatewayListenerPolicyAPISpec) ToCreateEventGatewayListenerPolicyRequest() (*sdkkonnectoper.CreateEventGatewayListenerPolicyRequest, error)

ToCreateEventGatewayListenerPolicyRequest converts the EventGatewayListenerPolicyAPISpec to the SDK type sdkkonnectoper.CreateEventGatewayListenerPolicyRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayListenerPolicyAPISpec) ToUpdateEventGatewayListenerPolicyRequest added in v2.2.0

func (s *EventGatewayListenerPolicyAPISpec) ToUpdateEventGatewayListenerPolicyRequest() (*sdkkonnectoper.UpdateEventGatewayListenerPolicyRequest, error)

ToUpdateEventGatewayListenerPolicyRequest converts the EventGatewayListenerPolicyAPISpec to the SDK type sdkkonnectoper.UpdateEventGatewayListenerPolicyRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayListenerPolicyAPISpec) UnmarshalJSON added in v2.2.0

func (s *EventGatewayListenerPolicyAPISpec) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayListenerPolicyConfig added in v2.2.0

type EventGatewayListenerPolicyConfig struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=forwardToVirtualCluster;tlsServer
	Type EventGatewayListenerPolicyConfigType `json:"type,omitempty"`

	// ForwardToVirtualClust configuration.
	//
	// +optional
	ForwardToVirtualClust *ForwardToVirtualClusterPolicy `json:"forwardToVirtualCluster,omitempty"`
	// EventGatewayTLSListen configuration.
	//
	// +optional
	EventGatewayTLSListen *EventGatewayTLSListenerPolicy `json:"tlsServer,omitempty"`
}

EventGatewayListenerPolicyConfig represents a union type for EventGatewayListenerPolicyConfig. Only one of the fields should be set based on the Type.

func (*EventGatewayListenerPolicyConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerPolicyConfig) DeepCopyInto added in v2.2.0

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

func (EventGatewayListenerPolicyConfig) MarshalJSON added in v2.2.0

func (u EventGatewayListenerPolicyConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*EventGatewayListenerPolicyConfig) UnmarshalJSON added in v2.2.0

func (u *EventGatewayListenerPolicyConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayListenerPolicyConfigType added in v2.2.0

type EventGatewayListenerPolicyConfigType string

EventGatewayListenerPolicyConfigType represents the type of EventGatewayListenerPolicyConfig.

const (
	EventGatewayListenerPolicyConfigTypeForwardToVirtualClust EventGatewayListenerPolicyConfigType = "forwardToVirtualCluster"
	EventGatewayListenerPolicyConfigTypeEventGatewayTLSListen EventGatewayListenerPolicyConfigType = "tlsServer"
)

EventGatewayListenerPolicyConfigType values.

type EventGatewayListenerPolicyList added in v2.2.0

type EventGatewayListenerPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []EventGatewayListenerPolicy `json:"items"`
}

EventGatewayListenerPolicyList contains a list of EventGatewayListenerPolicy.

+kubebuilder:object:root=true

func (*EventGatewayListenerPolicyList) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerPolicyList) DeepCopyInto added in v2.2.0

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

func (*EventGatewayListenerPolicyList) DeepCopyObject added in v2.2.0

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

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

func (EventGatewayListenerPolicyList) GetItems added in v2.2.0

GetItems returns the list of EventGatewayListenerPolicy items.

type EventGatewayListenerPolicySDKOpsBoolField added in v2.2.0

type EventGatewayListenerPolicySDKOpsBoolField struct {
	Label string
	Path  []string
}

EventGatewayListenerPolicySDKOpsBoolField describes a boolean enum field that must be normalized for SDK payloads.

func (*EventGatewayListenerPolicySDKOpsBoolField) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerPolicySDKOpsBoolField) DeepCopyInto added in v2.2.0

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

type EventGatewayListenerPolicySpec added in v2.2.0

type EventGatewayListenerPolicySpec struct {
	// EventGatewayListenerRef is the reference to the parent EventGatewayListener object.
	//
	// +required
	EventGatewayListenerRef commonv1alpha1.ObjectRef `json:"eventGatewayListenerRef,omitzero"`

	// APISpec defines the desired state of the resource's API spec fields.
	//
	// +optional
	APISpec EventGatewayListenerPolicyAPISpec `json:"apiSpec,omitzero"`
}

EventGatewayListenerPolicySpec defines the desired state of EventGatewayListenerPolicy.

func (*EventGatewayListenerPolicySpec) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerPolicySpec) DeepCopyInto added in v2.2.0

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

type EventGatewayListenerPolicyStatus added in v2.2.0

type EventGatewayListenerPolicyStatus struct {
	// Conditions represent the current state of the resource.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Konnect contains the Konnect entity status.
	//
	// +optional
	KonnectEntityStatus `json:",inline"`

	// GatewayID is the Konnect ID of the parent Gateway.
	//
	// +optional
	GatewayID *KonnectEntityRef `json:"gatewayID,omitempty"`

	// EventGatewayListenerID is the Konnect ID of the parent EventGatewayListener.
	//
	// +optional
	EventGatewayListenerID *KonnectEntityRef `json:"eventGatewayListenerID,omitempty"`

	// ObservedGeneration is the most recent generation observed
	//
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitzero"`
}

EventGatewayListenerPolicyStatus defines the observed state of EventGatewayListenerPolicy.

func (*EventGatewayListenerPolicyStatus) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerPolicyStatus) DeepCopyInto added in v2.2.0

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

type EventGatewayListenerPort added in v2.2.0

type EventGatewayListenerPort = intstr.IntOrString

EventGatewayListenerPort is a type alias.

+kubebuilder:validation:XIntOrString

type EventGatewayListenerSpec added in v2.2.0

type EventGatewayListenerSpec struct {
	// GatewayRef is the reference to the parent Gateway object.
	//
	// +required
	GatewayRef commonv1alpha1.ObjectRef `json:"gatewayRef,omitzero"`

	// APISpec defines the desired state of the resource's API spec fields.
	//
	// +optional
	APISpec EventGatewayListenerAPISpec `json:"apiSpec,omitzero"`
}

EventGatewayListenerSpec defines the desired state of EventGatewayListener.

func (*EventGatewayListenerSpec) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerSpec) DeepCopyInto added in v2.2.0

func (in *EventGatewayListenerSpec) DeepCopyInto(out *EventGatewayListenerSpec)

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

type EventGatewayListenerStatus added in v2.2.0

type EventGatewayListenerStatus struct {
	// Conditions represent the current state of the resource.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Konnect contains the Konnect entity status.
	//
	// +optional
	KonnectEntityStatus `json:",inline"`

	// GatewayID is the Konnect ID of the parent Gateway.
	//
	// +optional
	GatewayID *KonnectEntityRef `json:"gatewayID,omitempty"`

	// ObservedGeneration is the most recent generation observed
	//
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitzero"`
}

EventGatewayListenerStatus defines the observed state of EventGatewayListener.

func (*EventGatewayListenerStatus) DeepCopy added in v2.2.0

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

func (*EventGatewayListenerStatus) DeepCopyInto added in v2.2.0

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

type EventGatewayModifyHeaderAction added in v2.2.0

type EventGatewayModifyHeaderAction struct {
	// Op designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=remove;set
	Op EventGatewayModifyHeaderActionType `json:"op,omitempty"`

	// Remove configuration.
	//
	// +optional
	Remove *EventGatewayModifyHeaderRemoveAction `json:"remove,omitempty"`
	// Set configuration.
	//
	// +optional
	Set *EventGatewayModifyHeaderSetAction `json:"set,omitempty"`
}

EventGatewayModifyHeaderAction represents a union type for EventGatewayModifyHeaderAction. Only one of the fields should be set based on the Op.

func (*EventGatewayModifyHeaderAction) DeepCopy added in v2.2.0

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

func (*EventGatewayModifyHeaderAction) DeepCopyInto added in v2.2.0

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

func (EventGatewayModifyHeaderAction) MarshalJSON added in v2.2.0

func (u EventGatewayModifyHeaderAction) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*EventGatewayModifyHeaderAction) UnmarshalJSON added in v2.2.0

func (u *EventGatewayModifyHeaderAction) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayModifyHeaderActionType added in v2.2.0

type EventGatewayModifyHeaderActionType string

EventGatewayModifyHeaderActionType represents the type of EventGatewayModifyHeaderAction.

const (
	EventGatewayModifyHeaderActionTypeRemove EventGatewayModifyHeaderActionType = "remove"
	EventGatewayModifyHeaderActionTypeSet    EventGatewayModifyHeaderActionType = "set"
)

EventGatewayModifyHeaderActionType values.

type EventGatewayModifyHeaderRemoveAction added in v2.2.0

type EventGatewayModifyHeaderRemoveAction struct {
	// The key of the header to remove.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Key string `json:"key,omitzero"`
}

EventGatewayModifyHeaderRemoveAction An action that removes a header by key.

func (*EventGatewayModifyHeaderRemoveAction) DeepCopy added in v2.2.0

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

func (*EventGatewayModifyHeaderRemoveAction) DeepCopyInto added in v2.2.0

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

type EventGatewayModifyHeaderSetAction added in v2.2.0

type EventGatewayModifyHeaderSetAction struct {
	// The key of the header to set.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Key string `json:"key,omitzero"`
	// The value of the header to set.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Value string `json:"value,omitzero"`
}

EventGatewayModifyHeaderSetAction An action that sets a header key and value.

func (*EventGatewayModifyHeaderSetAction) DeepCopy added in v2.2.0

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

func (*EventGatewayModifyHeaderSetAction) DeepCopyInto added in v2.2.0

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

type EventGatewayModifyHeadersPolicyCreate added in v2.2.0

type EventGatewayModifyHeadersPolicyCreate struct {
	// A string containing the boolean expression that determines whether the
	// policy is applied.
	//
	// When the policy is applied as a child policy of schema_validation, the
	// expression can also reference
	// `record.value` fields.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=1000
	Condition string `json:"condition,omitzero"`
	// The configuration of the modify headers policy.
	//
	// +required
	Config EventGatewayModifyHeadersPolicyCreateConfig `json:"config,omitzero"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EventGatewayModifyHeadersPolicyCreate A policy that modifies headers for requests.

func (*EventGatewayModifyHeadersPolicyCreate) DeepCopy added in v2.2.0

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

func (*EventGatewayModifyHeadersPolicyCreate) DeepCopyInto added in v2.2.0

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

type EventGatewayModifyHeadersPolicyCreateConfig added in v2.2.0

type EventGatewayModifyHeadersPolicyCreateConfig struct {
	// Actions are run in sequential order and act on individual headers.
	//
	// +optional
	Actions []EventGatewayModifyHeaderAction `json:"actions,omitempty"`
}

EventGatewayModifyHeadersPolicyCreateConfig The configuration of the modify headers policy.

func (*EventGatewayModifyHeadersPolicyCreateConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayModifyHeadersPolicyCreateConfig) DeepCopyInto added in v2.2.0

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

type EventGatewayParsedRecordDecryptFieldsConfig added in v2.2.0

type EventGatewayParsedRecordDecryptFieldsConfig struct {
	// Selects which fields to decrypt.
	//
	// +required
	DecryptFields []EventGatewayParsedRecordDecryptionSelector `json:"decryptFields,omitempty"`
	// Describes how to handle a failure in a policy applied to consumed records.
	// * `error` - the batch is not delivered to the client.
	// Use sparingly: erroring on a batch causes clients to get stuck on the
	// problematic offset and requires manual intervention to skip it.
	// * `skip` - the record is not delivered to the client.
	// * `passthrough` - passes the record to the client even though policy
	// execution failed.
	// * `mark` - passes the record to the client but marks it with a
	// `kong/policy-failure-<id>` header whose value is the reason for the policy
	// failure (truncated to 512 characters).
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=error;skip;passthrough;mark
	FailureMode ConsumeFailureMode `json:"failureMode,omitzero"`
	// Describes how to find a symmetric key for decryption.
	//
	// +required
	KeySources []EventGatewayKeySource `json:"keySources,omitempty"`
}

EventGatewayParsedRecordDecryptFieldsConfig The configuration of the decrypt parsed record fields policy.

func (*EventGatewayParsedRecordDecryptFieldsConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayParsedRecordDecryptFieldsConfig) DeepCopyInto added in v2.2.0

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

type EventGatewayParsedRecordDecryptFieldsPolicyCreate added in v2.2.0

type EventGatewayParsedRecordDecryptFieldsPolicyCreate struct {
	// A string containing the boolean expression that determines whether the
	// policy is applied.
	//
	// When the policy is applied as a child policy of schema_validation, the
	// expression can also reference
	// `record.value` fields.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=1000
	Condition string `json:"condition,omitzero"`
	// The configuration of the policy.
	//
	// +required
	Config EventGatewayParsedRecordDecryptFieldsConfig `json:"config,omitzero"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EventGatewayParsedRecordDecryptFieldsPolicyCreate Decrypts fields of parsed Kafka records using AES_256_GCM. Keys are therefore 256 bits long.

Note this policy can only be used as a child of a `EventGatewayConsumeSchemaValidationPolicy` policy.

**Requires a minimum runtime version of `1.2`**.

func (*EventGatewayParsedRecordDecryptFieldsPolicyCreate) DeepCopy added in v2.2.0

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

func (*EventGatewayParsedRecordDecryptFieldsPolicyCreate) DeepCopyInto added in v2.2.0

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

type EventGatewayParsedRecordDecryptionSelector added in v2.2.0

type EventGatewayParsedRecordDecryptionSelector struct {
	// Selects which fields of the parsed record to decrypt.
	// A maximum of 50 path entries are allowed.
	//
	// +required
	Paths *EventGatewayParsedRecordDecryptionSelectorPaths `json:"paths,omitempty"`
}

EventGatewayParsedRecordDecryptionSelector Selects fields of a parsed record for decryption.

func (*EventGatewayParsedRecordDecryptionSelector) DeepCopy added in v2.2.0

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

func (*EventGatewayParsedRecordDecryptionSelector) DeepCopyInto added in v2.2.0

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

func (*EventGatewayParsedRecordDecryptionSelector) UnmarshalJSON added in v2.2.0

func (s *EventGatewayParsedRecordDecryptionSelector) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayParsedRecordDecryptionSelectorPaths added in v2.2.0

type EventGatewayParsedRecordDecryptionSelectorPaths struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=variant1;variant2
	Type EventGatewayParsedRecordDecryptionSelectorPathsType `json:"type,omitempty"`

	// Variant1 configuration.
	//
	// +optional
	Variant1 *EventGatewayParsedRecordDecryptionSelectorPathsVariant1 `json:"variant1,omitempty"`
	// Variant2 configuration.
	//
	// +optional
	Variant2 *EventGatewayParsedRecordDecryptionSelectorPathsVariant2 `json:"variant2,omitempty"`
}

EventGatewayParsedRecordDecryptionSelectorPaths represents a union type for paths. Only one of the fields should be set based on the Type.

func (*EventGatewayParsedRecordDecryptionSelectorPaths) DeepCopy added in v2.2.0

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

func (*EventGatewayParsedRecordDecryptionSelectorPaths) DeepCopyInto added in v2.2.0

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

func (EventGatewayParsedRecordDecryptionSelectorPaths) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayParsedRecordDecryptionSelectorPaths) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayParsedRecordDecryptionSelectorPathsType added in v2.2.0

type EventGatewayParsedRecordDecryptionSelectorPathsType string

EventGatewayParsedRecordDecryptionSelectorPathsType represents the type of paths.

const (
	EventGatewayParsedRecordDecryptionSelectorPathsTypeVariant1 EventGatewayParsedRecordDecryptionSelectorPathsType = "variant1"
	EventGatewayParsedRecordDecryptionSelectorPathsTypeVariant2 EventGatewayParsedRecordDecryptionSelectorPathsType = "variant2"
)

EventGatewayParsedRecordDecryptionSelectorPathsType values.

type EventGatewayParsedRecordDecryptionSelectorPathsVariant1 added in v2.2.0

type EventGatewayParsedRecordDecryptionSelectorPathsVariant1 []apiextensionsv1.JSON

EventGatewayParsedRecordDecryptionSelectorPathsVariant1 is a type alias.

func (EventGatewayParsedRecordDecryptionSelectorPathsVariant1) DeepCopy added in v2.2.0

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

func (EventGatewayParsedRecordDecryptionSelectorPathsVariant1) DeepCopyInto added in v2.2.0

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

type EventGatewayParsedRecordDecryptionSelectorPathsVariant2 added in v2.2.0

type EventGatewayParsedRecordDecryptionSelectorPathsVariant2 string

EventGatewayParsedRecordDecryptionSelectorPathsVariant2 This expression should evaluate to an array of exact field paths, equivalent to the `match` values in the array variant.

type EventGatewayParsedRecordEncryptFieldsConfig added in v2.2.0

type EventGatewayParsedRecordEncryptFieldsConfig struct {
	// Selects which fields to encrypt and with what keys.
	//
	// +required
	EncryptFields []EventGatewayParsedRecordEncryptionSelector `json:"encryptFields,omitempty"`
	// Describes how to handle a failure in a policy applied to produced records.
	// * `reject` - rejects the record batch.
	// * `passthrough` - passes the record silently to the backend cluster even
	// though policy execution failed.
	// * `mark` - passes the record to the backend cluster but marks it with a
	// `kong/policy-failure-<id>` header whose value is the reason for the policy
	// failure (truncated to 512 characters).
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=reject;passthrough;mark
	FailureMode ProduceFailureMode `json:"failureMode,omitzero"`
}

EventGatewayParsedRecordEncryptFieldsConfig The configuration of the encrypt parsed record policy.

func (*EventGatewayParsedRecordEncryptFieldsConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayParsedRecordEncryptFieldsConfig) DeepCopyInto added in v2.2.0

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

type EventGatewayParsedRecordEncryptFieldsPolicyCreate added in v2.2.0

type EventGatewayParsedRecordEncryptFieldsPolicyCreate struct {
	// A string containing the boolean expression that determines whether the
	// policy is applied.
	//
	// When the policy is applied as a child policy of schema_validation, the
	// expression can also reference
	// `record.value` fields.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=1000
	Condition string `json:"condition,omitzero"`
	// The configuration of the policy.
	//
	// +required
	Config EventGatewayParsedRecordEncryptFieldsConfig `json:"config,omitzero"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EventGatewayParsedRecordEncryptFieldsPolicyCreate Encrypts fields of parsed Kafka records using AES_256_GCM. Keys are therefore 256 bits long.

Note this policy can only be used as a child of a `EventGatewayProduceSchemaValidationPolicy` policy.

**Requires a minimum runtime version of `1.2`**.

func (*EventGatewayParsedRecordEncryptFieldsPolicyCreate) DeepCopy added in v2.2.0

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

func (*EventGatewayParsedRecordEncryptFieldsPolicyCreate) DeepCopyInto added in v2.2.0

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

type EventGatewayParsedRecordEncryptionSelector added in v2.2.0

type EventGatewayParsedRecordEncryptionSelector struct {
	// The key to use for encryption.
	//
	//
	// +required
	EncryptionKey *EventGatewayParsedRecordEncryptionSelectorEncryptionKey `json:"encryptionKey,omitempty"`
	// Selects which fields of the parsed record to encrypt.
	// A maximum of 50 path entries are allowed.
	//
	// +required
	Paths *EventGatewayParsedRecordEncryptionSelectorPaths `json:"paths,omitempty"`
}

EventGatewayParsedRecordEncryptionSelector Selects fields of a parsed record for encryption and defines what key to encrypt them with.

func (*EventGatewayParsedRecordEncryptionSelector) DeepCopy added in v2.2.0

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

func (*EventGatewayParsedRecordEncryptionSelector) DeepCopyInto added in v2.2.0

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

func (*EventGatewayParsedRecordEncryptionSelector) UnmarshalJSON added in v2.2.0

func (s *EventGatewayParsedRecordEncryptionSelector) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayParsedRecordEncryptionSelectorEncryptionKey added in v2.2.0

type EventGatewayParsedRecordEncryptionSelectorEncryptionKey struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=aws;static
	Type EventGatewayParsedRecordEncryptionSelectorEncryptionKeyType `json:"type,omitempty"`

	// AWS configuration.
	//
	// +optional
	AWS *EncryptionKeyAWS `json:"aws,omitempty"`
	// Static configuration.
	//
	// +optional
	Static *EncryptionKeyStatic `json:"static,omitempty"`
}

EventGatewayParsedRecordEncryptionSelectorEncryptionKey represents a union type for encryption_key. Only one of the fields should be set based on the Type.

func (*EventGatewayParsedRecordEncryptionSelectorEncryptionKey) DeepCopy added in v2.2.0

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

func (*EventGatewayParsedRecordEncryptionSelectorEncryptionKey) DeepCopyInto added in v2.2.0

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

func (EventGatewayParsedRecordEncryptionSelectorEncryptionKey) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayParsedRecordEncryptionSelectorEncryptionKey) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayParsedRecordEncryptionSelectorEncryptionKeyType added in v2.2.0

type EventGatewayParsedRecordEncryptionSelectorEncryptionKeyType string

EventGatewayParsedRecordEncryptionSelectorEncryptionKeyType represents the type of encryption_key.

const (
	EventGatewayParsedRecordEncryptionSelectorEncryptionKeyTypeAWS    EventGatewayParsedRecordEncryptionSelectorEncryptionKeyType = "aws"
	EventGatewayParsedRecordEncryptionSelectorEncryptionKeyTypeStatic EventGatewayParsedRecordEncryptionSelectorEncryptionKeyType = "static"
)

EventGatewayParsedRecordEncryptionSelectorEncryptionKeyType values.

type EventGatewayParsedRecordEncryptionSelectorPaths added in v2.2.0

type EventGatewayParsedRecordEncryptionSelectorPaths struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=variant1;variant2
	Type EventGatewayParsedRecordEncryptionSelectorPathsType `json:"type,omitempty"`

	// Variant1 configuration.
	//
	// +optional
	Variant1 *EventGatewayParsedRecordEncryptionSelectorPathsVariant1 `json:"variant1,omitempty"`
	// Variant2 configuration.
	//
	// +optional
	Variant2 *EventGatewayParsedRecordEncryptionSelectorPathsVariant2 `json:"variant2,omitempty"`
}

EventGatewayParsedRecordEncryptionSelectorPaths represents a union type for paths. Only one of the fields should be set based on the Type.

func (*EventGatewayParsedRecordEncryptionSelectorPaths) DeepCopy added in v2.2.0

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

func (*EventGatewayParsedRecordEncryptionSelectorPaths) DeepCopyInto added in v2.2.0

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

func (EventGatewayParsedRecordEncryptionSelectorPaths) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayParsedRecordEncryptionSelectorPaths) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayParsedRecordEncryptionSelectorPathsType added in v2.2.0

type EventGatewayParsedRecordEncryptionSelectorPathsType string

EventGatewayParsedRecordEncryptionSelectorPathsType represents the type of paths.

const (
	EventGatewayParsedRecordEncryptionSelectorPathsTypeVariant1 EventGatewayParsedRecordEncryptionSelectorPathsType = "variant1"
	EventGatewayParsedRecordEncryptionSelectorPathsTypeVariant2 EventGatewayParsedRecordEncryptionSelectorPathsType = "variant2"
)

EventGatewayParsedRecordEncryptionSelectorPathsType values.

type EventGatewayParsedRecordEncryptionSelectorPathsVariant1 added in v2.2.0

type EventGatewayParsedRecordEncryptionSelectorPathsVariant1 []apiextensionsv1.JSON

EventGatewayParsedRecordEncryptionSelectorPathsVariant1 is a type alias.

func (EventGatewayParsedRecordEncryptionSelectorPathsVariant1) DeepCopy added in v2.2.0

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

func (EventGatewayParsedRecordEncryptionSelectorPathsVariant1) DeepCopyInto added in v2.2.0

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

type EventGatewayParsedRecordEncryptionSelectorPathsVariant2 added in v2.2.0

type EventGatewayParsedRecordEncryptionSelectorPathsVariant2 string

EventGatewayParsedRecordEncryptionSelectorPathsVariant2 This expression should evaluate to an array of exact field paths, equivalent to the `match` values in the array variant.

type EventGatewayProduceSchemaValidationPolicy added in v2.2.0

type EventGatewayProduceSchemaValidationPolicy struct {
	// A string containing the boolean expression that determines whether the
	// policy is applied.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=1000
	Condition string `json:"condition,omitzero"`
	// The configuration of the policy.
	//
	// +required
	Config *EventGatewayProduceSchemaValidationPolicyConfig `json:"config,omitempty"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EventGatewayProduceSchemaValidationPolicy A policy that validates produce messages against a schema registry.

func (*EventGatewayProduceSchemaValidationPolicy) DeepCopy added in v2.2.0

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

func (*EventGatewayProduceSchemaValidationPolicy) DeepCopyInto added in v2.2.0

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

func (*EventGatewayProduceSchemaValidationPolicy) UnmarshalJSON added in v2.2.0

func (s *EventGatewayProduceSchemaValidationPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayProduceSchemaValidationPolicyConfig added in v2.2.0

type EventGatewayProduceSchemaValidationPolicyConfig struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=confluentSchemaRegistry;json
	Type EventGatewayProduceSchemaValidationPolicyConfigType `json:"type,omitempty"`

	// SchemaRegistry configuration.
	//
	// +optional
	SchemaRegistry *EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig `json:"confluentSchemaRegistry,omitempty"`
	// JSON configuration.
	//
	// +optional
	JSON *EventGatewayProduceSchemaValidationPolicyJSONConfig `json:"json,omitempty"`
}

EventGatewayProduceSchemaValidationPolicyConfig represents a union type for EventGatewayProduceSchemaValidationPolicyConfig. Only one of the fields should be set based on the Type.

func (*EventGatewayProduceSchemaValidationPolicyConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayProduceSchemaValidationPolicyConfig) DeepCopyInto added in v2.2.0

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

func (EventGatewayProduceSchemaValidationPolicyConfig) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayProduceSchemaValidationPolicyConfig) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayProduceSchemaValidationPolicyConfigType added in v2.2.0

type EventGatewayProduceSchemaValidationPolicyConfigType string

EventGatewayProduceSchemaValidationPolicyConfigType represents the type of EventGatewayProduceSchemaValidationPolicyConfig.

const (
	EventGatewayProduceSchemaValidationPolicyConfigTypeSchemaRegistry EventGatewayProduceSchemaValidationPolicyConfigType = "confluentSchemaRegistry"
	EventGatewayProduceSchemaValidationPolicyConfigTypeJSON           EventGatewayProduceSchemaValidationPolicyConfigType = "json"
)

EventGatewayProduceSchemaValidationPolicyConfigType values.

type EventGatewayProduceSchemaValidationPolicyJSONConfig added in v2.2.0

type EventGatewayProduceSchemaValidationPolicyJSONConfig struct {
	// Defines a behavior when record key is not valid.
	// * reject - rejects a batch for topic partition. Only available for produce.
	// * mark - marks a record with kong/server header and client ID value
	//
	//
	// to help to identify the clients violating schema.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=reject;mark
	KeyValidationAction ProduceKeyValidationAction `json:"keyValidationAction,omitzero"`
	// A reference to a schema Registry.
	//
	// +optional
	SchemaRegistry *EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistry `json:"schemaRegistry,omitempty"`
	// Defines a behavior when record value is not valid.
	// * reject - rejects a batch for topic partition. Only available for produce.
	// * mark - marks a record with kong/server header and client ID value
	//
	//
	// to help to identify the clients violating schema.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=reject;mark
	ValueValidationAction ProduceValueValidationAction `json:"valueValidationAction,omitzero"`
}

EventGatewayProduceSchemaValidationPolicyJSONConfig The configuration of the produce schema validation policy when using JSON parsing without schema.

func (*EventGatewayProduceSchemaValidationPolicyJSONConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayProduceSchemaValidationPolicyJSONConfig) DeepCopyInto added in v2.2.0

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

func (*EventGatewayProduceSchemaValidationPolicyJSONConfig) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistry added in v2.2.0

type EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistry struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=id;name
	Type EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistryType `json:"type,omitempty"`

	// ID configuration.
	//
	// +optional
	ID *SchemaRegistryReferenceByID `json:"id,omitempty"`
	// Name configuration.
	//
	// +optional
	Name *SchemaRegistryReferenceByName `json:"name,omitempty"`
}

EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistry represents a union type for schema_registry. Only one of the fields should be set based on the Type.

func (*EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistry) DeepCopy added in v2.2.0

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

func (*EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistry) DeepCopyInto added in v2.2.0

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

func (EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistry) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistry) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistryType added in v2.2.0

type EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistryType string

EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistryType represents the type of schema_registry.

const (
	EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistryTypeID   EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistryType = "id"
	EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistryTypeName EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistryType = "name"
)

EventGatewayProduceSchemaValidationPolicyJSONConfigSchemaRegistryType values.

type EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig added in v2.2.0

type EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig struct {
	// Defines a behavior when record key is not valid.
	// * reject - rejects a batch for topic partition. Only available for produce.
	// * mark - marks a record with kong/server header and client ID value
	//
	//
	// to help to identify the clients violating schema.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=reject;mark
	KeyValidationAction ProduceKeyValidationAction `json:"keyValidationAction,omitzero"`
	// A reference to a schema Registry.
	//
	// +optional
	SchemaRegistry *EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistry `json:"schemaRegistry,omitempty"`
	// Defines a behavior when record value is not valid.
	// * reject - rejects a batch for topic partition. Only available for produce.
	// * mark - marks a record with kong/server header and client ID value
	//
	//
	// to help to identify the clients violating schema.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=reject;mark
	ValueValidationAction ProduceValueValidationAction `json:"valueValidationAction,omitzero"`
}

EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig The configuration of the produce schema validation policy when using a schema registry.

func (*EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig) DeepCopyInto added in v2.2.0

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

func (*EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistry added in v2.2.0

type EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistry struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=id;name
	Type EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistryType `json:"type,omitempty"`

	// ID configuration.
	//
	// +optional
	ID *SchemaRegistryReferenceByID `json:"id,omitempty"`
	// Name configuration.
	//
	// +optional
	Name *SchemaRegistryReferenceByName `json:"name,omitempty"`
}

EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistry represents a union type for schema_registry. Only one of the fields should be set based on the Type.

func (*EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistry) DeepCopy added in v2.2.0

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

func (*EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistry) DeepCopyInto added in v2.2.0

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

func (EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistry) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistry) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistryType added in v2.2.0

type EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistryType string

EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistryType represents the type of schema_registry.

const (
	EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistryTypeID   EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistryType = "id"
	EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistryTypeName EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistryType = "name"
)

EventGatewayProduceSchemaValidationPolicySchemaRegistryConfigSchemaRegistryType values.

type EventGatewaySkipRecordPolicyCreate added in v2.2.0

type EventGatewaySkipRecordPolicyCreate struct {
	// A string containing the boolean expression that determines whether the
	// policy is applied.
	//
	// When the policy is applied as a child policy of schema_validation, the
	// expression can also reference
	// `record.value` fields.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=1000
	Condition string `json:"condition,omitzero"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EventGatewaySkipRecordPolicyCreate A policy that skips processing of a record.

func (*EventGatewaySkipRecordPolicyCreate) DeepCopy added in v2.2.0

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

func (*EventGatewaySkipRecordPolicyCreate) DeepCopyInto added in v2.2.0

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

type EventGatewayStaticKeySource added in v2.2.0

type EventGatewayStaticKeySource struct {
}

EventGatewayStaticKeySource A key source that uses static symmetric keys.

func (*EventGatewayStaticKeySource) DeepCopy added in v2.2.0

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

func (*EventGatewayStaticKeySource) DeepCopyInto added in v2.2.0

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

type EventGatewayTLSListenerPolicy added in v2.2.0

type EventGatewayTLSListenerPolicy struct {
	// The configuration of the policy.
	//
	// +required
	Config EventGatewayTLSListenerPolicyConfig `json:"config,omitzero"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

EventGatewayTLSListenerPolicy The TLS Server policy defines the certificates and keys used by the gateway server when the client connects to the gateway over TLS.

While it is possible to have multiple TLS policies on a listener, only one can be active at a time.

func (*EventGatewayTLSListenerPolicy) DeepCopy added in v2.2.0

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

func (*EventGatewayTLSListenerPolicy) DeepCopyInto added in v2.2.0

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

type EventGatewayTLSListenerPolicyConfig added in v2.2.0

type EventGatewayTLSListenerPolicyConfig struct {
	// If false, only TLS connections are allowed.
	// If true, both TLS and plaintext connections are allowed.
	//
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	AllowPlaintext string `json:"allowPlaintext,omitzero"`
	//
	//
	// +required
	Certificates []TLSCertificate `json:"certificates,omitempty"`
	// Configures mutual TLS (mTLS) client certificate verification.
	// When set, the gateway
	// requests or requires clients to present a certificate during the TLS
	// handshake.
	//
	// **Requires a minimum runtime version of `1.1`**.
	//
	// +optional
	ClientAuthentication EventGatewayTLSListenerPolicyConfigClientAuthentication `json:"clientAuthentication,omitzero"`
	// A range of TLS versions.
	//
	// +optional
	Versions TLSVersionRange `json:"versions,omitzero"`
}

EventGatewayTLSListenerPolicyConfig is a type alias.

func (*EventGatewayTLSListenerPolicyConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayTLSListenerPolicyConfig) DeepCopyInto added in v2.2.0

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

type EventGatewayTLSListenerPolicyConfigClientAuthentication added in v2.2.0

type EventGatewayTLSListenerPolicyConfigClientAuthentication struct {
	// * required - Reject TLS connections without a valid client certificate.
	// * requested - Request a client certificate during the TLS handshake, but
	// allow connections without one (falls back to other configured authentication
	// methods).
	// If a certificate is presented but cannot be verified, the connection is
	// closed.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=required;requested
	Mode string `json:"mode,omitzero"`
	// An expression that extracts a principal identifier from a verified client
	// certificate.
	// This expression must evaluate to a string.
	//
	// **Requires a minimum runtime version of `1.1`**.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	PrincipalMapping string `json:"principalMapping,omitzero"`
	// TLS trust bundles contain CA certificate bundles used to verify client
	// certificates.
	// All bundles are merged into a single trust store; a client certificate is
	// accepted if it
	// chains to any trusted CA across all bundles.
	//
	//
	// +required
	TLSTrustBundles []TLSTrustBundleReference `json:"tlsTrustBundles,omitempty"`
}

EventGatewayTLSListenerPolicyConfigClientAuthentication Configures mutual TLS (mTLS) client certificate verification. When set, the gateway requests or requires clients to present a certificate during the TLS handshake.

**Requires a minimum runtime version of `1.1`**.

func (*EventGatewayTLSListenerPolicyConfigClientAuthentication) DeepCopy added in v2.2.0

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

func (*EventGatewayTLSListenerPolicyConfigClientAuthentication) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualCluster added in v2.2.0

type EventGatewayVirtualCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// +optional
	Spec EventGatewayVirtualClusterSpec `json:"spec,omitzero"`

	// +optional
	Status EventGatewayVirtualClusterStatus `json:"status,omitzero"`
}

EventGatewayVirtualCluster is the Schema for the eventgatewayvirtualclusters API.

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=kong +kubebuilder:printcolumn:name="ID",description="Konnect ID",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:storageversion +apireference:kgo:include +kong:channels=kong-operator

func (*EventGatewayVirtualCluster) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualCluster) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualCluster) DeepCopyObject added in v2.2.0

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

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

func (*EventGatewayVirtualCluster) GetAncestorIDs added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetAncestorIDs() map[string]string

GetAncestorIDs returns the Konnect IDs of the ancestor entities keyed by their Kind.

func (*EventGatewayVirtualCluster) GetConditions added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*EventGatewayVirtualCluster) GetEventGatewayBackendClusterID added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetEventGatewayBackendClusterID() string

GetEventGatewayBackendClusterID returns the Konnect ID resolved for the parent EventGatewayBackendCluster.

func (*EventGatewayVirtualCluster) GetEventGatewayBackendClusterRef added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetEventGatewayBackendClusterRef() commonv1alpha1.ObjectRef

GetEventGatewayBackendClusterRef returns the reference to the parent EventGatewayBackendCluster.

func (*EventGatewayVirtualCluster) GetGatewayID added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetGatewayID() string

GetGatewayID returns the Konnect ID of the parent Gateway.

func (*EventGatewayVirtualCluster) GetKonnectID added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetKonnectID() string

GetKonnectID returns the Konnect ID in the EventGatewayVirtualCluster status.

func (*EventGatewayVirtualCluster) GetKonnectLabels added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetKonnectLabels() map[string]string

GetKonnectLabels gets the Konnect labels from the object's API spec.

func (*EventGatewayVirtualCluster) GetKonnectStatus added in v2.2.0

GetKonnectStatus returns the Konnect status contained in the EventGatewayVirtualCluster status.

func (*EventGatewayVirtualCluster) GetParentGVK added in v2.2.0

GetParentGVK returns the GroupVersionKind of the parent entity.

func (*EventGatewayVirtualCluster) GetParentRef added in v2.2.0

GetParentRef returns the reference to the parent entity.

func (*EventGatewayVirtualCluster) GetStatusConditionReasonParentRefInvalid added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetStatusConditionReasonParentRefInvalid() string

GetStatusConditionReasonParentRefInvalid returns the status condition reason indicating that the parent reference is invalid.

func (*EventGatewayVirtualCluster) GetStatusConditionReasonParentRefNotProgrammed added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetStatusConditionReasonParentRefNotProgrammed() string

GetStatusConditionReasonParentRefNotProgrammed returns the status condition reason indicating that the referenced parent exists but is not yet programmed in Konnect.

func (*EventGatewayVirtualCluster) GetStatusConditionReasonParentRefValid added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetStatusConditionReasonParentRefValid() string

GetStatusConditionReasonParentRefValid returns the status condition reason indicating that the parent reference is valid.

func (*EventGatewayVirtualCluster) GetStatusConditionTypeParentRefValid added in v2.2.0

func (obj *EventGatewayVirtualCluster) GetStatusConditionTypeParentRefValid() string

GetStatusConditionTypeParentRefValid returns the status condition type indicating whether the parent reference is valid.

func (EventGatewayVirtualCluster) GetTypeName added in v2.2.0

func (obj EventGatewayVirtualCluster) GetTypeName() string

GetTypeName returns the EventGatewayVirtualCluster Kind name.

func (EventGatewayVirtualCluster) HasParent added in v2.2.0

func (obj EventGatewayVirtualCluster) HasParent() bool

HasParent returns true if the EventGatewayVirtualCluster has a parent entity.

func (*EventGatewayVirtualCluster) PersistsKonnectID added in v2.2.0

func (*EventGatewayVirtualCluster) PersistsKonnectID() bool

PersistsKonnectID reports whether EventGatewayVirtualCluster persists a Konnect ID in status.

func (*EventGatewayVirtualCluster) SetAncestorID added in v2.2.0

func (obj *EventGatewayVirtualCluster) SetAncestorID(kind, id string)

SetAncestorID sets the Konnect ID for the ancestor entity identified by kind.

func (*EventGatewayVirtualCluster) SetConditions added in v2.2.0

func (obj *EventGatewayVirtualCluster) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*EventGatewayVirtualCluster) SetEventGatewayBackendClusterID added in v2.2.0

func (obj *EventGatewayVirtualCluster) SetEventGatewayBackendClusterID(id string)

SetEventGatewayBackendClusterID sets the resolved Konnect ID for the parent EventGatewayBackendCluster.

func (*EventGatewayVirtualCluster) SetGatewayID added in v2.2.0

func (obj *EventGatewayVirtualCluster) SetGatewayID(id string)

SetGatewayID sets the Konnect ID of the parent Gateway.

func (*EventGatewayVirtualCluster) SetKonnectID added in v2.2.0

func (obj *EventGatewayVirtualCluster) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the EventGatewayVirtualCluster status.

func (*EventGatewayVirtualCluster) SetKonnectLabels added in v2.2.0

func (obj *EventGatewayVirtualCluster) SetKonnectLabels(labels map[string]string)

SetKonnectLabels sets the Konnect labels in the object's API spec.

func (*EventGatewayVirtualCluster) SetParentID added in v2.2.0

func (obj *EventGatewayVirtualCluster) SetParentID(id string)

SetParentID sets the Konnect ID of the immediate parent entity.

func (*EventGatewayVirtualCluster) ToCreateVirtualClusterRequest added in v2.2.0

func (obj *EventGatewayVirtualCluster) ToCreateVirtualClusterRequest() (*sdkkonnectcomp.CreateVirtualClusterRequest, error)

ToCreateVirtualClusterRequest converts the EventGatewayVirtualCluster to the SDK type sdkkonnectcomp.CreateVirtualClusterRequest, injecting the resolved parent ID as destination.

func (*EventGatewayVirtualCluster) ToUpdateVirtualClusterRequest added in v2.2.0

func (obj *EventGatewayVirtualCluster) ToUpdateVirtualClusterRequest() (*sdkkonnectcomp.UpdateVirtualClusterRequest, error)

ToUpdateVirtualClusterRequest converts the EventGatewayVirtualCluster to the SDK type sdkkonnectcomp.UpdateVirtualClusterRequest, injecting the resolved parent ID as destination.

type EventGatewayVirtualClusterAPISpec added in v2.2.0

type EventGatewayVirtualClusterAPISpec struct {
	// Configures whether or not ACL policies are enforced on the gateway.
	// - `enforce_on_gateway` means the gateway enforces its own ACL policies for
	// this virtual cluster
	//
	//
	// and does not forward ACL-related commands to the backend cluster.
	// Note that if there are no ACL policies configured, all access is denied.
	// - `passthrough` tells the gateway to forward all ACL-related commands.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=enforce_on_gateway;passthrough
	AclMode VirtualClusterACLMode `json:"aclMode,omitzero"`

	// How to handle authentication from clients.
	//
	// It tries to authenticate with every rule sequentially one by one.
	// It succeeds on the first match, and fails if no rule matches.
	//
	//
	// +required
	Authentication []VirtualClusterAuthenticationScheme `json:"authentication,omitempty"`

	// A human-readable description of the virtual cluster.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`

	// The DNS label used in the bootstrap server URL to identify the virtual
	// cluster when using SNI routing.
	// The format follows the RFC1035: 1-63 chars, lowercase alphanumeric or '-',
	// must start and end with an alphanumeric character.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`
	DNSLabel VirtualClusterDNSLabel `json:"dnsLabel,omitzero"`

	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`

	// The name of the virtual cluster.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	Name VirtualClusterName `json:"name,omitzero"`

	// Namespace allows to implement multitenancy using a single backend cluster.
	// It allows to either hide or enforce a static prefix on resources (topics,
	// consumer group IDs, transaction IDs).
	//
	//
	// +optional
	Namespace VirtualClusterNamespace `json:"namespace,omitzero"`

	// **Pre-release Feature**
	// This feature is currently in beta and is subject to change.
	//
	// Topic aliases allow exposing backend topics under additional names.
	// An alias creates a new entry point to the same physical data.
	// The alias `topic` field references namespace-visible names (if namespace is
	// configured).
	// Aliases are independent of namespace and can be used without it.
	//
	// **Requires a minimum runtime version of `1.2`**.
	//
	// +optional
	TopicAliases []VirtualClusterTopicAlias `json:"topicAliases,omitempty"`
}

EventGatewayVirtualClusterAPISpec defines the API spec fields for EventGatewayVirtualCluster.

func (*EventGatewayVirtualClusterAPISpec) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterAPISpec) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterAPISpec) ToCreateVirtualClusterRequest added in v2.2.0

ToCreateVirtualClusterRequest converts the EventGatewayVirtualClusterAPISpec to the SDK type sdkkonnectcomp.CreateVirtualClusterRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayVirtualClusterAPISpec) ToUpdateVirtualClusterRequest added in v2.2.0

ToUpdateVirtualClusterRequest converts the EventGatewayVirtualClusterAPISpec to the SDK type sdkkonnectcomp.UpdateVirtualClusterRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

type EventGatewayVirtualClusterConsumePolicy added in v2.2.0

type EventGatewayVirtualClusterConsumePolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// +optional
	Spec EventGatewayVirtualClusterConsumePolicySpec `json:"spec,omitzero"`

	// +optional
	Status EventGatewayVirtualClusterConsumePolicyStatus `json:"status,omitzero"`
}

EventGatewayVirtualClusterConsumePolicy is the Schema for the eventgatewayvirtualclusterconsumepolicys API.

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=kong +kubebuilder:printcolumn:name="ID",description="Konnect ID",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:storageversion +apireference:kgo:include +kong:channels=kong-operator

func (*EventGatewayVirtualClusterConsumePolicy) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicy) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicy) DeepCopyObject added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicy) GetAncestorIDs added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) GetAncestorIDs() map[string]string

GetAncestorIDs returns the Konnect IDs of the ancestor entities keyed by their Kind.

func (*EventGatewayVirtualClusterConsumePolicy) GetConditions added in v2.2.0

GetConditions returns the Status Conditions.

func (*EventGatewayVirtualClusterConsumePolicy) GetEventGatewayVirtualClusterRef added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) GetEventGatewayVirtualClusterRef() commonv1alpha1.ObjectRef

GetEventGatewayVirtualClusterRef returns the reference to the parent EventGatewayVirtualCluster.

func (*EventGatewayVirtualClusterConsumePolicy) GetGatewayID added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) GetGatewayID() string

GetGatewayID returns the Konnect ID of the parent Gateway.

func (*EventGatewayVirtualClusterConsumePolicy) GetKonnectID added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) GetKonnectID() string

GetKonnectID returns the Konnect ID in the EventGatewayVirtualClusterConsumePolicy status.

func (*EventGatewayVirtualClusterConsumePolicy) GetKonnectStatus added in v2.2.0

GetKonnectStatus returns the Konnect status contained in the EventGatewayVirtualClusterConsumePolicy status.

func (*EventGatewayVirtualClusterConsumePolicy) GetParentGVK added in v2.2.0

GetParentGVK returns the GroupVersionKind of the parent entity.

func (*EventGatewayVirtualClusterConsumePolicy) GetParentRef added in v2.2.0

GetParentRef returns the reference to the parent entity.

func (*EventGatewayVirtualClusterConsumePolicy) GetStatusConditionReasonParentRefInvalid added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) GetStatusConditionReasonParentRefInvalid() string

GetStatusConditionReasonParentRefInvalid returns the status condition reason indicating that the parent reference is invalid.

func (*EventGatewayVirtualClusterConsumePolicy) GetStatusConditionReasonParentRefNotProgrammed added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) GetStatusConditionReasonParentRefNotProgrammed() string

GetStatusConditionReasonParentRefNotProgrammed returns the status condition reason indicating that the referenced parent exists but is not yet programmed in Konnect.

func (*EventGatewayVirtualClusterConsumePolicy) GetStatusConditionReasonParentRefValid added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) GetStatusConditionReasonParentRefValid() string

GetStatusConditionReasonParentRefValid returns the status condition reason indicating that the parent reference is valid.

func (*EventGatewayVirtualClusterConsumePolicy) GetStatusConditionTypeParentRefValid added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) GetStatusConditionTypeParentRefValid() string

GetStatusConditionTypeParentRefValid returns the status condition type indicating whether the parent reference is valid.

func (EventGatewayVirtualClusterConsumePolicy) GetTypeName added in v2.2.0

GetTypeName returns the EventGatewayVirtualClusterConsumePolicy Kind name.

func (*EventGatewayVirtualClusterConsumePolicy) GetVirtualClusterID added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) GetVirtualClusterID() string

GetVirtualClusterID returns the Konnect ID of the parent VirtualCluster.

func (EventGatewayVirtualClusterConsumePolicy) HasParent added in v2.2.0

HasParent returns true if the EventGatewayVirtualClusterConsumePolicy has a parent entity.

func (*EventGatewayVirtualClusterConsumePolicy) PersistsKonnectID added in v2.2.0

func (*EventGatewayVirtualClusterConsumePolicy) PersistsKonnectID() bool

PersistsKonnectID reports whether EventGatewayVirtualClusterConsumePolicy persists a Konnect ID in status.

func (*EventGatewayVirtualClusterConsumePolicy) SetAncestorID added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) SetAncestorID(kind, id string)

SetAncestorID sets the Konnect ID for the ancestor entity identified by kind.

func (*EventGatewayVirtualClusterConsumePolicy) SetConditions added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*EventGatewayVirtualClusterConsumePolicy) SetGatewayID added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) SetGatewayID(id string)

SetGatewayID sets the Konnect ID of the parent Gateway.

func (*EventGatewayVirtualClusterConsumePolicy) SetKonnectID added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the EventGatewayVirtualClusterConsumePolicy status.

func (*EventGatewayVirtualClusterConsumePolicy) SetParentID added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) SetParentID(id string)

SetParentID sets the Konnect ID of the immediate parent entity.

func (*EventGatewayVirtualClusterConsumePolicy) SetVirtualClusterID added in v2.2.0

func (obj *EventGatewayVirtualClusterConsumePolicy) SetVirtualClusterID(id string)

SetVirtualClusterID sets the Konnect ID of the parent VirtualCluster.

type EventGatewayVirtualClusterConsumePolicyAPISpec added in v2.2.0

type EventGatewayVirtualClusterConsumePolicyAPISpec struct {
	// EventGatewayVirtualClusterConsumePolicyConfig embeds the union type configuration.
	//
	// +optional
	*EventGatewayVirtualClusterConsumePolicyConfig `json:",inline"`
}

EventGatewayVirtualClusterConsumePolicyAPISpec defines the API spec fields for EventGatewayVirtualClusterConsumePolicy.

func (*EventGatewayVirtualClusterConsumePolicyAPISpec) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicyAPISpec) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicyAPISpec) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayVirtualClusterConsumePolicyAPISpec) ToCreateEventGatewayVirtualClusterConsumePolicyRequest added in v2.2.0

ToCreateEventGatewayVirtualClusterConsumePolicyRequest converts the EventGatewayVirtualClusterConsumePolicyAPISpec to the SDK type sdkkonnectoper.CreateEventGatewayVirtualClusterConsumePolicyRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayVirtualClusterConsumePolicyAPISpec) ToUpdateEventGatewayVirtualClusterConsumePolicyRequest added in v2.2.0

ToUpdateEventGatewayVirtualClusterConsumePolicyRequest converts the EventGatewayVirtualClusterConsumePolicyAPISpec to the SDK type sdkkonnectoper.UpdateEventGatewayVirtualClusterConsumePolicyRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayVirtualClusterConsumePolicyAPISpec) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayVirtualClusterConsumePolicyConfig added in v2.2.0

type EventGatewayVirtualClusterConsumePolicyConfig struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=decrypt;decryptFields;modifyHeaders;schemaValidation;skipRecord
	Type EventGatewayVirtualClusterConsumePolicyConfigType `json:"type,omitempty"`

	// DecryptPolicy configuration.
	//
	// +optional
	DecryptPolicy *EventGatewayDecryptPolicy `json:"decrypt,omitempty"`
	// ParsedRecordDecryptFieldsPolicyCreate configuration.
	//
	// +optional
	ParsedRecordDecryptFieldsPolicyCreate *EventGatewayParsedRecordDecryptFieldsPolicyCreate `json:"decryptFields,omitempty"`
	// ModifyHeadersPolicyCreate configuration.
	//
	// +optional
	ModifyHeadersPolicyCreate *EventGatewayModifyHeadersPolicyCreate `json:"modifyHeaders,omitempty"`
	// ConsumeSchemaValidationPolicy configuration.
	//
	// +optional
	ConsumeSchemaValidationPolicy *EventGatewayConsumeSchemaValidationPolicy `json:"schemaValidation,omitempty"`
	// SkipRecordPolicyCreate configuration.
	//
	// +optional
	SkipRecordPolicyCreate *EventGatewaySkipRecordPolicyCreate `json:"skipRecord,omitempty"`
}

EventGatewayVirtualClusterConsumePolicyConfig represents a union type for EventGatewayVirtualClusterConsumePolicyConfig. Only one of the fields should be set based on the Type.

func (*EventGatewayVirtualClusterConsumePolicyConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicyConfig) DeepCopyInto added in v2.2.0

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

func (EventGatewayVirtualClusterConsumePolicyConfig) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayVirtualClusterConsumePolicyConfig) UnmarshalJSON added in v2.2.0

func (u *EventGatewayVirtualClusterConsumePolicyConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayVirtualClusterConsumePolicyConfigType added in v2.2.0

type EventGatewayVirtualClusterConsumePolicyConfigType string

EventGatewayVirtualClusterConsumePolicyConfigType represents the type of EventGatewayVirtualClusterConsumePolicyConfig.

const (
	EventGatewayVirtualClusterConsumePolicyConfigTypeDecryptPolicy                         EventGatewayVirtualClusterConsumePolicyConfigType = "decrypt"
	EventGatewayVirtualClusterConsumePolicyConfigTypeParsedRecordDecryptFieldsPolicyCreate EventGatewayVirtualClusterConsumePolicyConfigType = "decryptFields"
	EventGatewayVirtualClusterConsumePolicyConfigTypeModifyHeadersPolicyCreate             EventGatewayVirtualClusterConsumePolicyConfigType = "modifyHeaders"
	EventGatewayVirtualClusterConsumePolicyConfigTypeConsumeSchemaValidationPolicy         EventGatewayVirtualClusterConsumePolicyConfigType = "schemaValidation"
	EventGatewayVirtualClusterConsumePolicyConfigTypeSkipRecordPolicyCreate                EventGatewayVirtualClusterConsumePolicyConfigType = "skipRecord"
)

EventGatewayVirtualClusterConsumePolicyConfigType values.

type EventGatewayVirtualClusterConsumePolicyList added in v2.2.0

type EventGatewayVirtualClusterConsumePolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []EventGatewayVirtualClusterConsumePolicy `json:"items"`
}

EventGatewayVirtualClusterConsumePolicyList contains a list of EventGatewayVirtualClusterConsumePolicy.

+kubebuilder:object:root=true

func (*EventGatewayVirtualClusterConsumePolicyList) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicyList) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicyList) DeepCopyObject added in v2.2.0

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

func (EventGatewayVirtualClusterConsumePolicyList) GetItems added in v2.2.0

GetItems returns the list of EventGatewayVirtualClusterConsumePolicy items.

type EventGatewayVirtualClusterConsumePolicySDKOpsBoolField added in v2.2.0

type EventGatewayVirtualClusterConsumePolicySDKOpsBoolField struct {
	Label string
	Path  []string
}

EventGatewayVirtualClusterConsumePolicySDKOpsBoolField describes a boolean enum field that must be normalized for SDK payloads.

func (*EventGatewayVirtualClusterConsumePolicySDKOpsBoolField) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicySDKOpsBoolField) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualClusterConsumePolicySpec added in v2.2.0

type EventGatewayVirtualClusterConsumePolicySpec struct {
	// EventGatewayVirtualClusterRef is the reference to the parent EventGatewayVirtualCluster object.
	//
	// +required
	EventGatewayVirtualClusterRef commonv1alpha1.ObjectRef `json:"eventGatewayVirtualClusterRef,omitzero"`

	// APISpec defines the desired state of the resource's API spec fields.
	//
	// +optional
	APISpec EventGatewayVirtualClusterConsumePolicyAPISpec `json:"apiSpec,omitzero"`
}

EventGatewayVirtualClusterConsumePolicySpec defines the desired state of EventGatewayVirtualClusterConsumePolicy.

func (*EventGatewayVirtualClusterConsumePolicySpec) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicySpec) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualClusterConsumePolicyStatus added in v2.2.0

type EventGatewayVirtualClusterConsumePolicyStatus struct {
	// Conditions represent the current state of the resource.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Konnect contains the Konnect entity status.
	//
	// +optional
	KonnectEntityStatus `json:",inline"`

	// GatewayID is the Konnect ID of the parent Gateway.
	//
	// +optional
	GatewayID *KonnectEntityRef `json:"gatewayID,omitempty"`

	// VirtualClusterID is the Konnect ID of the parent VirtualCluster.
	//
	// +optional
	VirtualClusterID *KonnectEntityRef `json:"virtualClusterID,omitempty"`

	// ObservedGeneration is the most recent generation observed
	//
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitzero"`
}

EventGatewayVirtualClusterConsumePolicyStatus defines the observed state of EventGatewayVirtualClusterConsumePolicy.

func (*EventGatewayVirtualClusterConsumePolicyStatus) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterConsumePolicyStatus) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualClusterList added in v2.2.0

type EventGatewayVirtualClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []EventGatewayVirtualCluster `json:"items"`
}

EventGatewayVirtualClusterList contains a list of EventGatewayVirtualCluster.

+kubebuilder:object:root=true

func (*EventGatewayVirtualClusterList) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterList) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterList) DeepCopyObject added in v2.2.0

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

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

func (EventGatewayVirtualClusterList) GetItems added in v2.2.0

GetItems returns the list of EventGatewayVirtualCluster items.

type EventGatewayVirtualClusterPolicy added in v2.2.0

type EventGatewayVirtualClusterPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// +optional
	Spec EventGatewayVirtualClusterPolicySpec `json:"spec,omitzero"`

	// +optional
	Status EventGatewayVirtualClusterPolicyStatus `json:"status,omitzero"`
}

EventGatewayVirtualClusterPolicy is the Schema for the eventgatewayvirtualclusterpolicys API.

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=kong +kubebuilder:printcolumn:name="ID",description="Konnect ID",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:storageversion +apireference:kgo:include +kong:channels=kong-operator

func (*EventGatewayVirtualClusterPolicy) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterPolicy) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterPolicy) DeepCopyObject added in v2.2.0

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

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

func (*EventGatewayVirtualClusterPolicy) GetAncestorIDs added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) GetAncestorIDs() map[string]string

GetAncestorIDs returns the Konnect IDs of the ancestor entities keyed by their Kind.

func (*EventGatewayVirtualClusterPolicy) GetConditions added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*EventGatewayVirtualClusterPolicy) GetEventGatewayVirtualClusterRef added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) GetEventGatewayVirtualClusterRef() commonv1alpha1.ObjectRef

GetEventGatewayVirtualClusterRef returns the reference to the parent EventGatewayVirtualCluster.

func (*EventGatewayVirtualClusterPolicy) GetGatewayID added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) GetGatewayID() string

GetGatewayID returns the Konnect ID of the parent Gateway.

func (*EventGatewayVirtualClusterPolicy) GetKonnectID added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) GetKonnectID() string

GetKonnectID returns the Konnect ID in the EventGatewayVirtualClusterPolicy status.

func (*EventGatewayVirtualClusterPolicy) GetKonnectStatus added in v2.2.0

GetKonnectStatus returns the Konnect status contained in the EventGatewayVirtualClusterPolicy status.

func (*EventGatewayVirtualClusterPolicy) GetParentGVK added in v2.2.0

GetParentGVK returns the GroupVersionKind of the parent entity.

func (*EventGatewayVirtualClusterPolicy) GetParentRef added in v2.2.0

GetParentRef returns the reference to the parent entity.

func (*EventGatewayVirtualClusterPolicy) GetStatusConditionReasonParentRefInvalid added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) GetStatusConditionReasonParentRefInvalid() string

GetStatusConditionReasonParentRefInvalid returns the status condition reason indicating that the parent reference is invalid.

func (*EventGatewayVirtualClusterPolicy) GetStatusConditionReasonParentRefNotProgrammed added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) GetStatusConditionReasonParentRefNotProgrammed() string

GetStatusConditionReasonParentRefNotProgrammed returns the status condition reason indicating that the referenced parent exists but is not yet programmed in Konnect.

func (*EventGatewayVirtualClusterPolicy) GetStatusConditionReasonParentRefValid added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) GetStatusConditionReasonParentRefValid() string

GetStatusConditionReasonParentRefValid returns the status condition reason indicating that the parent reference is valid.

func (*EventGatewayVirtualClusterPolicy) GetStatusConditionTypeParentRefValid added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) GetStatusConditionTypeParentRefValid() string

GetStatusConditionTypeParentRefValid returns the status condition type indicating whether the parent reference is valid.

func (EventGatewayVirtualClusterPolicy) GetTypeName added in v2.2.0

func (obj EventGatewayVirtualClusterPolicy) GetTypeName() string

GetTypeName returns the EventGatewayVirtualClusterPolicy Kind name.

func (*EventGatewayVirtualClusterPolicy) GetVirtualClusterID added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) GetVirtualClusterID() string

GetVirtualClusterID returns the Konnect ID of the parent VirtualCluster.

func (EventGatewayVirtualClusterPolicy) HasParent added in v2.2.0

func (obj EventGatewayVirtualClusterPolicy) HasParent() bool

HasParent returns true if the EventGatewayVirtualClusterPolicy has a parent entity.

func (*EventGatewayVirtualClusterPolicy) PersistsKonnectID added in v2.2.0

func (*EventGatewayVirtualClusterPolicy) PersistsKonnectID() bool

PersistsKonnectID reports whether EventGatewayVirtualClusterPolicy persists a Konnect ID in status.

func (*EventGatewayVirtualClusterPolicy) SetAncestorID added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) SetAncestorID(kind, id string)

SetAncestorID sets the Konnect ID for the ancestor entity identified by kind.

func (*EventGatewayVirtualClusterPolicy) SetConditions added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*EventGatewayVirtualClusterPolicy) SetGatewayID added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) SetGatewayID(id string)

SetGatewayID sets the Konnect ID of the parent Gateway.

func (*EventGatewayVirtualClusterPolicy) SetKonnectID added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the EventGatewayVirtualClusterPolicy status.

func (*EventGatewayVirtualClusterPolicy) SetParentID added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) SetParentID(id string)

SetParentID sets the Konnect ID of the immediate parent entity.

func (*EventGatewayVirtualClusterPolicy) SetVirtualClusterID added in v2.2.0

func (obj *EventGatewayVirtualClusterPolicy) SetVirtualClusterID(id string)

SetVirtualClusterID sets the Konnect ID of the parent VirtualCluster.

type EventGatewayVirtualClusterPolicyAPISpec added in v2.2.0

type EventGatewayVirtualClusterPolicyAPISpec struct {
	// EventGatewayVirtualClusterPolicyConfig embeds the union type configuration.
	//
	// +optional
	*EventGatewayVirtualClusterPolicyConfig `json:",inline"`
}

EventGatewayVirtualClusterPolicyAPISpec defines the API spec fields for EventGatewayVirtualClusterPolicy.

func (*EventGatewayVirtualClusterPolicyAPISpec) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterPolicyAPISpec) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterPolicyAPISpec) MarshalJSON added in v2.2.0

func (s *EventGatewayVirtualClusterPolicyAPISpec) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*EventGatewayVirtualClusterPolicyAPISpec) ToCreateEventGatewayVirtualClusterClusterLevelPolicyRequest added in v2.2.0

func (s *EventGatewayVirtualClusterPolicyAPISpec) ToCreateEventGatewayVirtualClusterClusterLevelPolicyRequest() (*sdkkonnectoper.CreateEventGatewayVirtualClusterClusterLevelPolicyRequest, error)

ToCreateEventGatewayVirtualClusterClusterLevelPolicyRequest converts the EventGatewayVirtualClusterPolicyAPISpec to the SDK type sdkkonnectoper.CreateEventGatewayVirtualClusterClusterLevelPolicyRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayVirtualClusterPolicyAPISpec) ToUpdateEventGatewayVirtualClusterClusterLevelPolicyRequest added in v2.2.0

func (s *EventGatewayVirtualClusterPolicyAPISpec) ToUpdateEventGatewayVirtualClusterClusterLevelPolicyRequest() (*sdkkonnectoper.UpdateEventGatewayVirtualClusterClusterLevelPolicyRequest, error)

ToUpdateEventGatewayVirtualClusterClusterLevelPolicyRequest converts the EventGatewayVirtualClusterPolicyAPISpec to the SDK type sdkkonnectoper.UpdateEventGatewayVirtualClusterClusterLevelPolicyRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayVirtualClusterPolicyAPISpec) UnmarshalJSON added in v2.2.0

func (s *EventGatewayVirtualClusterPolicyAPISpec) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayVirtualClusterPolicyConfig added in v2.2.0

type EventGatewayVirtualClusterPolicyConfig struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=acls
	Type EventGatewayVirtualClusterPolicyConfigType `json:"type,omitempty"`

	// EventGatewayACLsPolicy configuration.
	//
	// +optional
	EventGatewayACLsPolicy *EventGatewayACLsPolicy `json:"acls,omitempty"`
}

EventGatewayVirtualClusterPolicyConfig represents a union type for EventGatewayVirtualClusterPolicyConfig. Only one of the fields should be set based on the Type.

func (*EventGatewayVirtualClusterPolicyConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterPolicyConfig) DeepCopyInto added in v2.2.0

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

func (EventGatewayVirtualClusterPolicyConfig) MarshalJSON added in v2.2.0

func (u EventGatewayVirtualClusterPolicyConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*EventGatewayVirtualClusterPolicyConfig) UnmarshalJSON added in v2.2.0

func (u *EventGatewayVirtualClusterPolicyConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayVirtualClusterPolicyConfigType added in v2.2.0

type EventGatewayVirtualClusterPolicyConfigType string

EventGatewayVirtualClusterPolicyConfigType represents the type of EventGatewayVirtualClusterPolicyConfig.

const (
	EventGatewayVirtualClusterPolicyConfigTypeEventGatewayACLsPolicy EventGatewayVirtualClusterPolicyConfigType = "acls"
)

EventGatewayVirtualClusterPolicyConfigType values.

type EventGatewayVirtualClusterPolicyList added in v2.2.0

type EventGatewayVirtualClusterPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []EventGatewayVirtualClusterPolicy `json:"items"`
}

EventGatewayVirtualClusterPolicyList contains a list of EventGatewayVirtualClusterPolicy.

+kubebuilder:object:root=true

func (*EventGatewayVirtualClusterPolicyList) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterPolicyList) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterPolicyList) DeepCopyObject added in v2.2.0

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

func (EventGatewayVirtualClusterPolicyList) GetItems added in v2.2.0

GetItems returns the list of EventGatewayVirtualClusterPolicy items.

type EventGatewayVirtualClusterPolicySDKOpsBoolField added in v2.2.0

type EventGatewayVirtualClusterPolicySDKOpsBoolField struct {
	Label string
	Path  []string
}

EventGatewayVirtualClusterPolicySDKOpsBoolField describes a boolean enum field that must be normalized for SDK payloads.

func (*EventGatewayVirtualClusterPolicySDKOpsBoolField) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterPolicySDKOpsBoolField) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualClusterPolicySpec added in v2.2.0

type EventGatewayVirtualClusterPolicySpec struct {
	// EventGatewayVirtualClusterRef is the reference to the parent EventGatewayVirtualCluster object.
	//
	// +required
	EventGatewayVirtualClusterRef commonv1alpha1.ObjectRef `json:"eventGatewayVirtualClusterRef,omitzero"`

	// APISpec defines the desired state of the resource's API spec fields.
	//
	// +optional
	APISpec EventGatewayVirtualClusterPolicyAPISpec `json:"apiSpec,omitzero"`
}

EventGatewayVirtualClusterPolicySpec defines the desired state of EventGatewayVirtualClusterPolicy.

func (*EventGatewayVirtualClusterPolicySpec) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterPolicySpec) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualClusterPolicyStatus added in v2.2.0

type EventGatewayVirtualClusterPolicyStatus struct {
	// Conditions represent the current state of the resource.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Konnect contains the Konnect entity status.
	//
	// +optional
	KonnectEntityStatus `json:",inline"`

	// GatewayID is the Konnect ID of the parent Gateway.
	//
	// +optional
	GatewayID *KonnectEntityRef `json:"gatewayID,omitempty"`

	// VirtualClusterID is the Konnect ID of the parent VirtualCluster.
	//
	// +optional
	VirtualClusterID *KonnectEntityRef `json:"virtualClusterID,omitempty"`

	// ObservedGeneration is the most recent generation observed
	//
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitzero"`
}

EventGatewayVirtualClusterPolicyStatus defines the observed state of EventGatewayVirtualClusterPolicy.

func (*EventGatewayVirtualClusterPolicyStatus) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterPolicyStatus) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualClusterProducePolicy added in v2.2.0

type EventGatewayVirtualClusterProducePolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitzero"`

	// +optional
	Spec EventGatewayVirtualClusterProducePolicySpec `json:"spec,omitzero"`

	// +optional
	Status EventGatewayVirtualClusterProducePolicyStatus `json:"status,omitzero"`
}

EventGatewayVirtualClusterProducePolicy is the Schema for the eventgatewayvirtualclusterproducepolicys API.

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories=kong +kubebuilder:printcolumn:name="ID",description="Konnect ID",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed on Konnect",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="OrgID",description="Konnect Organization ID this resource belongs to.",type=string,JSONPath=`.status.organizationID` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:storageversion +apireference:kgo:include +kong:channels=kong-operator

func (*EventGatewayVirtualClusterProducePolicy) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicy) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicy) DeepCopyObject added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicy) GetAncestorIDs added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) GetAncestorIDs() map[string]string

GetAncestorIDs returns the Konnect IDs of the ancestor entities keyed by their Kind.

func (*EventGatewayVirtualClusterProducePolicy) GetConditions added in v2.2.0

GetConditions returns the Status Conditions.

func (*EventGatewayVirtualClusterProducePolicy) GetEventGatewayVirtualClusterRef added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) GetEventGatewayVirtualClusterRef() commonv1alpha1.ObjectRef

GetEventGatewayVirtualClusterRef returns the reference to the parent EventGatewayVirtualCluster.

func (*EventGatewayVirtualClusterProducePolicy) GetGatewayID added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) GetGatewayID() string

GetGatewayID returns the Konnect ID of the parent Gateway.

func (*EventGatewayVirtualClusterProducePolicy) GetKonnectID added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) GetKonnectID() string

GetKonnectID returns the Konnect ID in the EventGatewayVirtualClusterProducePolicy status.

func (*EventGatewayVirtualClusterProducePolicy) GetKonnectStatus added in v2.2.0

GetKonnectStatus returns the Konnect status contained in the EventGatewayVirtualClusterProducePolicy status.

func (*EventGatewayVirtualClusterProducePolicy) GetParentGVK added in v2.2.0

GetParentGVK returns the GroupVersionKind of the parent entity.

func (*EventGatewayVirtualClusterProducePolicy) GetParentRef added in v2.2.0

GetParentRef returns the reference to the parent entity.

func (*EventGatewayVirtualClusterProducePolicy) GetStatusConditionReasonParentRefInvalid added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) GetStatusConditionReasonParentRefInvalid() string

GetStatusConditionReasonParentRefInvalid returns the status condition reason indicating that the parent reference is invalid.

func (*EventGatewayVirtualClusterProducePolicy) GetStatusConditionReasonParentRefNotProgrammed added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) GetStatusConditionReasonParentRefNotProgrammed() string

GetStatusConditionReasonParentRefNotProgrammed returns the status condition reason indicating that the referenced parent exists but is not yet programmed in Konnect.

func (*EventGatewayVirtualClusterProducePolicy) GetStatusConditionReasonParentRefValid added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) GetStatusConditionReasonParentRefValid() string

GetStatusConditionReasonParentRefValid returns the status condition reason indicating that the parent reference is valid.

func (*EventGatewayVirtualClusterProducePolicy) GetStatusConditionTypeParentRefValid added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) GetStatusConditionTypeParentRefValid() string

GetStatusConditionTypeParentRefValid returns the status condition type indicating whether the parent reference is valid.

func (EventGatewayVirtualClusterProducePolicy) GetTypeName added in v2.2.0

GetTypeName returns the EventGatewayVirtualClusterProducePolicy Kind name.

func (*EventGatewayVirtualClusterProducePolicy) GetVirtualClusterID added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) GetVirtualClusterID() string

GetVirtualClusterID returns the Konnect ID of the parent VirtualCluster.

func (EventGatewayVirtualClusterProducePolicy) HasParent added in v2.2.0

HasParent returns true if the EventGatewayVirtualClusterProducePolicy has a parent entity.

func (*EventGatewayVirtualClusterProducePolicy) PersistsKonnectID added in v2.2.0

func (*EventGatewayVirtualClusterProducePolicy) PersistsKonnectID() bool

PersistsKonnectID reports whether EventGatewayVirtualClusterProducePolicy persists a Konnect ID in status.

func (*EventGatewayVirtualClusterProducePolicy) SetAncestorID added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) SetAncestorID(kind, id string)

SetAncestorID sets the Konnect ID for the ancestor entity identified by kind.

func (*EventGatewayVirtualClusterProducePolicy) SetConditions added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*EventGatewayVirtualClusterProducePolicy) SetGatewayID added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) SetGatewayID(id string)

SetGatewayID sets the Konnect ID of the parent Gateway.

func (*EventGatewayVirtualClusterProducePolicy) SetKonnectID added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the EventGatewayVirtualClusterProducePolicy status.

func (*EventGatewayVirtualClusterProducePolicy) SetParentID added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) SetParentID(id string)

SetParentID sets the Konnect ID of the immediate parent entity.

func (*EventGatewayVirtualClusterProducePolicy) SetVirtualClusterID added in v2.2.0

func (obj *EventGatewayVirtualClusterProducePolicy) SetVirtualClusterID(id string)

SetVirtualClusterID sets the Konnect ID of the parent VirtualCluster.

type EventGatewayVirtualClusterProducePolicyAPISpec added in v2.2.0

type EventGatewayVirtualClusterProducePolicyAPISpec struct {
	// EventGatewayVirtualClusterProducePolicyConfig embeds the union type configuration.
	//
	// +optional
	*EventGatewayVirtualClusterProducePolicyConfig `json:",inline"`
}

EventGatewayVirtualClusterProducePolicyAPISpec defines the API spec fields for EventGatewayVirtualClusterProducePolicy.

func (*EventGatewayVirtualClusterProducePolicyAPISpec) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicyAPISpec) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicyAPISpec) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayVirtualClusterProducePolicyAPISpec) ToCreateEventGatewayVirtualClusterProducePolicyRequest added in v2.2.0

ToCreateEventGatewayVirtualClusterProducePolicyRequest converts the EventGatewayVirtualClusterProducePolicyAPISpec to the SDK type sdkkonnectoper.CreateEventGatewayVirtualClusterProducePolicyRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayVirtualClusterProducePolicyAPISpec) ToUpdateEventGatewayVirtualClusterProducePolicyRequest added in v2.2.0

ToUpdateEventGatewayVirtualClusterProducePolicyRequest converts the EventGatewayVirtualClusterProducePolicyAPISpec to the SDK type sdkkonnectoper.UpdateEventGatewayVirtualClusterProducePolicyRequest using JSON marshal/unmarshal. Fields that exist in the CRD spec but not in the SDK type (e.g., Kubernetes object references) are naturally excluded because they have different JSON names.

func (*EventGatewayVirtualClusterProducePolicyAPISpec) UnmarshalJSON added in v2.2.0

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayVirtualClusterProducePolicyConfig added in v2.2.0

type EventGatewayVirtualClusterProducePolicyConfig struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=encrypt;encryptFields;modifyHeaders;schemaValidation
	Type EventGatewayVirtualClusterProducePolicyConfigType `json:"type,omitempty"`

	// EncryptPolicy configuration.
	//
	// +optional
	EncryptPolicy *EventGatewayEncryptPolicy `json:"encrypt,omitempty"`
	// ParsedRecordEncryptFieldsPolicyCreate configuration.
	//
	// +optional
	ParsedRecordEncryptFieldsPolicyCreate *EventGatewayParsedRecordEncryptFieldsPolicyCreate `json:"encryptFields,omitempty"`
	// ModifyHeadersPolicyCreate configuration.
	//
	// +optional
	ModifyHeadersPolicyCreate *EventGatewayModifyHeadersPolicyCreate `json:"modifyHeaders,omitempty"`
	// ProduceSchemaValidationPolicy configuration.
	//
	// +optional
	ProduceSchemaValidationPolicy *EventGatewayProduceSchemaValidationPolicy `json:"schemaValidation,omitempty"`
}

EventGatewayVirtualClusterProducePolicyConfig represents a union type for EventGatewayVirtualClusterProducePolicyConfig. Only one of the fields should be set based on the Type.

func (*EventGatewayVirtualClusterProducePolicyConfig) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicyConfig) DeepCopyInto added in v2.2.0

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

func (EventGatewayVirtualClusterProducePolicyConfig) MarshalJSON added in v2.2.0

MarshalJSON implements json.Marshaler.

func (*EventGatewayVirtualClusterProducePolicyConfig) UnmarshalJSON added in v2.2.0

func (u *EventGatewayVirtualClusterProducePolicyConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type EventGatewayVirtualClusterProducePolicyConfigType added in v2.2.0

type EventGatewayVirtualClusterProducePolicyConfigType string

EventGatewayVirtualClusterProducePolicyConfigType represents the type of EventGatewayVirtualClusterProducePolicyConfig.

const (
	EventGatewayVirtualClusterProducePolicyConfigTypeEncryptPolicy                         EventGatewayVirtualClusterProducePolicyConfigType = "encrypt"
	EventGatewayVirtualClusterProducePolicyConfigTypeParsedRecordEncryptFieldsPolicyCreate EventGatewayVirtualClusterProducePolicyConfigType = "encryptFields"
	EventGatewayVirtualClusterProducePolicyConfigTypeModifyHeadersPolicyCreate             EventGatewayVirtualClusterProducePolicyConfigType = "modifyHeaders"
	EventGatewayVirtualClusterProducePolicyConfigTypeProduceSchemaValidationPolicy         EventGatewayVirtualClusterProducePolicyConfigType = "schemaValidation"
)

EventGatewayVirtualClusterProducePolicyConfigType values.

type EventGatewayVirtualClusterProducePolicyList added in v2.2.0

type EventGatewayVirtualClusterProducePolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitzero"`
	Items           []EventGatewayVirtualClusterProducePolicy `json:"items"`
}

EventGatewayVirtualClusterProducePolicyList contains a list of EventGatewayVirtualClusterProducePolicy.

+kubebuilder:object:root=true

func (*EventGatewayVirtualClusterProducePolicyList) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicyList) DeepCopyInto added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicyList) DeepCopyObject added in v2.2.0

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

func (EventGatewayVirtualClusterProducePolicyList) GetItems added in v2.2.0

GetItems returns the list of EventGatewayVirtualClusterProducePolicy items.

type EventGatewayVirtualClusterProducePolicySDKOpsBoolField added in v2.2.0

type EventGatewayVirtualClusterProducePolicySDKOpsBoolField struct {
	Label string
	Path  []string
}

EventGatewayVirtualClusterProducePolicySDKOpsBoolField describes a boolean enum field that must be normalized for SDK payloads.

func (*EventGatewayVirtualClusterProducePolicySDKOpsBoolField) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicySDKOpsBoolField) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualClusterProducePolicySpec added in v2.2.0

type EventGatewayVirtualClusterProducePolicySpec struct {
	// EventGatewayVirtualClusterRef is the reference to the parent EventGatewayVirtualCluster object.
	//
	// +required
	EventGatewayVirtualClusterRef commonv1alpha1.ObjectRef `json:"eventGatewayVirtualClusterRef,omitzero"`

	// APISpec defines the desired state of the resource's API spec fields.
	//
	// +optional
	APISpec EventGatewayVirtualClusterProducePolicyAPISpec `json:"apiSpec,omitzero"`
}

EventGatewayVirtualClusterProducePolicySpec defines the desired state of EventGatewayVirtualClusterProducePolicy.

func (*EventGatewayVirtualClusterProducePolicySpec) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicySpec) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualClusterProducePolicyStatus added in v2.2.0

type EventGatewayVirtualClusterProducePolicyStatus struct {
	// Conditions represent the current state of the resource.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Konnect contains the Konnect entity status.
	//
	// +optional
	KonnectEntityStatus `json:",inline"`

	// GatewayID is the Konnect ID of the parent Gateway.
	//
	// +optional
	GatewayID *KonnectEntityRef `json:"gatewayID,omitempty"`

	// VirtualClusterID is the Konnect ID of the parent VirtualCluster.
	//
	// +optional
	VirtualClusterID *KonnectEntityRef `json:"virtualClusterID,omitempty"`

	// ObservedGeneration is the most recent generation observed
	//
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitzero"`
}

EventGatewayVirtualClusterProducePolicyStatus defines the observed state of EventGatewayVirtualClusterProducePolicy.

func (*EventGatewayVirtualClusterProducePolicyStatus) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterProducePolicyStatus) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualClusterSpec added in v2.2.0

type EventGatewayVirtualClusterSpec struct {
	// EventGatewayBackendClusterRef is the reference to the parent EventGatewayBackendCluster object.
	//
	// +required
	EventGatewayBackendClusterRef commonv1alpha1.ObjectRef `json:"eventGatewayBackendClusterRef,omitzero"`

	// APISpec defines the desired state of the resource's API spec fields.
	//
	// +optional
	APISpec EventGatewayVirtualClusterAPISpec `json:"apiSpec,omitzero"`
}

EventGatewayVirtualClusterSpec defines the desired state of EventGatewayVirtualCluster.

func (*EventGatewayVirtualClusterSpec) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterSpec) DeepCopyInto added in v2.2.0

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

type EventGatewayVirtualClusterStatus added in v2.2.0

type EventGatewayVirtualClusterStatus struct {
	// Conditions represent the current state of the resource.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// Konnect contains the Konnect entity status.
	//
	// +optional
	KonnectEntityStatus `json:",inline"`

	// GatewayID is the Konnect ID of the parent Gateway.
	//
	// +optional
	GatewayID *KonnectEntityRef `json:"gatewayID,omitempty"`

	// EventGatewayBackendCluster is the Konnect entity reference for the parent EventGatewayBackendCluster.
	//
	// +optional
	EventGatewayBackendCluster *KonnectEntityRef `json:"eventGatewayBackendCluster,omitempty"`

	// ObservedGeneration is the most recent generation observed
	//
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitzero"`
}

EventGatewayVirtualClusterStatus defines the observed state of EventGatewayVirtualCluster.

func (*EventGatewayVirtualClusterStatus) DeepCopy added in v2.2.0

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

func (*EventGatewayVirtualClusterStatus) DeepCopyInto added in v2.2.0

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

type ForwardToClusterByPortMappingConfig added in v2.2.0

type ForwardToClusterByPortMappingConfig struct {
	// Virtual brokers are advertised to clients using this host.
	// Any kind of host supported by kafka can be used.
	// If not defined, it's listen_address.
	// If listen_address is `0.0.0.0` it's the destination IP of the TCP
	// connection.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[a-z0-9](?:[a-z0-9\-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9\-]{0,61}[a-z0-9])?)*$`
	AdvertisedHost string `json:"advertisedHost,omitzero"`
	// If set to `at_start`, the first port will be used as a bootstrap port.
	// It provides a stable endpoint to use as the bootstrap server for clients,
	// regardless of broker
	// IDs in the cluster.
	//
	// Additionally, it offsets all ports by one, so for example, if there are 3
	// brokers (id=1, id=2, id=3)
	// then we will use 4 ports: 9092 (bootstrap), 9093 (id=1), 9094 (id=2), 9095
	// (id=3)
	// With `none` we will use 3 ports: 9092 (id=1), 9093 (id=2), 9094 (id=3).
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=none;at_start
	BootstrapPort string `json:"bootstrapPort,omitzero"`
	// A reference to a virtual cluster.
	//
	// +required
	Destination *VirtualClusterReference `json:"destination,omitempty"`
	// The lowest broker node ID in the cluster.
	//
	// +optional
	MinBrokerID int `json:"minBrokerID,omitzero"`
}

ForwardToClusterByPortMappingConfig The configuration to forward request to `destination` and rewrite ports accordingly. All broker ids must fit in the range of ports defined in the listener, if it doesn't the metadata request will return an error.

For example with ports: [9000, "9092-9094", "9100"] and `bootstrap_port: at_start` and brokers with ids 1, 2, 3, 4 we will map: bootstrap to 9000 broker 1 to 9001, broker 2 to 9002, broker 3 to 9003, and broker 4 to 9004 and fail the metadata request as these ports are not open.

However, with the same configuration but with brokers with ids: 92,93,94,100 we will map: bootstrap to 9000, broker 92 to 9092, broker 93 to 9093, broker 94 to 9094, and broker 100 to 9100.

In most cases users should use a single range `["9090-9094"] ` and `bootstrap_port: at_start` and connect with `<host>:9090` as bootstrap server. Being able to use multiple ranges is only useful when when dealing with gaps in broker ids.

It is strongly discouraged to use port mapping in production.

func (*ForwardToClusterByPortMappingConfig) DeepCopy added in v2.2.0

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

func (*ForwardToClusterByPortMappingConfig) DeepCopyInto added in v2.2.0

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

type ForwardToClusterBySNIConfig added in v2.2.0

type ForwardToClusterBySNIConfig struct {
	// Virtual brokers are advertised to clients with this port instead of
	// listen_port.
	// Useful when proxy is
	// behind loadbalancer listening on different port.
	//
	//
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	AdvertisedPort int `json:"advertisedPort,omitzero"`
	// Configures DNS names assigned to brokers in virtual clusters.
	//
	// - `per_cluster_suffix` is the default and allocates one level in the
	// hierarchy for virtual clusters:
	// `broker-{node_id}.{virtual_cluster}.{sni_suffix}`
	// - `shared_suffix` puts all brokers from every virtual clusters into the same
	// level: `broker-{node_id}-{virtual_cluster}.{sni_suffix}`.
	// This makes it easier to manage certificates for this listener.
	//
	// **Requires a minimum runtime version of `1.1`**.
	//
	// +optional
	BrokerHostFormat ForwardToClusterBySNIConfigBrokerHostFormat `json:"brokerHostFormat,omitzero"`
	// Optional suffix for TLS SNI validation.
	//
	// This suffix is concatenated with the virtual cluster "dns.label" label to
	// form the base name for the SNI.
	// If not provided, the virtual cluster "dns.label" label alone is used as the
	// base name for the SNI.
	// For example with sni_suffix: `.example.com` and virtual cluster "dns.label"
	// label: `my-cluster`,
	// the SNI suffix for it is `my-cluster.example.com`.
	// If "dns.label" label is absent on the virtual cluster, the traffic won't be
	// routed there.
	//
	// The bootstrap host is `bootstrap.my-cluster.example.com` and then each
	// broker is addressable at `broker-0.my-cluster.example.com`,
	// `broker-1.my-cluster.example.com`, etc.
	// This means that your deployment needs to have a wildcard certificate for the
	// domain and a DNS resolver that routes `*.my-cluster.example.com` to the
	// proxy.
	//
	// The accepted format is a DNS subdomain starting with either `.` or `-`.
	// For example, `-keg.example.com`, `.keg.example.com`,
	// `.namespace.svc.cluster.local`, and `.localhost` are all valid,
	// while `keg.example.com` is not.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[\.-]([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)*([a-z0-9-]*[a-z0-9])$`
	SniSuffix string `json:"sniSuffix,omitzero"`
}

ForwardToClusterBySNIConfig The configuration to forward requests to virtual clusters configured with SNI routing.

func (*ForwardToClusterBySNIConfig) DeepCopy added in v2.2.0

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

func (*ForwardToClusterBySNIConfig) DeepCopyInto added in v2.2.0

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

type ForwardToClusterBySNIConfigBrokerHostFormat added in v2.2.0

type ForwardToClusterBySNIConfigBrokerHostFormat struct {
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=per_cluster_suffix;shared_suffix
	Type string `json:"type,omitzero"`
}

ForwardToClusterBySNIConfigBrokerHostFormat Configures DNS names assigned to brokers in virtual clusters.

- `per_cluster_suffix` is the default and allocates one level in the hierarchy for virtual clusters: `broker-{node_id}.{virtual_cluster}.{sni_suffix}` - `shared_suffix` puts all brokers from every virtual clusters into the same level: `broker-{node_id}-{virtual_cluster}.{sni_suffix}`. This makes it easier to manage certificates for this listener.

**Requires a minimum runtime version of `1.1`**.

func (*ForwardToClusterBySNIConfigBrokerHostFormat) DeepCopy added in v2.2.0

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

func (*ForwardToClusterBySNIConfigBrokerHostFormat) DeepCopyInto added in v2.2.0

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

type ForwardToVirtualClusterPolicy added in v2.2.0

type ForwardToVirtualClusterPolicy struct {
	// The configuration of the policy.
	//
	// +required
	Config *ForwardToVirtualClusterPolicyConfig `json:"config,omitempty"`
	// A human-readable description of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=512
	Description string `json:"description,omitzero"`
	// Whether the policy is enabled.
	//
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Enabled string `json:"enabled,omitzero"`
	// Labels store metadata of an entity that can be used for filtering an entity
	// list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong",
	// "konnect", "mesh", "kic", or "_".
	//
	//
	// +optional
	// +kubebuilder:validation:MaxProperties=50
	Labels Labels `json:"labels,omitzero"`
	// A unique user-defined name of the policy.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

ForwardToVirtualClusterPolicy Forwards requests to virtual clusters configured with port routing or SNI routing. While there can be multiple of these policies configured on a listener, there can only be one instance of `port_mapping`. When multiple policies are configured, the first one that matches the connection is used. If no policy matches, the connection is rejected.

When using `port_mapping`, there must be a mapping port for each broker on the backend cluster see `ForwardToClusterBySNIConfig` for more details.

func (*ForwardToVirtualClusterPolicy) DeepCopy added in v2.2.0

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

func (*ForwardToVirtualClusterPolicy) DeepCopyInto added in v2.2.0

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

func (*ForwardToVirtualClusterPolicy) UnmarshalJSON added in v2.2.0

func (s *ForwardToVirtualClusterPolicy) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ForwardToVirtualClusterPolicyConfig added in v2.2.0

type ForwardToVirtualClusterPolicyConfig struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=portMapping;sni
	Type ForwardToVirtualClusterPolicyConfigType `json:"type,omitempty"`

	// PortMapping configuration.
	//
	// +optional
	PortMapping *ForwardToClusterByPortMappingConfig `json:"portMapping,omitempty"`
	// SNI configuration.
	//
	// +optional
	SNI *ForwardToClusterBySNIConfig `json:"sni,omitempty"`
}

ForwardToVirtualClusterPolicyConfig represents a union type for config. Only one of the fields should be set based on the Type.

func (*ForwardToVirtualClusterPolicyConfig) DeepCopy added in v2.2.0

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

func (*ForwardToVirtualClusterPolicyConfig) DeepCopyInto added in v2.2.0

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

func (ForwardToVirtualClusterPolicyConfig) MarshalJSON added in v2.2.0

func (u ForwardToVirtualClusterPolicyConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*ForwardToVirtualClusterPolicyConfig) UnmarshalJSON added in v2.2.0

func (u *ForwardToVirtualClusterPolicyConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ForwardToVirtualClusterPolicyConfigType added in v2.2.0

type ForwardToVirtualClusterPolicyConfigType string

ForwardToVirtualClusterPolicyConfigType represents the type of config.

const (
	ForwardToVirtualClusterPolicyConfigTypePortMapping ForwardToVirtualClusterPolicyConfigType = "portMapping"
	ForwardToVirtualClusterPolicyConfigTypeSNI         ForwardToVirtualClusterPolicyConfigType = "sni"
)

ForwardToVirtualClusterPolicyConfigType values.

type GatewaySecret added in v2.2.0

type GatewaySecret string

GatewaySecret A sensitive value containing the secret or a reference to a secret as a template string expression. If the value is provided as plain text, it is encrypted at rest and omitted from API responses. If provided as an expression, the expression itself is stored and returned by the API.

type GatewaySecretReferenceOrLiteral added in v2.2.0

type GatewaySecretReferenceOrLiteral string

GatewaySecretReferenceOrLiteral A literal value or a reference to an existing secret as a template string expression. The value is stored and returned by the API as-is, not treated as sensitive information.

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. +kong:channels=kong-operator

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

IngressClassParametersSpec defines the desired state of IngressClassParameters.

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 KeySetRef

type KeySetRef struct {
	// Type defines type of the KeySet object reference. It can be one of:
	// - konnectID
	// - namespacedRef
	Type KeySetRefType `json:"type"`

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

	// NamespacedRef is a reference to a KeySet entity inside the cluster.
	// This field is required when the Type is namespacedRef.
	// +optional
	NamespacedRef *commonv1alpha1.NameRef `json:"namespacedRef,omitempty"`
}

KeySetRef is the schema for the KeySetRef type. It is used to reference a KeySet entity. +kubebuilder:validation:XValidation:rule="self.type == 'namespacedRef' ? has(self.namespacedRef) : true", message="when type is namespacedRef, namespacedRef must be set" +kubebuilder:validation:XValidation:rule="self.type == 'konnectID' ? has(self.konnectID) : true", message="when type is konnectID, konnectID must be set" +kong:channels=kong-operator

func (*KeySetRef) DeepCopy

func (in *KeySetRef) DeepCopy() *KeySetRef

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

func (*KeySetRef) DeepCopyInto

func (in *KeySetRef) DeepCopyInto(out *KeySetRef)

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

type KeySetRefType

type KeySetRefType string

KeySetRefType is the enum type for the KeySetRef. +kubebuilder:validation:Enum=konnectID;namespacedRef

const (
	// KeySetRefKonnectID is the type for the KonnectID KeySetRef.
	// It is used to reference a KeySet entity by its ID on the Konnect platform.
	KeySetRefKonnectID KeySetRefType = "konnectID"

	// KeySetRefNamespacedRef is the type for the KeySetRef.
	// It is used to reference a KeySet entity inside the cluster
	// using a namespaced reference.
	KeySetRefNamespacedRef KeySetRefType = "namespacedRef"
)

type Kind

type Kind string

Kind refers to a Kubernetes kind. +kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=63 +kubebuilder:validation:Pattern=`^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$`

type KongCACertificate

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

	Spec KongCACertificateSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCACertificateStatus `json:"status,omitempty"`
}

KongCACertificate is the schema for CACertificate API which defines a Kong CA Certificate.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongCACertificate) DeepCopy

func (in *KongCACertificate) DeepCopy() *KongCACertificate

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

func (*KongCACertificate) DeepCopyInto

func (in *KongCACertificate) DeepCopyInto(out *KongCACertificate)

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

func (*KongCACertificate) DeepCopyObject

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

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

func (*KongCACertificate) GetAdoptOptions

func (obj *KongCACertificate) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongCACertificate) GetConditions

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

GetConditions returns the Status Conditions.

func (*KongCACertificate) GetControlPlaneID

func (obj *KongCACertificate) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCACertificate status.

func (*KongCACertificate) GetControlPlaneRef

func (obj *KongCACertificate) GetControlPlaneRef() *commonv1alpha1.ControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongCACertificate) GetKonnectID

func (obj *KongCACertificate) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCACertificate status.

func (*KongCACertificate) GetKonnectStatus

func (obj *KongCACertificate) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCACertificate status.

func (KongCACertificate) GetTypeName

func (obj KongCACertificate) GetTypeName() string

GetTypeName returns the KongCACertificate Kind name.

func (*KongCACertificate) PersistsKonnectID added in v2.2.0

func (*KongCACertificate) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongCACertificate persists a Konnect ID in status.

func (*KongCACertificate) SetAdoptOptions

func (obj *KongCACertificate) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongCACertificate) SetConditions

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

SetConditions sets the Status Conditions.

func (*KongCACertificate) SetControlPlaneID

func (obj *KongCACertificate) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCACertificate status.

func (*KongCACertificate) SetControlPlaneRef

func (obj *KongCACertificate) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongCACertificate) SetKonnectID

func (obj *KongCACertificate) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCACertificate status.

type KongCACertificateAPISpec

type KongCACertificateAPISpec struct {
	// Cert is the PEM-encoded CA certificate.
	// This field is used when type is 'inline'.
	// +optional
	Cert string `json:"cert,omitempty"`

	// Tags is an optional set of tags applied to the certificate.
	// Tags will be applied when type is 'inline' or 'secretRef'.
	// This field allows you to attach metadata to the certificate for identification or organization purposes.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongCACertificateAPISpec contains the API specification for the KongCACertificate.

func (*KongCACertificateAPISpec) DeepCopy

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

func (*KongCACertificateAPISpec) DeepCopyInto

func (in *KongCACertificateAPISpec) DeepCopyInto(out *KongCACertificateAPISpec)

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

type KongCACertificateList

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

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

KongCACertificateList contains a list of KongCACertificates. +kubebuilder:object:root=true

func (*KongCACertificateList) DeepCopy

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

func (*KongCACertificateList) DeepCopyInto

func (in *KongCACertificateList) DeepCopyInto(out *KongCACertificateList)

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

func (*KongCACertificateList) DeepCopyObject

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

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

func (KongCACertificateList) GetItems

func (obj KongCACertificateList) GetItems() []KongCACertificate

GetItems returns the list of KongCACertificate items.

type KongCACertificateSourceType

type KongCACertificateSourceType string

KongCACertificateSourceType is the type of source for the CA certificate data.

const (
	// KongCACertificateSourceTypeInline indicates that the CA certificate data is provided inline in the spec.
	KongCACertificateSourceTypeInline KongCACertificateSourceType = "inline"
	// KongCACertificateSourceTypeSecretRef indicates that the CA certificate data is sourced from a Kubernetes Secret.
	KongCACertificateSourceTypeSecretRef KongCACertificateSourceType = "secretRef"
)

type KongCACertificateSpec

type KongCACertificateSpec struct {
	KongCACertificateAPISpec `json:",inline"`

	// Type indicates the source of the CA certificate data.
	// Can be 'inline' or 'secretRef'.
	// +kubebuilder:validation:Enum=inline;secretRef
	// +kubebuilder:default=inline
	// +optional
	Type *KongCACertificateSourceType `json:"type,omitempty"`

	// ControlPlaneRef references the Konnect Control Plane that this KongCACertificate should be created in.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	// Adopt is the options for adopting a CA certificate from an existing CA certificate in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`

	// SecretRef is a reference to a Kubernetes Secret containing the CA certificate.
	// This field is used when type is 'secretRef'.
	// The Secret must contain a key named 'ca.crt'.
	// The namespace field is optional, but will be restricted by validation until ReferenceGrant support is implemented.
	// +optional
	SecretRef *commonv1alpha1.NamespacedRef `json:"secretRef,omitempty"`
}

KongCACertificateSpec contains the specification for the KongCACertificate. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +kubebuilder:validation:XValidation:rule="!has(self.adopt) ? true : (has(self.controlPlaneRef) && self.controlPlaneRef.type == 'konnectNamespacedRef')", message="spec.adopt is allowed only when controlPlaneRef is konnectNamespacedRef" +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates" +kubebuilder:validation:XValidation:rule="self.type != 'inline' || (has(self.cert) && self.cert.size() != 0)", message="spec.cert is required when type is 'inline'" +kubebuilder:validation:XValidation:rule="self.type != 'secretRef' || has(self.secretRef)", message="spec.secretRef is required when type is 'secretRef'" +kubebuilder:validation:XValidation:rule="!(has(self.cert) && has(self.secretRef))", message="cert and secretRef cannot be set at the same time"

func (*KongCACertificateSpec) DeepCopy

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

func (*KongCACertificateSpec) DeepCopyInto

func (in *KongCACertificateSpec) DeepCopyInto(out *KongCACertificateSpec)

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

type KongCACertificateStatus

type KongCACertificateStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCACertificateStatus defines the observed state of KongCACertificate.

func (*KongCACertificateStatus) DeepCopy

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

func (*KongCACertificateStatus) DeepCopyInto

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

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

type KongCertificate

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

	Spec KongCertificateSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCertificateStatus `json:"status,omitempty"`
}

KongCertificate is the schema for Certificate API which defines a Kong Certificate.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongCertificate) DeepCopy

func (in *KongCertificate) DeepCopy() *KongCertificate

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

func (*KongCertificate) DeepCopyInto

func (in *KongCertificate) DeepCopyInto(out *KongCertificate)

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

func (*KongCertificate) DeepCopyObject

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

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

func (*KongCertificate) GetAdoptOptions

func (obj *KongCertificate) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongCertificate) GetConditions

func (obj *KongCertificate) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongCertificate) GetControlPlaneID

func (obj *KongCertificate) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCertificate status.

func (*KongCertificate) GetControlPlaneRef

func (obj *KongCertificate) GetControlPlaneRef() *commonv1alpha1.ControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongCertificate) GetKonnectID

func (obj *KongCertificate) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCertificate status.

func (*KongCertificate) GetKonnectStatus

func (obj *KongCertificate) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCertificate status.

func (KongCertificate) GetTypeName

func (obj KongCertificate) GetTypeName() string

GetTypeName returns the KongCertificate Kind name.

func (*KongCertificate) PersistsKonnectID added in v2.2.0

func (*KongCertificate) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongCertificate persists a Konnect ID in status.

func (*KongCertificate) SetAdoptOptions

func (obj *KongCertificate) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongCertificate) SetConditions

func (obj *KongCertificate) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*KongCertificate) SetControlPlaneID

func (obj *KongCertificate) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCertificate status.

func (*KongCertificate) SetControlPlaneRef

func (obj *KongCertificate) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongCertificate) SetKonnectID

func (obj *KongCertificate) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCertificate status.

type KongCertificateAPISpec

type KongCertificateAPISpec struct {
	// Cert is the PEM-encoded certificate.
	// This field is used when type is 'inline'.
	// +optional
	Cert string `json:"cert,omitempty"`
	// CertAlt is the PEM-encoded certificate.
	// This should only be set if you have both RSA and ECDSA types of
	// certificate available and would like Kong to prefer serving using ECDSA certs
	// when client advertises support for it.
	// This field is used when type is 'inline'.
	// +optional
	CertAlt string `json:"cert_alt,omitempty"`
	// Key is the PEM-encoded private key.
	// This field is used when type is 'inline'.
	// +optional
	Key string `json:"key,omitempty"`
	// KeyAlt is the PEM-encoded private key.
	// This should only be set if you have both RSA and ECDSA types of
	// certificate available and would like Kong to prefer serving using ECDSA certs
	// when client advertises support for it.
	// This field is used when type is 'inline'.
	// +optional
	KeyAlt string `json:"key_alt,omitempty"`

	// Tags is an optional set of tags applied to the certificate.
	// Tags will be applied when type is 'inline' or 'secretRef'.
	// This field allows you to attach metadata to the certificate for identification or organization purposes.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongCertificateAPISpec contains the API specification for the KongCertificate.

func (*KongCertificateAPISpec) DeepCopy

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

func (*KongCertificateAPISpec) DeepCopyInto

func (in *KongCertificateAPISpec) DeepCopyInto(out *KongCertificateAPISpec)

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

type KongCertificateList

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

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

KongCertificateList contains a list of KongCertificates. +kubebuilder:object:root=true

func (*KongCertificateList) DeepCopy

func (in *KongCertificateList) DeepCopy() *KongCertificateList

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

func (*KongCertificateList) DeepCopyInto

func (in *KongCertificateList) DeepCopyInto(out *KongCertificateList)

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

func (*KongCertificateList) DeepCopyObject

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

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

func (KongCertificateList) GetItems

func (obj KongCertificateList) GetItems() []KongCertificate

GetItems returns the list of KongCertificate items.

type KongCertificateSourceType

type KongCertificateSourceType string

KongCertificateSourceType is the type of source for the certificate data.

const (
	// KongCertificateSourceTypeInline indicates that the certificate data is provided inline in the spec.
	KongCertificateSourceTypeInline KongCertificateSourceType = "inline"
	// KongCertificateSourceTypeSecretRef indicates that the certificate data is sourced from a Kubernetes Secret.
	KongCertificateSourceTypeSecretRef KongCertificateSourceType = "secretRef"
)

type KongCertificateSpec

type KongCertificateSpec struct {
	KongCertificateAPISpec `json:",inline"`

	// Type indicates the source of the certificate data.
	// Can be 'inline' or 'secretRef'.
	// +kubebuilder:validation:Enum=inline;secretRef
	// +kubebuilder:default=inline
	// +optional
	Type *KongCertificateSourceType `json:"type,omitempty"`

	// ControlPlaneRef references the Konnect Control Plane that this KongCertificate should be created in.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	// Adopt is the options for adopting a certificate from an existing certificate in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`

	// SecretRef is a reference to a Kubernetes Secret containing the certificate and key.
	// This field is used when type is 'secretRef'.
	// The Secret must contain keys named 'tls.crt' and 'tls.key'.
	// The namespace field is optional, but will be restricted by validation until ReferenceGrant support is implemented.
	// +optional
	SecretRef *commonv1alpha1.NamespacedRef `json:"secretRef,omitempty"`

	// SecretRefAlt is a reference to a Kubernetes Secret containing the alternative certificate and key.
	// This should only be set if you have both RSA and ECDSA types of certificate available
	// and would like Kong to prefer serving using ECDSA certs when client advertises support for it.
	// This field is used when type is 'secretRef'.
	// The Secret must contain keys named 'tls.crt' and 'tls.key'.
	// The namespace field is optional, but will be restricted by validation until ReferenceGrant support is implemented.
	// +optional
	SecretRefAlt *commonv1alpha1.NamespacedRef `json:"secretRefAlt,omitempty"`
}

KongCertificateSpec contains the specification for the KongCertificate. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +kubebuilder:validation:XValidation:rule="!has(self.adopt) ? true : (has(self.controlPlaneRef) && self.controlPlaneRef.type == 'konnectNamespacedRef')", message="spec.adopt is allowed only when controlPlaneRef is konnectNamespacedRef" +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates" +kubebuilder:validation:XValidation:rule="self.type != 'inline' || (has(self.cert) && self.cert.size() != 0)", message="spec.cert is required when type is 'inline'" +kubebuilder:validation:XValidation:rule="self.type != 'inline' || (has(self.key) && self.key.size() != 0)", message="spec.key is required when type is 'inline'" +kubebuilder:validation:XValidation:rule="self.type != 'secretRef' || has(self.secretRef)", message="spec.secretRef is required when type is 'secretRef'" +kubebuilder:validation:XValidation:rule="!((has(self.cert) || has(self.key)) && (has(self.secretRef) || has(self.secretRefAlt)))", message="cert/key and secretRef/secretRefAlt cannot be set at the same time" +kubebuilder:validation:XValidation:rule="!((has(self.cert_alt) || has(self.key_alt)) && (has(self.secretRef) || has(self.secretRefAlt)))", message="cert_alt/key_alt and secretRef/secretRefAlt cannot be set at the same time"

func (*KongCertificateSpec) DeepCopy

func (in *KongCertificateSpec) DeepCopy() *KongCertificateSpec

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

func (*KongCertificateSpec) DeepCopyInto

func (in *KongCertificateSpec) DeepCopyInto(out *KongCertificateSpec)

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

type KongCertificateStatus

type KongCertificateStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCertificateStatus defines the observed state of KongCertificate.

func (*KongCertificateStatus) DeepCopy

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

func (*KongCertificateStatus) DeepCopyInto

func (in *KongCertificateStatus) DeepCopyInto(out *KongCertificateStatus)

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

type KongCredentialACL

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

	// Spec contains the ACL credential specification.
	Spec KongCredentialACLSpec `json:"spec"`

	// Status contains the ACL credential status.
	//
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCredentialACLStatus `json:"status,omitempty"`
}

KongCredentialACL is the schema for ACL credentials API which defines a ACL credential for consumers.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.consumerRef == self.spec.consumerRef",message="spec.consumerRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongCredentialACL) DeepCopy

func (in *KongCredentialACL) DeepCopy() *KongCredentialACL

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

func (*KongCredentialACL) DeepCopyInto

func (in *KongCredentialACL) DeepCopyInto(out *KongCredentialACL)

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

func (*KongCredentialACL) DeepCopyObject

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

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

func (*KongCredentialACL) GetAdoptOptions

func (obj *KongCredentialACL) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongCredentialACL) GetConditions

func (obj *KongCredentialACL) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongCredentialACL) GetConsumerRefName

func (obj *KongCredentialACL) GetConsumerRefName() string

func (*KongCredentialACL) GetControlPlaneID

func (obj *KongCredentialACL) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCredentialACL status.

func (*KongCredentialACL) GetKonnectID

func (obj *KongCredentialACL) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCredentialACL status.

func (*KongCredentialACL) GetKonnectStatus

func (obj *KongCredentialACL) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCredentialACL status.

func (KongCredentialACL) GetTypeName

func (obj KongCredentialACL) GetTypeName() string

GetTypeName returns the KongCredentialACL Kind name.

func (*KongCredentialACL) PersistsKonnectID added in v2.2.0

func (*KongCredentialACL) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongCredentialACL persists a Konnect ID in status.

func (*KongCredentialACL) SetAdoptOptions

func (obj *KongCredentialACL) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongCredentialACL) SetConditions

func (obj *KongCredentialACL) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*KongCredentialACL) SetControlPlaneID

func (obj *KongCredentialACL) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCredentialACL status.

func (*KongCredentialACL) SetKonnectConsumerIDInStatus

func (obj *KongCredentialACL) SetKonnectConsumerIDInStatus(id string)

func (*KongCredentialACL) SetKonnectID

func (obj *KongCredentialACL) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCredentialACL status.

type KongCredentialACLAPISpec

type KongCredentialACLAPISpec struct {
	// Group is the name for the ACL credential.
	//
	// +required
	Group string `json:"group"`

	// Tags is a list of tags for the ACL credential.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongCredentialACLAPISpec defines specification of an ACL credential.

func (*KongCredentialACLAPISpec) DeepCopy

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

func (*KongCredentialACLAPISpec) DeepCopyInto

func (in *KongCredentialACLAPISpec) DeepCopyInto(out *KongCredentialACLAPISpec)

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

type KongCredentialACLList

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

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

KongCredentialACLList contains a list of ACL credentials. +kubebuilder:object:root=true

func (*KongCredentialACLList) DeepCopy

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

func (*KongCredentialACLList) DeepCopyInto

func (in *KongCredentialACLList) DeepCopyInto(out *KongCredentialACLList)

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

func (*KongCredentialACLList) DeepCopyObject

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

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

func (KongCredentialACLList) GetItems

func (obj KongCredentialACLList) GetItems() []KongCredentialACL

GetItems returns the list of KongCredentialACL items.

type KongCredentialACLSpec

type KongCredentialACLSpec struct {
	KongCredentialACLAPISpec `json:",inline"`

	// ConsumerRef is a reference to a Consumer this KongCredentialACL is associated with.
	//
	// +required
	ConsumerRef corev1.LocalObjectReference `json:"consumerRef"`

	// Adopt is the options for adopting an ACL from an existing ACL in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongCredentialACLSpec defines specification of Kong ACL. +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongCredentialACLSpec) DeepCopy

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

func (*KongCredentialACLSpec) DeepCopyInto

func (in *KongCredentialACLSpec) DeepCopyInto(out *KongCredentialACLSpec)

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

type KongCredentialACLStatus

type KongCredentialACLStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndConsumerRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCredentialACLStatus represents the current status of the ACL credential resource.

func (*KongCredentialACLStatus) DeepCopy

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

func (*KongCredentialACLStatus) DeepCopyInto

func (in *KongCredentialACLStatus) DeepCopyInto(out *KongCredentialACLStatus)

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

type KongCredentialAPIKey

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

	// Spec contains the API Key credential specification.
	Spec KongCredentialAPIKeySpec `json:"spec"`

	// Status contains the API Key credential status.
	//
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCredentialAPIKeyStatus `json:"status,omitempty"`
}

KongCredentialAPIKey is the schema for API key credentials API which defines a API key credential for consumers.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.consumerRef == self.spec.consumerRef",message="spec.consumerRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongCredentialAPIKey) DeepCopy

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

func (*KongCredentialAPIKey) DeepCopyInto

func (in *KongCredentialAPIKey) DeepCopyInto(out *KongCredentialAPIKey)

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

func (*KongCredentialAPIKey) DeepCopyObject

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

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

func (*KongCredentialAPIKey) GetAdoptOptions

func (obj *KongCredentialAPIKey) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongCredentialAPIKey) GetConditions

func (obj *KongCredentialAPIKey) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongCredentialAPIKey) GetConsumerRefName

func (obj *KongCredentialAPIKey) GetConsumerRefName() string

func (*KongCredentialAPIKey) GetControlPlaneID

func (obj *KongCredentialAPIKey) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCredentialAPIKey status.

func (*KongCredentialAPIKey) GetKonnectID

func (obj *KongCredentialAPIKey) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCredentialAPIKey status.

func (*KongCredentialAPIKey) GetKonnectStatus

func (obj *KongCredentialAPIKey) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCredentialAPIKey status.

func (KongCredentialAPIKey) GetTypeName

func (obj KongCredentialAPIKey) GetTypeName() string

GetTypeName returns the KongCredentialAPIKey Kind name.

func (*KongCredentialAPIKey) PersistsKonnectID added in v2.2.0

func (*KongCredentialAPIKey) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongCredentialAPIKey persists a Konnect ID in status.

func (*KongCredentialAPIKey) SetAdoptOptions

func (obj *KongCredentialAPIKey) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongCredentialAPIKey) SetConditions

func (obj *KongCredentialAPIKey) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*KongCredentialAPIKey) SetControlPlaneID

func (obj *KongCredentialAPIKey) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCredentialAPIKey status.

func (*KongCredentialAPIKey) SetKonnectConsumerIDInStatus

func (obj *KongCredentialAPIKey) SetKonnectConsumerIDInStatus(id string)

func (*KongCredentialAPIKey) SetKonnectID

func (obj *KongCredentialAPIKey) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCredentialAPIKey status.

type KongCredentialAPIKeyAPISpec

type KongCredentialAPIKeyAPISpec struct {
	// Key is the key for the API Key credential.
	//
	// +required
	Key string `json:"key"`

	// Tags is a list of tags for the API Key credential.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongCredentialAPIKeyAPISpec defines specification of an API Key credential.

func (*KongCredentialAPIKeyAPISpec) DeepCopy

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

func (*KongCredentialAPIKeyAPISpec) DeepCopyInto

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

type KongCredentialAPIKeyList

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

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

KongCredentialAPIKeyList contains a list of API Key credentials. +kubebuilder:object:root=true

func (*KongCredentialAPIKeyList) DeepCopy

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

func (*KongCredentialAPIKeyList) DeepCopyInto

func (in *KongCredentialAPIKeyList) DeepCopyInto(out *KongCredentialAPIKeyList)

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

func (*KongCredentialAPIKeyList) DeepCopyObject

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

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

func (KongCredentialAPIKeyList) GetItems

GetItems returns the list of KongCredentialAPIKey items.

type KongCredentialAPIKeySpec

type KongCredentialAPIKeySpec struct {
	KongCredentialAPIKeyAPISpec `json:",inline"`

	// ConsumerRef is a reference to a Consumer this KongCredentialAPIKey is associated with.
	//
	// +required
	ConsumerRef corev1.LocalObjectReference `json:"consumerRef"`

	// Adopt is the options for adopting an API key credential from an existing API key in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongCredentialAPIKeySpec defines specification of a Kong API key credential. +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongCredentialAPIKeySpec) DeepCopy

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

func (*KongCredentialAPIKeySpec) DeepCopyInto

func (in *KongCredentialAPIKeySpec) DeepCopyInto(out *KongCredentialAPIKeySpec)

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

type KongCredentialAPIKeyStatus

type KongCredentialAPIKeyStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndConsumerRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCredentialAPIKeyStatus represents the current status of the API Key credential resource.

func (*KongCredentialAPIKeyStatus) DeepCopy

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

func (*KongCredentialAPIKeyStatus) DeepCopyInto

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

type KongCredentialBasicAuth

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

	// Spec contains the BasicAuth credential specification.
	Spec KongCredentialBasicAuthSpec `json:"spec"`

	// Status contains the BasicAuth credential status.
	//
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCredentialBasicAuthStatus `json:"status,omitempty"`
}

KongCredentialBasicAuth is the schema for BasicAuth credentials API which defines a BasicAuth credential for consumers.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.consumerRef == self.spec.consumerRef",message="spec.consumerRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongCredentialBasicAuth) DeepCopy

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

func (*KongCredentialBasicAuth) DeepCopyInto

func (in *KongCredentialBasicAuth) DeepCopyInto(out *KongCredentialBasicAuth)

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

func (*KongCredentialBasicAuth) DeepCopyObject

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

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

func (*KongCredentialBasicAuth) GetAdoptOptions

func (obj *KongCredentialBasicAuth) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongCredentialBasicAuth) GetConditions

func (obj *KongCredentialBasicAuth) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongCredentialBasicAuth) GetConsumerRefName

func (obj *KongCredentialBasicAuth) GetConsumerRefName() string

func (*KongCredentialBasicAuth) GetControlPlaneID

func (obj *KongCredentialBasicAuth) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCredentialBasicAuth status.

func (*KongCredentialBasicAuth) GetKonnectID

func (obj *KongCredentialBasicAuth) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCredentialBasicAuth status.

func (*KongCredentialBasicAuth) GetKonnectStatus

GetKonnectStatus returns the Konnect status contained in the KongCredentialBasicAuth status.

func (KongCredentialBasicAuth) GetTypeName

func (obj KongCredentialBasicAuth) GetTypeName() string

GetTypeName returns the KongCredentialBasicAuth Kind name.

func (*KongCredentialBasicAuth) PersistsKonnectID added in v2.2.0

func (*KongCredentialBasicAuth) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongCredentialBasicAuth persists a Konnect ID in status.

func (*KongCredentialBasicAuth) SetAdoptOptions

func (obj *KongCredentialBasicAuth) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongCredentialBasicAuth) SetConditions

func (obj *KongCredentialBasicAuth) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*KongCredentialBasicAuth) SetControlPlaneID

func (obj *KongCredentialBasicAuth) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCredentialBasicAuth status.

func (*KongCredentialBasicAuth) SetKonnectConsumerIDInStatus

func (obj *KongCredentialBasicAuth) SetKonnectConsumerIDInStatus(id string)

func (*KongCredentialBasicAuth) SetKonnectID

func (obj *KongCredentialBasicAuth) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCredentialBasicAuth status.

type KongCredentialBasicAuthAPISpec

type KongCredentialBasicAuthAPISpec struct {
	// Password is the password for the BasicAuth credential.
	//
	// +required
	Password string `json:"password"`

	// Tags is a list of tags for the BasicAuth credential.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`

	// Username is the username for the BasicAuth credential.
	//
	// +required
	Username string `json:"username"`
}

KongCredentialBasicAuthAPISpec defines specification of a BasicAuth credential.

func (*KongCredentialBasicAuthAPISpec) DeepCopy

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

func (*KongCredentialBasicAuthAPISpec) DeepCopyInto

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

type KongCredentialBasicAuthList

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

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

KongCredentialBasicAuthList contains a list of BasicAuth credentials. +kubebuilder:object:root=true

func (*KongCredentialBasicAuthList) DeepCopy

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

func (*KongCredentialBasicAuthList) DeepCopyInto

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

func (*KongCredentialBasicAuthList) DeepCopyObject

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

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

func (KongCredentialBasicAuthList) GetItems

GetItems returns the list of KongCredentialBasicAuth items.

type KongCredentialBasicAuthSpec

type KongCredentialBasicAuthSpec struct {
	KongCredentialBasicAuthAPISpec `json:",inline"`

	// ConsumerRef is a reference to a Consumer this CredentialBasicAuth is associated with.
	//
	// +required
	ConsumerRef corev1.LocalObjectReference `json:"consumerRef"`

	// Adopt is the options for adopting a BasicAuth credential from an existing BasicAuth credential in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongCredentialBasicAuthSpec defines specification of a Kong BasicAuth credential. +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongCredentialBasicAuthSpec) DeepCopy

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

func (*KongCredentialBasicAuthSpec) DeepCopyInto

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

type KongCredentialBasicAuthStatus

type KongCredentialBasicAuthStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndConsumerRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCredentialBasicAuthStatus represents the current status of the BasicAuth credential resource.

func (*KongCredentialBasicAuthStatus) DeepCopy

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

func (*KongCredentialBasicAuthStatus) DeepCopyInto

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

type KongCredentialHMAC

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

	// Spec contains the HMAC credential specification.
	Spec KongCredentialHMACSpec `json:"spec"`

	// Status contains the HMAC credential status.
	//
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCredentialHMACStatus `json:"status,omitempty"`
}

KongCredentialHMAC is the schema for HMAC credentials API which defines a HMAC credential for consumers.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.consumerRef == self.spec.consumerRef",message="spec.consumerRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongCredentialHMAC) DeepCopy

func (in *KongCredentialHMAC) DeepCopy() *KongCredentialHMAC

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

func (*KongCredentialHMAC) DeepCopyInto

func (in *KongCredentialHMAC) DeepCopyInto(out *KongCredentialHMAC)

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

func (*KongCredentialHMAC) DeepCopyObject

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

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

func (*KongCredentialHMAC) GetAdoptOptions

func (obj *KongCredentialHMAC) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongCredentialHMAC) GetConditions

func (obj *KongCredentialHMAC) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongCredentialHMAC) GetConsumerRefName

func (obj *KongCredentialHMAC) GetConsumerRefName() string

func (*KongCredentialHMAC) GetControlPlaneID

func (obj *KongCredentialHMAC) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCredentialHMAC status.

func (*KongCredentialHMAC) GetKonnectID

func (obj *KongCredentialHMAC) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCredentialHMAC status.

func (*KongCredentialHMAC) GetKonnectStatus

func (obj *KongCredentialHMAC) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCredentialHMAC status.

func (KongCredentialHMAC) GetTypeName

func (obj KongCredentialHMAC) GetTypeName() string

GetTypeName returns the KongCredentialHMAC Kind name.

func (*KongCredentialHMAC) PersistsKonnectID added in v2.2.0

func (*KongCredentialHMAC) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongCredentialHMAC persists a Konnect ID in status.

func (*KongCredentialHMAC) SetAdoptOptions

func (obj *KongCredentialHMAC) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongCredentialHMAC) SetConditions

func (obj *KongCredentialHMAC) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*KongCredentialHMAC) SetControlPlaneID

func (obj *KongCredentialHMAC) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCredentialHMAC status.

func (*KongCredentialHMAC) SetKonnectConsumerIDInStatus

func (obj *KongCredentialHMAC) SetKonnectConsumerIDInStatus(id string)

func (*KongCredentialHMAC) SetKonnectID

func (obj *KongCredentialHMAC) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCredentialHMAC status.

type KongCredentialHMACAPISpec

type KongCredentialHMACAPISpec struct {
	// ID is the unique identifier for the HMAC credential.
	ID *string `json:"id,omitempty"`
	// Secret is the secret for the HMAC credential.
	Secret *string `json:"secret,omitempty"`
	// Tags is a list of tags for the HMAC credential.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
	// Username is the username for the HMAC credential.
	// +kubernetes:validation:Required
	Username *string `json:"username"`
}

KongCredentialHMACAPISpec defines specification of an HMAC credential.

func (*KongCredentialHMACAPISpec) DeepCopy

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

func (*KongCredentialHMACAPISpec) DeepCopyInto

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

type KongCredentialHMACList

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

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

KongCredentialHMACList contains a list of HMAC credentials. +kubebuilder:object:root=true

func (*KongCredentialHMACList) DeepCopy

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

func (*KongCredentialHMACList) DeepCopyInto

func (in *KongCredentialHMACList) DeepCopyInto(out *KongCredentialHMACList)

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

func (*KongCredentialHMACList) DeepCopyObject

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

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

func (KongCredentialHMACList) GetItems

func (obj KongCredentialHMACList) GetItems() []KongCredentialHMAC

GetItems returns the list of KongCredentialHMAC items.

type KongCredentialHMACSpec

type KongCredentialHMACSpec struct {
	KongCredentialHMACAPISpec `json:",inline"`

	// ConsumerRef is a reference to a Consumer this KongCredentialHMAC is associated with.
	//
	// +required
	ConsumerRef corev1.LocalObjectReference `json:"consumerRef"`

	// Adopt is the options for adopting a HMAC credential from an existing HMAC credential in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongCredentialHMACSpec defines specification of a Kong HMAC credential. +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongCredentialHMACSpec) DeepCopy

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

func (*KongCredentialHMACSpec) DeepCopyInto

func (in *KongCredentialHMACSpec) DeepCopyInto(out *KongCredentialHMACSpec)

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

type KongCredentialHMACStatus

type KongCredentialHMACStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndConsumerRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCredentialHMACStatus represents the current status of the HMAC credential resource.

func (*KongCredentialHMACStatus) DeepCopy

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

func (*KongCredentialHMACStatus) DeepCopyInto

func (in *KongCredentialHMACStatus) DeepCopyInto(out *KongCredentialHMACStatus)

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

type KongCredentialJWT

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

	// Spec contains the JWT credential specification.
	Spec KongCredentialJWTSpec `json:"spec"`

	// Status contains the JWT credential status.
	//
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongCredentialJWTStatus `json:"status,omitempty"`
}

KongCredentialJWT is the schema for JWT credentials API which defines a JWT credential for consumers.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.consumerRef == self.spec.consumerRef",message="spec.consumerRef is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="self.spec.algorithm in [ 'RS256','RS384','RS512','ES256','ES384','ES512','PS256','PS384','PS512','EdDSA', ] ? has(self.spec.rsa_public_key) : true",message="spec.rsa_public_key is required when algorithm is RS*, ES*, PS* or EdDSA*" +kong:channels=kong-operator

func (*KongCredentialJWT) DeepCopy

func (in *KongCredentialJWT) DeepCopy() *KongCredentialJWT

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

func (*KongCredentialJWT) DeepCopyInto

func (in *KongCredentialJWT) DeepCopyInto(out *KongCredentialJWT)

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

func (*KongCredentialJWT) DeepCopyObject

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

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

func (*KongCredentialJWT) GetAdoptOptions

func (obj *KongCredentialJWT) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongCredentialJWT) GetConditions

func (obj *KongCredentialJWT) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongCredentialJWT) GetConsumerRefName

func (obj *KongCredentialJWT) GetConsumerRefName() string

func (*KongCredentialJWT) GetControlPlaneID

func (obj *KongCredentialJWT) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongCredentialJWT status.

func (*KongCredentialJWT) GetKonnectID

func (obj *KongCredentialJWT) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongCredentialJWT status.

func (*KongCredentialJWT) GetKonnectStatus

func (obj *KongCredentialJWT) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongCredentialJWT status.

func (KongCredentialJWT) GetTypeName

func (obj KongCredentialJWT) GetTypeName() string

GetTypeName returns the KongCredentialJWT Kind name.

func (*KongCredentialJWT) PersistsKonnectID added in v2.2.0

func (*KongCredentialJWT) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongCredentialJWT persists a Konnect ID in status.

func (*KongCredentialJWT) SetAdoptOptions

func (obj *KongCredentialJWT) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongCredentialJWT) SetConditions

func (obj *KongCredentialJWT) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*KongCredentialJWT) SetControlPlaneID

func (obj *KongCredentialJWT) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongCredentialJWT status.

func (*KongCredentialJWT) SetKonnectConsumerIDInStatus

func (obj *KongCredentialJWT) SetKonnectConsumerIDInStatus(id string)

func (*KongCredentialJWT) SetKonnectID

func (obj *KongCredentialJWT) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongCredentialJWT status.

type KongCredentialJWTAPISpec

type KongCredentialJWTAPISpec struct {
	// Algorithm is the algorithm used to sign the JWT token.
	// +kubebuilder:default=HS256
	// +kubebuilder:validation:Enum=HS256;HS384;HS512;RS256;RS384;RS512;ES256;ES384;ES512;PS256;PS384;PS512;EdDSA
	Algorithm string `json:"algorithm,omitempty"`
	// ID is the unique identifier for the JWT credential.
	ID *string `json:"id,omitempty"`
	// Key is the key for the JWT credential.
	Key *string `json:"key,omitempty"`
	// RSA PublicKey is the RSA public key for the JWT credential.
	RSAPublicKey *string `json:"rsa_public_key,omitempty"`
	// Secret is the secret for the JWT credential.
	Secret *string `json:"secret,omitempty"`
	// Tags is a list of tags for the JWT credential.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongCredentialJWTAPISpec defines specification of an JWT credential.

func (*KongCredentialJWTAPISpec) DeepCopy

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

func (*KongCredentialJWTAPISpec) DeepCopyInto

func (in *KongCredentialJWTAPISpec) DeepCopyInto(out *KongCredentialJWTAPISpec)

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

type KongCredentialJWTList

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

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

KongCredentialJWTList contains a list of JWT credentials. +kubebuilder:object:root=true

func (*KongCredentialJWTList) DeepCopy

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

func (*KongCredentialJWTList) DeepCopyInto

func (in *KongCredentialJWTList) DeepCopyInto(out *KongCredentialJWTList)

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

func (*KongCredentialJWTList) DeepCopyObject

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

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

func (KongCredentialJWTList) GetItems

func (obj KongCredentialJWTList) GetItems() []KongCredentialJWT

GetItems returns the list of KongCredentialJWT items.

type KongCredentialJWTSpec

type KongCredentialJWTSpec struct {
	KongCredentialJWTAPISpec `json:",inline"`

	// ConsumerRef is a reference to a Consumer this KongCredentialJWT is associated with.
	//
	// +required
	ConsumerRef corev1.LocalObjectReference `json:"consumerRef"`

	// Adopt is the options for adopting a JWT credential from an existing JWT credential in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongCredentialJWTSpec defines specification of a Kong JWT credential. +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongCredentialJWTSpec) DeepCopy

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

func (*KongCredentialJWTSpec) DeepCopyInto

func (in *KongCredentialJWTSpec) DeepCopyInto(out *KongCredentialJWTSpec)

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

type KongCredentialJWTStatus

type KongCredentialJWTStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndConsumerRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongCredentialJWTStatus represents the current status of the JWT credential resource.

func (*KongCredentialJWTStatus) DeepCopy

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

func (*KongCredentialJWTStatus) DeepCopyInto

func (in *KongCredentialJWTStatus) DeepCopyInto(out *KongCredentialJWTStatus)

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

type KongCustomEntity

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

	Spec KongCustomEntitySpec `json:"spec"`

	// Status stores the reconciling status of the resource.
	Status KongCustomEntityStatus `json:"status,omitempty"`
}

KongCustomEntity defines a "custom" Kong entity that KIC cannot support the entity type directly. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:shortName=kce,categories=kong,path=kongcustomentities,singular=kongcustomentity +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Entity Type",type=string,JSONPath=`.spec.type`,description="type of the Kong entity" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:printcolumn:name="Programmed",type=string,JSONPath=`.status.conditions[?(@.type=="Programmed")].status` +kubebuilder:validation:XValidation:rule="self.spec.type == oldSelf.spec.type",message="The spec.type field is immutable" +kong:channels=kong-operator

func (*KongCustomEntity) DeepCopy

func (in *KongCustomEntity) DeepCopy() *KongCustomEntity

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

func (*KongCustomEntity) DeepCopyInto

func (in *KongCustomEntity) DeepCopyInto(out *KongCustomEntity)

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

func (*KongCustomEntity) DeepCopyObject

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

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

type KongCustomEntityList

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

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

KongCustomEntityList contains a list of KongCustomEntity.

func (*KongCustomEntityList) DeepCopy

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

func (*KongCustomEntityList) DeepCopyInto

func (in *KongCustomEntityList) DeepCopyInto(out *KongCustomEntityList)

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

func (*KongCustomEntityList) DeepCopyObject

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

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

type KongCustomEntitySpec

type KongCustomEntitySpec struct {
	// EntityType is the type of the Kong entity. The type is used in generating declarative configuration.
	EntityType string `json:"type"`
	// Fields defines the fields of the Kong entity itself.
	Fields apiextensionsv1.JSON `json:"fields"`
	// ControllerName specifies the controller that should reconcile it, like ingress class.
	ControllerName string `json:"controllerName"`

	// ParentRef references the kubernetes resource it attached to when its scope is "attached".
	// Currently only KongPlugin/KongClusterPlugin allowed. This will make the custom entity to be attached
	// to the entity(service/route/consumer) where the plugin is attached.
	ParentRef *ObjectReference `json:"parentRef,omitempty"`
}

KongCustomEntitySpec defines the specification of the KongCustomEntity. +kubebuilder:validation:XValidation:rule="!(self.type in ['services','routes','upstreams','targets','plugins','consumers','consumer_groups'])",message="The type field cannot be one of the known Kong entity types"

func (*KongCustomEntitySpec) DeepCopy

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

func (*KongCustomEntitySpec) DeepCopyInto

func (in *KongCustomEntitySpec) DeepCopyInto(out *KongCustomEntitySpec)

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

type KongCustomEntityStatus

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

KongCustomEntityStatus defines the status of the KongCustomEntity.

func (*KongCustomEntityStatus) DeepCopy

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

func (*KongCustomEntityStatus) DeepCopyInto

func (in *KongCustomEntityStatus) DeepCopyInto(out *KongCustomEntityStatus)

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

type KongDataPlaneClientCertificate

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

	Spec KongDataPlaneClientCertificateSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongDataPlaneClientCertificateStatus `json:"status,omitempty"`
}

KongDataPlaneClientCertificate is the schema for KongDataPlaneClientCertificate API which defines a KongDataPlaneClientCertificate entity.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="!has(self.spec.controlPlaneRef) ? true : (!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.cert == self.spec.cert", message="spec.cert is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongDataPlaneClientCertificate) DeepCopy

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

func (*KongDataPlaneClientCertificate) DeepCopyInto

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

func (*KongDataPlaneClientCertificate) DeepCopyObject

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

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

func (*KongDataPlaneClientCertificate) GetAdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongDataPlaneClientCertificate) GetConditions

func (obj *KongDataPlaneClientCertificate) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongDataPlaneClientCertificate) GetControlPlaneID

func (obj *KongDataPlaneClientCertificate) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongDataPlaneClientCertificate status.

func (*KongDataPlaneClientCertificate) GetControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongDataPlaneClientCertificate) GetKonnectID

func (obj *KongDataPlaneClientCertificate) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongDataPlaneClientCertificate status.

func (*KongDataPlaneClientCertificate) GetKonnectStatus

GetKonnectStatus returns the Konnect status contained in the KongDataPlaneClientCertificate status.

func (KongDataPlaneClientCertificate) GetTypeName

func (obj KongDataPlaneClientCertificate) GetTypeName() string

GetTypeName returns the KongDataPlaneClientCertificate Kind name.

func (*KongDataPlaneClientCertificate) PersistsKonnectID added in v2.2.0

func (*KongDataPlaneClientCertificate) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongDataPlaneClientCertificate persists a Konnect ID in status.

func (*KongDataPlaneClientCertificate) SetAdoptOptions

func (obj *KongDataPlaneClientCertificate) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongDataPlaneClientCertificate) SetConditions

func (obj *KongDataPlaneClientCertificate) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*KongDataPlaneClientCertificate) SetControlPlaneID

func (obj *KongDataPlaneClientCertificate) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongDataPlaneClientCertificate status.

func (*KongDataPlaneClientCertificate) SetControlPlaneRef

func (obj *KongDataPlaneClientCertificate) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongDataPlaneClientCertificate) SetKonnectID

func (obj *KongDataPlaneClientCertificate) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongDataPlaneClientCertificate status.

type KongDataPlaneClientCertificateAPISpec

type KongDataPlaneClientCertificateAPISpec struct {
	// Cert is the certificate in PEM format. Once the certificate gets programmed this field becomes immutable.
	// +kubebuilder:validation:MinLength=1
	Cert string `json:"cert"`
}

KongDataPlaneClientCertificateAPISpec defines the attributes of a Kong DP certificate.

func (*KongDataPlaneClientCertificateAPISpec) DeepCopy

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

func (*KongDataPlaneClientCertificateAPISpec) DeepCopyInto

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

type KongDataPlaneClientCertificateList

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

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

KongDataPlaneClientCertificateList contains a list of KongDataPlaneClientCertificate. +kubebuilder:object:root=true

func (*KongDataPlaneClientCertificateList) DeepCopy

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

func (*KongDataPlaneClientCertificateList) DeepCopyInto

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

func (*KongDataPlaneClientCertificateList) DeepCopyObject

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

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

func (KongDataPlaneClientCertificateList) GetItems

GetItems returns the list of KongDataPlaneClientCertificate items.

type KongDataPlaneClientCertificateSpec

type KongDataPlaneClientCertificateSpec struct {
	// KongDataPlaneClientCertificateAPISpec are the attributes of the KongDataPlaneClientCertificate itself.
	KongDataPlaneClientCertificateAPISpec `json:",inline"`

	// ControlPlaneRef is a reference to a Konnect ControlPlane this KongDataPlaneClientCertificate is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	// Adopt is the options for adopting a key from an existing key in Konnect.
	// +kubebuilder:validation:XValidation:message="Only 'match' mode adoption is supported", rule="self.mode == 'match'"
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongDataPlaneClientCertificateSpec defines the spec for a KongDataPlaneClientCertificate. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane"

func (*KongDataPlaneClientCertificateSpec) DeepCopy

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

func (*KongDataPlaneClientCertificateSpec) DeepCopyInto

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

type KongDataPlaneClientCertificateStatus

type KongDataPlaneClientCertificateStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongDataPlaneClientCertificateStatus defines the status for a KongDataPlaneClientCertificate.

func (*KongDataPlaneClientCertificateStatus) DeepCopy

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

func (*KongDataPlaneClientCertificateStatus) DeepCopyInto

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

type KongEntityScope

type KongEntityScope string

KongEntityScope defines the scope of the Kong entity.

type KongKey

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

	Spec KongKeySpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongKeyStatus `json:"status,omitempty"`
}

KongKey is the schema for KongKey API which defines a KongKey entity.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongKey) DeepCopy

func (in *KongKey) DeepCopy() *KongKey

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

func (*KongKey) DeepCopyInto

func (in *KongKey) DeepCopyInto(out *KongKey)

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

func (*KongKey) DeepCopyObject

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

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

func (*KongKey) GetAdoptOptions

func (obj *KongKey) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongKey) GetConditions

func (obj *KongKey) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongKey) GetControlPlaneID

func (obj *KongKey) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongKey status.

func (*KongKey) GetControlPlaneRef

func (obj *KongKey) GetControlPlaneRef() *commonv1alpha1.ControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongKey) GetKonnectID

func (obj *KongKey) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongKey status.

func (*KongKey) GetKonnectStatus

func (obj *KongKey) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongKey status.

func (KongKey) GetTypeName

func (obj KongKey) GetTypeName() string

GetTypeName returns the KongKey Kind name.

func (*KongKey) PersistsKonnectID added in v2.2.0

func (*KongKey) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongKey persists a Konnect ID in status.

func (*KongKey) SetAdoptOptions

func (obj *KongKey) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongKey) SetConditions

func (obj *KongKey) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*KongKey) SetControlPlaneID

func (obj *KongKey) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongKey status.

func (*KongKey) SetControlPlaneRef

func (obj *KongKey) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongKey) SetKonnectID

func (obj *KongKey) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongKey status.

type KongKeyAPISpec

type KongKeyAPISpec struct {
	// KID is a unique identifier for a key.
	// When JWK is provided, KID has to match the KID in the JWK.
	// +kubebuilder:validation:MinLength=1
	KID string `json:"kid"`

	// Name is an optional name to associate with the given key.
	// +optional
	Name *string `json:"name,omitempty"`

	// JWK is a JSON Web Key represented as a string.
	// The JWK must contain a KID field that matches the KID in the KongKey.
	// Either JWK or PEM must be set.
	// +optional
	JWK *string `json:"jwk,omitempty"`

	// PEM is a keypair in PEM format.
	// Either JWK or PEM must be set.
	// +optional
	PEM *PEMKeyPair `json:"pem,omitempty"`

	// Tags is an optional set of strings associated with the Key for grouping and filtering.
	// +optional
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongKeyAPISpec defines the attributes of a Kong Key. +kubebuilder:validation:XValidation:rule="has(self.jwk) || has(self.pem)", message="Either 'jwk' or 'pem' must be set"

func (*KongKeyAPISpec) DeepCopy

func (in *KongKeyAPISpec) DeepCopy() *KongKeyAPISpec

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

func (*KongKeyAPISpec) DeepCopyInto

func (in *KongKeyAPISpec) DeepCopyInto(out *KongKeyAPISpec)

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

type KongKeyList

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

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

KongKeyList contains a list of Kong Keys. +kubebuilder:object:root=true

func (*KongKeyList) DeepCopy

func (in *KongKeyList) DeepCopy() *KongKeyList

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

func (*KongKeyList) DeepCopyInto

func (in *KongKeyList) DeepCopyInto(out *KongKeyList)

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

func (*KongKeyList) DeepCopyObject

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

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

func (KongKeyList) GetItems

func (obj KongKeyList) GetItems() []KongKey

GetItems returns the list of KongKey items.

type KongKeySet

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

	Spec KongKeySetSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongKeySetStatus `json:"status,omitempty"`
}

KongKeySet is the schema for KongKeySet API which defines a KongKeySet entity.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongKeySet) DeepCopy

func (in *KongKeySet) DeepCopy() *KongKeySet

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

func (*KongKeySet) DeepCopyInto

func (in *KongKeySet) DeepCopyInto(out *KongKeySet)

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

func (*KongKeySet) DeepCopyObject

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

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

func (*KongKeySet) GetAdoptOptions

func (obj *KongKeySet) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongKeySet) GetConditions

func (obj *KongKeySet) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongKeySet) GetControlPlaneID

func (obj *KongKeySet) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongKeySet status.

func (*KongKeySet) GetControlPlaneRef

func (obj *KongKeySet) GetControlPlaneRef() *commonv1alpha1.ControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongKeySet) GetKonnectID

func (obj *KongKeySet) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongKeySet status.

func (*KongKeySet) GetKonnectStatus

func (obj *KongKeySet) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongKeySet status.

func (KongKeySet) GetTypeName

func (obj KongKeySet) GetTypeName() string

GetTypeName returns the KongKeySet Kind name.

func (*KongKeySet) PersistsKonnectID added in v2.2.0

func (*KongKeySet) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongKeySet persists a Konnect ID in status.

func (*KongKeySet) SetAdoptOptions

func (obj *KongKeySet) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongKeySet) SetConditions

func (obj *KongKeySet) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*KongKeySet) SetControlPlaneID

func (obj *KongKeySet) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongKeySet status.

func (*KongKeySet) SetControlPlaneRef

func (obj *KongKeySet) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongKeySet) SetKonnectID

func (obj *KongKeySet) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongKeySet status.

type KongKeySetAPISpec

type KongKeySetAPISpec struct {
	// Name is a name of the KeySet.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Tags is an optional set of strings associated with the KeySet for grouping and filtering.
	// +optional
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongKeySetAPISpec defines the attributes of a Kong KeySet.

func (*KongKeySetAPISpec) DeepCopy

func (in *KongKeySetAPISpec) DeepCopy() *KongKeySetAPISpec

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

func (*KongKeySetAPISpec) DeepCopyInto

func (in *KongKeySetAPISpec) DeepCopyInto(out *KongKeySetAPISpec)

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

type KongKeySetList

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

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

KongKeySetList contains a list of Kong Keys. +kubebuilder:object:root=true

func (*KongKeySetList) DeepCopy

func (in *KongKeySetList) DeepCopy() *KongKeySetList

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

func (*KongKeySetList) DeepCopyInto

func (in *KongKeySetList) DeepCopyInto(out *KongKeySetList)

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

func (*KongKeySetList) DeepCopyObject

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

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

func (KongKeySetList) GetItems

func (obj KongKeySetList) GetItems() []KongKeySet

GetItems returns the list of KongKeySet items.

type KongKeySetSpec

type KongKeySetSpec struct {
	// KongKeySetAPISpec are the attributes of the KongKeySet itself.
	KongKeySetAPISpec `json:",inline"`

	// ControlPlaneRef is a reference to a Konnect ControlPlane with which KongKeySet is associated.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	// Adopt is the options for adopting a key set from an existing key set in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongKeySetSpec defines the spec for a KongKeySet. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +kubebuilder:validation:XValidation:rule="!has(self.adopt) ? true : (has(self.controlPlaneRef) && self.controlPlaneRef.type == 'konnectNamespacedRef')", message="spec.adopt is allowed only when controlPlaneRef is konnectNamespacedRef" +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongKeySetSpec) DeepCopy

func (in *KongKeySetSpec) DeepCopy() *KongKeySetSpec

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

func (*KongKeySetSpec) DeepCopyInto

func (in *KongKeySetSpec) DeepCopyInto(out *KongKeySetSpec)

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

type KongKeySetStatus

type KongKeySetStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongKeySetStatus defines the status for a KongKeySet.

func (*KongKeySetStatus) DeepCopy

func (in *KongKeySetStatus) DeepCopy() *KongKeySetStatus

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

func (*KongKeySetStatus) DeepCopyInto

func (in *KongKeySetStatus) DeepCopyInto(out *KongKeySetStatus)

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

type KongKeySpec

type KongKeySpec struct {
	// KongKeyAPISpec are the attributes of the KongKey itself.
	KongKeyAPISpec `json:",inline"`

	// ControlPlaneRef is a reference to a Konnect ControlPlane this KongKey is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +optional
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef,omitempty"`

	// KeySetRef is a reference to a KongKeySet this KongKey is attached to.
	// ControlPlane referenced by a KongKeySet must be the same as the ControlPlane referenced by the KongKey.
	// +optional
	KeySetRef *KeySetRef `json:"keySetRef,omitempty"`

	// Adopt is the options for adopting a key from an existing key in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongKeySpec defines the spec for a KongKey. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +kubebuilder:validation:XValidation:rule="!has(self.adopt) ? true : (has(self.controlPlaneRef) && self.controlPlaneRef.type == 'konnectNamespacedRef')", message="spec.adopt is allowed only when controlPlaneRef is konnectNamespacedRef" +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongKeySpec) DeepCopy

func (in *KongKeySpec) DeepCopy() *KongKeySpec

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

func (*KongKeySpec) DeepCopyInto

func (in *KongKeySpec) DeepCopyInto(out *KongKeySpec)

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

type KongKeyStatus

type KongKeyStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndKeySetRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongKeyStatus defines the status for a KongKey.

func (*KongKeyStatus) DeepCopy

func (in *KongKeyStatus) DeepCopy() *KongKeyStatus

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

func (*KongKeyStatus) DeepCopyInto

func (in *KongKeyStatus) DeepCopyInto(out *KongKeyStatus)

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

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.

+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster,shortName=kl,categories=kong,path=konglicenses +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:printcolumn:name="Enabled",type=boolean,JSONPath=`.enabled`,description="Enabled to configure on Kong gateway instances" +kong:channels=kong-operator

func (*KongLicense) DeepCopy

func (in *KongLicense) DeepCopy() *KongLicense

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

func (*KongLicense) DeepCopyInto

func (in *KongLicense) DeepCopyInto(out *KongLicense)

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

func (*KongLicense) DeepCopyObject

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

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

type KongLicenseControllerStatus

type KongLicenseControllerStatus struct {
	// ControllerName is an identifier of the controller to reconcile this KongLicense.
	// Should be unique in the list of controller statuses.
	ControllerName string `json:"controllerName"`
	// ControllerRef is the reference of the controller to reconcile this KongLicense.
	// It is usually the name of (KIC/KGO) pod that reconciles it.
	ControllerRef *ControllerReference `json:"controllerRef,omitempty"`
	// Conditions describe the current conditions of the KongLicense on the controller.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongLicenseControllerStatus is the status of owning KongLicense being processed identified by the controllerName field.

func (*KongLicenseControllerStatus) DeepCopy

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

func (*KongLicenseControllerStatus) DeepCopyInto

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

type KongLicenseList

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

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

KongLicenseList contains a list of KongLicense. +kubebuilder:object:root=true

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 KongLicenseStatus

type KongLicenseStatus struct {
	// +listType=map
	// +listMapKey=controllerName
	KongLicenseControllerStatuses []KongLicenseControllerStatus `json:"controllers,omitempty"`
}

KongLicenseStatus stores the status of the KongLicense being processed in each controller that reconciles it.

func (*KongLicenseStatus) DeepCopy

func (in *KongLicenseStatus) DeepCopy() *KongLicenseStatus

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

func (*KongLicenseStatus) DeepCopyInto

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

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

type KongPluginBinding

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

	Spec KongPluginBindingSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongPluginBindingStatus `json:"status,omitempty"`
}

KongPluginBinding is the schema for Plugin Bindings API which defines a Kong Plugin Binding.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Plugin-kind",type=string,JSONPath=`.spec.pluginRef.kind`,description="Kind of the plugin" +kubebuilder:printcolumn:name="Plugin-name",type=string,JSONPath=`.spec.pluginRef.name`,description="Name of the plugin" +kubebuilder:printcolumn:name="Programmed",description="The Resource is Programmed",type=string,JSONPath=`.status.conditions[?(@.type=='Programmed')].status` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

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) GetAdoptOptions

func (obj *KongPluginBinding) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongPluginBinding) GetConditions

func (obj *KongPluginBinding) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongPluginBinding) GetControlPlaneID

func (obj *KongPluginBinding) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongPluginBinding status.

func (*KongPluginBinding) GetControlPlaneRef

func (obj *KongPluginBinding) GetControlPlaneRef() *commonv1alpha1.ControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongPluginBinding) GetKonnectID

func (obj *KongPluginBinding) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongPluginBinding status.

func (*KongPluginBinding) GetKonnectStatus

func (obj *KongPluginBinding) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongPluginBinding status.

func (KongPluginBinding) GetTypeName

func (obj KongPluginBinding) GetTypeName() string

GetTypeName returns the KongPluginBinding Kind name.

func (*KongPluginBinding) PersistsKonnectID added in v2.2.0

func (*KongPluginBinding) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongPluginBinding persists a Konnect ID in status.

func (*KongPluginBinding) SetAdoptOptions

func (obj *KongPluginBinding) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongPluginBinding) SetConditions

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

SetConditions sets the Status Conditions.

func (*KongPluginBinding) SetControlPlaneID

func (obj *KongPluginBinding) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongPluginBinding status.

func (*KongPluginBinding) SetControlPlaneRef

func (obj *KongPluginBinding) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongPluginBinding) SetKonnectID

func (obj *KongPluginBinding) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongPluginBinding status.

type KongPluginBindingList

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

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

KongPluginBindingList contains a list of KongPluginBindings. +kubebuilder:object:root=true

func (*KongPluginBindingList) DeepCopy

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

func (*KongPluginBindingList) DeepCopyInto

func (in *KongPluginBindingList) DeepCopyInto(out *KongPluginBindingList)

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

func (*KongPluginBindingList) DeepCopyObject

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

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

func (KongPluginBindingList) GetItems

func (obj KongPluginBindingList) GetItems() []KongPluginBinding

GetItems returns the list of KongPluginBinding items.

type KongPluginBindingScope

type KongPluginBindingScope string

KongPluginBindingScope defines the scope of the plugin binding. Allowed values are: - OnlyTargets - GlobalInControlPlane +kubebuilder:validation:Enum=OnlyTargets;GlobalInControlPlane

const (
	// KongPluginBindingScopeOnlyTargets is the scope for the plugin binding to be applied only to the targets.
	KongPluginBindingScopeOnlyTargets KongPluginBindingScope = "OnlyTargets"

	// KongPluginBindingScopeGlobalInControlPlane is the scope for the plugin binding to be applied to all entities in the
	// control plane (a.k.a. global scope).
	KongPluginBindingScopeGlobalInControlPlane KongPluginBindingScope = "GlobalInControlPlane"
)

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="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,omitempty"`

	// ControlPlaneRef is a reference to a ControlPlane this KongPluginBinding is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef,omitzero"`

	// Scope defines the scope of the plugin binding.
	// +optional
	// +kubebuilder:default:=OnlyTargets
	Scope KongPluginBindingScope `json:"scope,omitempty"`

	// Adopt is the options for adopting a plugin instance from an existing plugin in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongPluginBindingSpec defines specification of a KongPluginBinding. +kubebuilder:validation:XValidation:message="At least one target reference must be set when scope is 'OnlyTargets'",rule="self.scope == 'OnlyTargets' ? has(self.targets) && (has(self.targets.routeRef) || has(self.targets.serviceRef) || has(self.targets.consumerRef) || has(self.targets.consumerGroupRef)) : true" +kubebuilder:validation:XValidation:message="No targets must be set when scope is 'GlobalInControlPlane'",rule="self.scope == 'GlobalInControlPlane' ? !has(self.targets) : true" +kubebuilder:validation:XValidation:rule="!has(self.adopt) ? true : (has(self.controlPlaneRef) && self.controlPlaneRef.type == 'konnectNamespacedRef')", message="spec.adopt is allowed only when controlPlaneRef is konnectNamespacedRef" +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongPluginBindingSpec) DeepCopy

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

func (*KongPluginBindingSpec) DeepCopyInto

func (in *KongPluginBindingSpec) DeepCopyInto(out *KongPluginBindingSpec)

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

type KongPluginBindingStatus

type KongPluginBindingStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongPluginBindingStatus represents the current status of the KongBinding resource.

func (*KongPluginBindingStatus) DeepCopy

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

func (*KongPluginBindingStatus) DeepCopyInto

func (in *KongPluginBindingStatus) DeepCopyInto(out *KongPluginBindingStatus)

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

type KongPluginBindingTargets

type KongPluginBindingTargets struct {
	// RouteReference can be used to reference one of the following resources:
	// - 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 resources:
	// - 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

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

func (*KongPluginBindingTargets) DeepCopyInto

func (in *KongPluginBindingTargets) DeepCopyInto(out *KongPluginBindingTargets)

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

type KongReferenceGrant

type KongReferenceGrant struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec defines the desired state of KongReferenceGrant.
	// +optional
	Spec KongReferenceGrantSpec `json:"spec,omitempty"`
}

KongReferenceGrant identifies kinds of resources in other namespaces that are trusted to reference the specified kinds of resources in the same namespace as the policy.

Each KongReferenceGrant can be used to represent a unique trust relationship. Additional Reference Grants can be used to add to the set of trusted sources of inbound references for the namespace they are defined within.

All cross-namespace references in Kong APIs require a KongReferenceGrant.

KongReferenceGrant is a form of runtime verification allowing users to assert which cross-namespace object references are permitted.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +kubebuilder:storageversion +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kong:channels=kong-operator

func (*KongReferenceGrant) DeepCopy

func (in *KongReferenceGrant) DeepCopy() *KongReferenceGrant

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

func (*KongReferenceGrant) DeepCopyInto

func (in *KongReferenceGrant) DeepCopyInto(out *KongReferenceGrant)

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

func (*KongReferenceGrant) DeepCopyObject

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

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

func (KongReferenceGrant) GetTypeName

func (obj KongReferenceGrant) GetTypeName() string

GetTypeName returns the KongReferenceGrant Kind name.

type KongReferenceGrantList

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

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

KongReferenceGrantList contains a list of KongReferenceGrant.

+kubebuilder:object:root=true

func (*KongReferenceGrantList) DeepCopy

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

func (*KongReferenceGrantList) DeepCopyInto

func (in *KongReferenceGrantList) DeepCopyInto(out *KongReferenceGrantList)

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

func (*KongReferenceGrantList) DeepCopyObject

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

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

func (KongReferenceGrantList) GetItems

func (obj KongReferenceGrantList) GetItems() []KongReferenceGrant

GetItems returns the list of KongReferenceGrant items.

type KongReferenceGrantSpec

type KongReferenceGrantSpec struct {
	// From describes the trusted namespaces and kinds that can reference the
	// resources described in "To". Each entry in this list MUST be considered
	// to be an additional place that references can be valid from, or to put
	// this another way, entries MUST be combined using OR.
	//
	// +required
	// +listType=atomic
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=16
	From []ReferenceGrantFrom `json:"from"`

	// To describes the resources that may be referenced by the resources
	// described in "From". Each entry in this list MUST be considered to be an
	// additional place that references can be valid to, or to put this another
	// way, entries MUST be combined using OR.
	//
	// +required
	// +listType=atomic
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=16
	To []ReferenceGrantTo `json:"to"`
}

KongReferenceGrantSpec identifies a cross namespace relationship that is trusted for Kong APIs.

func (*KongReferenceGrantSpec) DeepCopy

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

func (*KongReferenceGrantSpec) DeepCopyInto

func (in *KongReferenceGrantSpec) DeepCopyInto(out *KongReferenceGrantSpec)

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

type KongRoute

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

	Spec KongRouteSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongRouteStatus `json:"status,omitempty"`
}

KongRoute is the schema for Routes API which defines a Kong Route. Currently, KongRoute supports only the JSON flavor of Route configuration.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="has(self.spec.protocols) && self.spec.protocols.exists(p, p == 'http') ? (has(self.spec.hosts) || has(self.spec.methods) || has(self.spec.paths) || has(self.spec.paths) || has(self.spec.paths) || has(self.spec.headers) ) : true", message="If protocols has 'http', at least one of 'hosts', 'methods', 'paths' or 'headers' must be set" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!has(self.spec) || !has(self.spec.controlPlaneRef)) ? true : (!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 an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.spec.id) && !has(oldSelf.spec.id)) || (has(self.spec.id) && has(oldSelf.spec.id) && self.spec.id == oldSelf.spec.id)", message="spec.id is immutable" +kong:channels=kong-operator

func (*KongRoute) DeepCopy

func (in *KongRoute) DeepCopy() *KongRoute

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

func (*KongRoute) DeepCopyInto

func (in *KongRoute) DeepCopyInto(out *KongRoute)

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

func (*KongRoute) DeepCopyObject

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

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

func (*KongRoute) GetAdoptOptions

func (obj *KongRoute) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongRoute) GetConditions

func (obj *KongRoute) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongRoute) GetControlPlaneID

func (obj *KongRoute) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongRoute status.

func (*KongRoute) GetControlPlaneRef

func (obj *KongRoute) GetControlPlaneRef() *commonv1alpha1.ControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongRoute) GetKonnectID

func (obj *KongRoute) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongRoute status.

func (*KongRoute) GetKonnectStatus

func (obj *KongRoute) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongRoute status.

func (*KongRoute) GetServiceRef

func (obj *KongRoute) GetServiceRef() *ServiceRef

GetServiceRef returns the ServiceRef.

func (KongRoute) GetTypeName

func (obj KongRoute) GetTypeName() string

GetTypeName returns the KongRoute Kind name.

func (*KongRoute) PersistsKonnectID added in v2.2.0

func (*KongRoute) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongRoute persists a Konnect ID in status.

func (*KongRoute) SetAdoptOptions

func (obj *KongRoute) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongRoute) SetConditions

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

SetConditions sets the Status Conditions.

func (*KongRoute) SetControlPlaneID

func (obj *KongRoute) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongRoute status.

func (*KongRoute) SetControlPlaneRef

func (obj *KongRoute) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongRoute) SetKonnectID

func (obj *KongRoute) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongRoute status.

func (*KongRoute) SetServiceRef

func (obj *KongRoute) SetServiceRef(ref *ServiceRef)

SetServiceRef sets the SetServiceRef.

type KongRouteAPISpec

type KongRouteAPISpec struct {
	// ID is the unique identifier for the Route. Can be specified when creating a Route, but not updatable. If not specified, Kong will generate one.
	ID *string `json:"id,omitempty"`
	// 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 []sdkkonnectcomp.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 *sdkkonnectcomp.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 *sdkkonnectcomp.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 KongRoute 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 []sdkkonnectcomp.RouteJSONProtocols `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 []sdkkonnectcomp.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 commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongRouteAPISpec represents the configuration of a Route in Kong as defined by the Konnect API. Currently, this only supports the JSON route fields.

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.

+kubebuilder:object:root=true

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.

func (KongRouteList) GetItems

func (obj KongRouteList) GetItems() []KongRoute

GetItems returns the list of KongRoute items.

type KongRouteSpec

type KongRouteSpec struct {
	KongRouteAPISpec `json:",inline"`

	// ControlPlaneRef is a reference to a ControlPlane this KongRoute is associated with.
	// Route can either specify a ControlPlaneRef and be 'serviceless' route or
	// specify a ServiceRef and be associated with a Service.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +optional
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef,omitempty"`
	// ServiceRef is a reference to a Service this KongRoute is associated with.
	// Route can either specify a ControlPlaneRef and be 'serviceless' route or
	// specify a ServiceRef and be associated with a Service.
	// +optional
	ServiceRef *ServiceRef `json:"serviceRef,omitempty"`

	// Adopt is the options for adopting a route from an existing route in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongRouteSpec defines spec of a Kong Route.

+kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +kubebuilder:validation:XValidation:rule="!has(self.adopt) ? true : (has(self.serviceRef) || (has(self.controlPlaneRef) && self.controlPlaneRef.type == 'konnectNamespacedRef'))", message="spec.adopt is allowed only when serviceRef exists or controlPlaneRef is konnectNamespacedRef" +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

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 *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndServiceRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongRouteStatus represents the current status of the Kong Route resource.

func (*KongRouteStatus) DeepCopy

func (in *KongRouteStatus) DeepCopy() *KongRouteStatus

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

func (*KongRouteStatus) DeepCopyInto

func (in *KongRouteStatus) DeepCopyInto(out *KongRouteStatus)

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

type KongSNI

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

	Spec KongSNISpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongSNIStatus `json:"status,omitempty"`
}

KongSNI is the schema for SNI API which defines a Kong SNI.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.certificateRef == self.spec.certificateRef", message="spec.certificateRef is immutable when programmed" +kong:channels=kong-operator

func (*KongSNI) DeepCopy

func (in *KongSNI) DeepCopy() *KongSNI

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

func (*KongSNI) DeepCopyInto

func (in *KongSNI) DeepCopyInto(out *KongSNI)

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

func (*KongSNI) DeepCopyObject

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

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

func (*KongSNI) GetAdoptOptions

func (obj *KongSNI) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongSNI) GetConditions

func (obj *KongSNI) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongSNI) GetControlPlaneID

func (obj *KongSNI) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongSNI status.

func (*KongSNI) GetKonnectID

func (obj *KongSNI) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongSNI status.

func (*KongSNI) GetKonnectStatus

func (obj *KongSNI) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongSNI status.

func (KongSNI) GetTypeName

func (obj KongSNI) GetTypeName() string

GetTypeName returns the KongSNI Kind name.

func (*KongSNI) PersistsKonnectID added in v2.2.0

func (*KongSNI) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongSNI persists a Konnect ID in status.

func (*KongSNI) SetAdoptOptions

func (obj *KongSNI) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongSNI) SetConditions

func (obj *KongSNI) SetConditions(conditions []metav1.Condition)

SetConditions sets the Status Conditions.

func (*KongSNI) SetControlPlaneID

func (obj *KongSNI) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongSNI status.

func (*KongSNI) SetKonnectID

func (obj *KongSNI) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongSNI status.

type KongSNIAPISpec

type KongSNIAPISpec struct {
	// Name is the name of the SNI. Required and must be a host or wildcard host.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Tags is an optional set of strings associated with the SNI for grouping and filtering.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongSNIAPISpec defines the spec of an SNI. +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongSNIAPISpec) DeepCopy

func (in *KongSNIAPISpec) DeepCopy() *KongSNIAPISpec

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

func (*KongSNIAPISpec) DeepCopyInto

func (in *KongSNIAPISpec) DeepCopyInto(out *KongSNIAPISpec)

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

type KongSNIList

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

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

KongSNIList contains a list of Kong SNIs. +kubebuilder:object:root=true

func (*KongSNIList) DeepCopy

func (in *KongSNIList) DeepCopy() *KongSNIList

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

func (*KongSNIList) DeepCopyInto

func (in *KongSNIList) DeepCopyInto(out *KongSNIList)

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

func (*KongSNIList) DeepCopyObject

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

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

func (KongSNIList) GetItems

func (obj KongSNIList) GetItems() []KongSNI

GetItems returns the list of KongSNI items.

type KongSNISpec

type KongSNISpec struct {
	// KongSNIAPISpec are the attributes of the Kong SNI itself.
	KongSNIAPISpec `json:",inline"`

	// CertificateRef is the reference to the certificate to which the KongSNI is attached.
	CertificateRef commonv1alpha1.NamespacedRef `json:"certificateRef"`

	// Adopt is the options for adopting an SNI from an existing SNI in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongSNISpec defines specification of a Kong SNI.

func (*KongSNISpec) DeepCopy

func (in *KongSNISpec) DeepCopy() *KongSNISpec

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

func (*KongSNISpec) DeepCopyInto

func (in *KongSNISpec) DeepCopyInto(out *KongSNISpec)

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

type KongSNIStatus

type KongSNIStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndCertificateRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongSNIStatus defines the status for a KongSNI.

func (*KongSNIStatus) DeepCopy

func (in *KongSNIStatus) DeepCopy() *KongSNIStatus

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

func (*KongSNIStatus) DeepCopyInto

func (in *KongSNIStatus) DeepCopyInto(out *KongSNIStatus)

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

type KongService

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

	Spec KongServiceSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongServiceStatus `json:"status,omitempty"`
}

KongService is the schema for Services API which defines a Kong Service.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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.protocol`,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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!has(self.spec.controlPlaneRef)) ? true : (!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 an entity is already Programmed" +kubebuilder:validation:XValidation:rule="(!has(self.spec.id) && !has(oldSelf.spec.id)) || (has(self.spec.id) && has(oldSelf.spec.id) && self.spec.id == oldSelf.spec.id)", message="spec.id is immutable" +kong:channels=kong-operator

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) GetAdoptOptions

func (obj *KongService) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongService) GetConditions

func (obj *KongService) GetConditions() []metav1.Condition

GetConditions returns the Status Conditions.

func (*KongService) GetControlPlaneID

func (obj *KongService) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongService status.

func (*KongService) GetControlPlaneRef

func (obj *KongService) GetControlPlaneRef() *commonv1alpha1.ControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongService) GetKonnectID

func (obj *KongService) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongService status.

func (*KongService) GetKonnectStatus

func (obj *KongService) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongService status.

func (KongService) GetTypeName

func (obj KongService) GetTypeName() string

GetTypeName returns the KongService Kind name.

func (*KongService) PersistsKonnectID added in v2.2.0

func (*KongService) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongService persists a Konnect ID in status.

func (*KongService) SetAdoptOptions

func (obj *KongService) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongService) SetConditions

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

SetConditions sets the Status Conditions.

func (*KongService) SetControlPlaneID

func (obj *KongService) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongService status.

func (*KongService) SetControlPlaneRef

func (obj *KongService) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongService) SetKonnectID

func (obj *KongService) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongService status.

type KongServiceAPISpec

type KongServiceAPISpec struct {
	// ClientCertificateRef is a reference to a KongCertificate used as the
	// client certificate when proxying to the upstream over TLS.
	// The referenced KongCertificate MUST belong to the same Konnect
	// ControlPlane as this KongService.
	// Cross-namespace references require a KongReferenceGrant in the target
	// namespace.
	// +optional
	ClientCertificateRef *commonv1alpha1.NamespacedRef `json:"clientCertificateRef,omitempty"`

	// CACertificateRefs is the list of references to KongCACertificates used
	// to verify the upstream server's TLS certificate.
	// Each referenced KongCACertificate MUST belong to the same Konnect
	// ControlPlane as this KongService.
	// Cross-namespace references require a KongReferenceGrant in the target
	// namespace.
	// +optional
	// +listType=atomic
	CACertificateRefs []commonv1alpha1.NamespacedRef `json:"caCertificateRefs,omitempty"`

	// ID is the unique identifier for the Service. Can be specified when creating a Service, but not updatable. If not specified, Kong will generate one.
	ID *string `json:"id,omitempty"`
	// 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.
	// +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 sdkkonnectcomp.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 commonv1alpha1.Tags `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 the 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. +kubebuilder:object:root=true

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.

func (KongServiceList) GetItems

func (obj KongServiceList) GetItems() []KongService

GetItems returns the list of KongService items.

type KongServiceSpec

type KongServiceSpec struct {
	KongServiceAPISpec `json:",inline"`

	// ControlPlaneRef is a reference to a ControlPlane this KongService is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	// Adopt is the options for adopting a service from an existing service in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongServiceSpec defines specification of a Kong Service. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane" +kubebuilder:validation:XValidation:rule="!has(self.adopt) ? true : (has(self.controlPlaneRef) && self.controlPlaneRef.type == 'konnectNamespacedRef')", message="spec.adopt is allowed only when controlPlaneRef is konnectNamespacedRef" +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

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 *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndCertificateAndCACertificatesRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongServiceStatus represents the current status of the Kong Service resource.

func (*KongServiceStatus) DeepCopy

func (in *KongServiceStatus) DeepCopy() *KongServiceStatus

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

func (*KongServiceStatus) DeepCopyInto

func (in *KongServiceStatus) DeepCopyInto(out *KongServiceStatus)

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

type KongTarget

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

	Spec KongTargetSpec `json:"spec"`
	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongTargetStatus `json:"status,omitempty"`
}

KongTarget is the schema for Target API which defines a Kong Target attached to a Kong Upstream.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="oldSelf.spec.upstreamRef == self.spec.upstreamRef", message="spec.upstreamRef is immutable" +kong:channels=kong-operator

func (*KongTarget) DeepCopy

func (in *KongTarget) DeepCopy() *KongTarget

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

func (*KongTarget) DeepCopyInto

func (in *KongTarget) DeepCopyInto(out *KongTarget)

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

func (*KongTarget) DeepCopyObject

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

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

func (*KongTarget) GetAdoptOptions

func (obj *KongTarget) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongTarget) GetConditions

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

GetConditions returns the Status Conditions.

func (*KongTarget) GetControlPlaneID

func (obj *KongTarget) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongTarget status.

func (*KongTarget) GetKonnectID

func (obj *KongTarget) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongTarget status.

func (*KongTarget) GetKonnectStatus

func (obj *KongTarget) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongTarget status.

func (KongTarget) GetTypeName

func (obj KongTarget) GetTypeName() string

GetTypeName returns the KongTarget Kind name.

func (*KongTarget) PersistsKonnectID added in v2.2.0

func (*KongTarget) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongTarget persists a Konnect ID in status.

func (*KongTarget) SetAdoptOptions

func (obj *KongTarget) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongTarget) SetConditions

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

SetConditions sets the Status Conditions.

func (*KongTarget) SetControlPlaneID

func (obj *KongTarget) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongTarget status.

func (*KongTarget) SetKonnectID

func (obj *KongTarget) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongTarget status.

type KongTargetAPISpec

type KongTargetAPISpec struct {
	// Target is the target address of the upstream.
	Target string `json:"target"`
	// Weight is the weight this target gets within the upstream loadbalancer.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=100
	Weight int `json:"weight"`
	// Tags is an optional set of strings associated with the Target for grouping and filtering.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
}

KongTargetAPISpec are the attributes of the Kong Target itself.

func (*KongTargetAPISpec) DeepCopy

func (in *KongTargetAPISpec) DeepCopy() *KongTargetAPISpec

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

func (*KongTargetAPISpec) DeepCopyInto

func (in *KongTargetAPISpec) DeepCopyInto(out *KongTargetAPISpec)

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

type KongTargetList

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

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

KongTargetList contains a list of Kong Targets. +kubebuilder:object:root=true

func (*KongTargetList) DeepCopy

func (in *KongTargetList) DeepCopy() *KongTargetList

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

func (*KongTargetList) DeepCopyInto

func (in *KongTargetList) DeepCopyInto(out *KongTargetList)

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

func (*KongTargetList) DeepCopyObject

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

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

func (KongTargetList) GetItems

func (obj KongTargetList) GetItems() []KongTarget

GetItems returns the list of KongTarget items.

type KongTargetSpec

type KongTargetSpec struct {
	// KongTargetAPISpec are the attributes of the Kong Target itself.
	KongTargetAPISpec `json:",inline"`

	// UpstreamRef is a reference to a KongUpstream this KongTarget is attached to.
	UpstreamRef commonv1alpha1.NamespacedRef `json:"upstreamRef"`

	// Adopt is the options for adopting a target from an existing target in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongTargetSpec defines the spec of KongTarget. +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongTargetSpec) DeepCopy

func (in *KongTargetSpec) DeepCopy() *KongTargetSpec

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

func (*KongTargetSpec) DeepCopyInto

func (in *KongTargetSpec) DeepCopyInto(out *KongTargetSpec)

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

type KongTargetStatus

type KongTargetStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndUpstreamRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongTargetStatus defines the observed state of KongTarget.

func (*KongTargetStatus) DeepCopy

func (in *KongTargetStatus) DeepCopy() *KongTargetStatus

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

func (*KongTargetStatus) DeepCopyInto

func (in *KongTargetStatus) DeepCopyInto(out *KongTargetStatus)

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

type KongUpstream

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

	Spec KongUpstreamSpec `json:"spec"`

	// +kubebuilder:default={conditions: {{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status KongUpstreamStatus `json:"status,omitempty"`
}

KongUpstream is the schema for Upstream API which defines a Kong Upstream.

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced +kubebuilder:resource:categories=kong +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:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:validation:XValidation:rule="!has(oldSelf.spec.controlPlaneRef) || has(self.spec.controlPlaneRef)", message="controlPlaneRef is required once set" +kubebuilder:validation:XValidation:rule="(!self.status.conditions.exists(c, c.type == 'Programmed' && c.status == 'True')) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongUpstream) DeepCopy

func (in *KongUpstream) DeepCopy() *KongUpstream

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

func (*KongUpstream) DeepCopyInto

func (in *KongUpstream) DeepCopyInto(out *KongUpstream)

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

func (*KongUpstream) DeepCopyObject

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

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

func (*KongUpstream) GetAdoptOptions

func (obj *KongUpstream) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongUpstream) GetConditions

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

GetConditions returns the Status Conditions.

func (*KongUpstream) GetControlPlaneID

func (obj *KongUpstream) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongUpstream status.

func (*KongUpstream) GetControlPlaneRef

func (obj *KongUpstream) GetControlPlaneRef() *commonv1alpha1.ControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongUpstream) GetKonnectID

func (obj *KongUpstream) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongUpstream status.

func (*KongUpstream) GetKonnectStatus

func (obj *KongUpstream) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongUpstream status.

func (KongUpstream) GetTypeName

func (obj KongUpstream) GetTypeName() string

GetTypeName returns the KongUpstream Kind name.

func (*KongUpstream) PersistsKonnectID added in v2.2.0

func (*KongUpstream) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongUpstream persists a Konnect ID in status.

func (*KongUpstream) SetAdoptOptions

func (obj *KongUpstream) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongUpstream) SetConditions

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

SetConditions sets the Status Conditions.

func (*KongUpstream) SetControlPlaneID

func (obj *KongUpstream) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongUpstream status.

func (*KongUpstream) SetControlPlaneRef

func (obj *KongUpstream) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongUpstream) SetKonnectID

func (obj *KongUpstream) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongUpstream status.

type KongUpstreamAPISpec

type KongUpstreamAPISpec struct {
	// Which load balancing algorithm to use.
	Algorithm *sdkkonnectcomp.UpstreamAlgorithm `default:"round-robin" json:"algorithm,omitempty"`
	// Deprecated: use clientCertificateRef instead. If set, the certificate to be used as client certificate while TLS handshaking to the upstream server.
	ClientCertificate *sdkkonnectcomp.UpstreamClientCertificate `json:"client_certificate,omitempty"`
	// ClientCertificateRef is a reference to a KongCertificate used as the client certificate
	// during TLS handshaking to the upstream server. Mutually exclusive with the deprecated
	// client_certificate field. Cross-namespace references require a KongReferenceGrant
	// in the target namespace.
	// +optional
	ClientCertificateRef *commonv1alpha1.NamespacedRef `json:"clientCertificateRef,omitempty"`
	// What to use as hashing input if the primary `hash_on` does not return a hash (eg. header is missing, or no Consumer identified). Not available if `hash_on` is set to `cookie`.
	HashFallback *sdkkonnectcomp.HashFallback `default:"none" json:"hash_fallback,omitempty"`
	// The header name to take the value from as hash input. Only required when `hash_fallback` is set to `header`.
	HashFallbackHeader *string `json:"hash_fallback_header,omitempty"`
	// The name of the query string argument to take the value from as hash input. Only required when `hash_fallback` is set to `query_arg`.
	HashFallbackQueryArg *string `json:"hash_fallback_query_arg,omitempty"`
	// The name of the route URI capture to take the value from as hash input. Only required when `hash_fallback` is set to `uri_capture`.
	HashFallbackURICapture *string `json:"hash_fallback_uri_capture,omitempty"`
	// What to use as hashing input. Using `none` results in a weighted-round-robin scheme with no hashing.
	HashOn *sdkkonnectcomp.HashOn `default:"none" json:"hash_on,omitempty"`
	// The cookie name to take the value from as hash input. Only required when `hash_on` or `hash_fallback` is set to `cookie`. If the specified cookie is not in the request, Kong will generate a value and set the cookie in the response.
	HashOnCookie *string `json:"hash_on_cookie,omitempty"`
	// The cookie path to set in the response headers. Only required when `hash_on` or `hash_fallback` is set to `cookie`.
	HashOnCookiePath *string `default:"/" json:"hash_on_cookie_path,omitempty"`
	// The header name to take the value from as hash input. Only required when `hash_on` is set to `header`.
	HashOnHeader *string `json:"hash_on_header,omitempty"`
	// The name of the query string argument to take the value from as hash input. Only required when `hash_on` is set to `query_arg`.
	HashOnQueryArg *string `json:"hash_on_query_arg,omitempty"`
	// The name of the route URI capture to take the value from as hash input. Only required when `hash_on` is set to `uri_capture`.
	HashOnURICapture *string `json:"hash_on_uri_capture,omitempty"`
	// Healthchecks is the configuration of upstream's healthchecks.
	//
	// +kubebuilder:validation:XValidation:rule="self.threshold >= 0 && self.threshold <= 100", message="healthcheck threshold must be between 0 and 100"
	Healthchecks *sdkkonnectcomp.Healthchecks `json:"healthchecks,omitempty"`
	// The hostname to be used as `Host` header when proxying requests through Kong.
	HostHeader *string `json:"host_header,omitempty"`
	// This is a hostname, which must be equal to the `host` of a Service.
	Name string `json:"name,omitempty"`
	// The number of slots in the load balancer algorithm. If `algorithm` is set to `round-robin`, this setting determines the maximum number of slots. If `algorithm` is set to `consistent-hashing`, this setting determines the actual number of slots in the algorithm. Accepts an integer in the range `10`-`65536`.
	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=65536
	Slots *int64 `default:"10000" json:"slots,omitempty"`
	// The cookie name to keep sticky sessions. Required when `algorithm` is set to `sticky-sessions`.
	StickySessionsCookie *string `json:"sticky_sessions_cookie,omitempty"`
	// The cookie path to set in the response headers for sticky sessions.
	StickySessionsCookiePath *string `default:"/" json:"sticky_sessions_cookie_path,omitempty"`
	// An optional set of strings associated with the Upstream for grouping and filtering.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
	// If set, the balancer will use SRV hostname(if DNS Answer has SRV record) as the proxy upstream `Host`.
	UseSrvName *bool `default:"false" json:"use_srv_name,omitempty"`
}

KongUpstreamAPISpec defines specification of a Kong Upstream.

+kubebuilder:validation:XValidation:rule="!has(self.hash_fallback) || (self.hash_fallback != 'header' || has(self.hash_fallback_header))", message="hash_fallback_header is required when `hash_fallback` is set to `header`." +kubebuilder:validation:XValidation:rule="!has(self.hash_fallback) || (self.hash_fallback != 'query_arg' || has(self.hash_fallback_query_arg))", message="hash_fallback_query_arg is required when `hash_fallback` is set to `query_arg`." +kubebuilder:validation:XValidation:rule="!has(self.hash_fallback) || (self.hash_fallback != 'uri_capture' || has(self.hash_fallback_uri_capture))", message="hash_fallback_uri_capture is required when `hash_fallback` is set to `uri_capture`." +kubebuilder:validation:XValidation:rule="!has(self.hash_fallback) || (self.hash_fallback != 'cookie' || has(self.hash_on_cookie))", message="hash_on_cookie is required when hash_fallback is set to `cookie`." +kubebuilder:validation:XValidation:rule="!has(self.hash_on) || (self.hash_on != 'cookie' || has(self.hash_on_cookie))", message="hash_on_cookie is required when hash_on is set to `cookie`." +kubebuilder:validation:XValidation:rule="!has(self.hash_fallback) || (self.hash_fallback != 'cookie' || has(self.hash_on_cookie_path))", message="hash_on_cookie_path is required when hash_fallback is set to `cookie`." +kubebuilder:validation:XValidation:rule="!has(self.hash_on) || (self.hash_on != 'cookie' || has(self.hash_on_cookie_path))", message="hash_on_cookie_path is required when hash_on is set to `cookie`." +kubebuilder:validation:XValidation:rule="!has(self.hash_on) || (self.hash_on != 'header' || has(self.hash_on_header))", message="hash_on_header is required when hash_on is set to `header`." +kubebuilder:validation:XValidation:rule="!has(self.hash_on) || (self.hash_on != 'query_arg' || has(self.hash_on_query_arg))", message="hash_on_query_arg is required when `hash_on` is set to `query_arg`." +kubebuilder:validation:XValidation:rule="!has(self.hash_on) || (self.hash_on != 'uri_capture' || has(self.hash_on_uri_capture))", message="hash_on_uri_capture is required when `hash_on` is set to `uri_capture`." +kubebuilder:validation:XValidation:rule="!has(self.algorithm) || (self.algorithm != 'sticky-sessions' || has(self.sticky_sessions_cookie))", message="sticky_sessions_cookie is required when algorithm is set to `sticky-sessions`." +kubebuilder:validation:XValidation:rule="!has(self.adopt) ? true : (has(self.controlPlaneRef) && self.controlPlaneRef.type == 'konnectNamespacedRef')", message="spec.adopt is allowed only when controlPlaneRef is konnectNamespacedRef" +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates" +kubebuilder:validation:XValidation:rule="!(has(self.client_certificate) && has(self.clientCertificateRef))", message="client_certificate and clientCertificateRef are mutually exclusive"

func (*KongUpstreamAPISpec) DeepCopy

func (in *KongUpstreamAPISpec) DeepCopy() *KongUpstreamAPISpec

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

func (*KongUpstreamAPISpec) DeepCopyInto

func (in *KongUpstreamAPISpec) DeepCopyInto(out *KongUpstreamAPISpec)

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

type KongUpstreamList

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

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

KongUpstreamList contains a list of Kong Upstreams. +kubebuilder:object:root=true

func (*KongUpstreamList) DeepCopy

func (in *KongUpstreamList) DeepCopy() *KongUpstreamList

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

func (*KongUpstreamList) DeepCopyInto

func (in *KongUpstreamList) DeepCopyInto(out *KongUpstreamList)

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

func (*KongUpstreamList) DeepCopyObject

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

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

func (KongUpstreamList) GetItems

func (obj KongUpstreamList) GetItems() []KongUpstream

GetItems returns the list of KongUpstream items.

type KongUpstreamSpec

type KongUpstreamSpec struct {
	KongUpstreamAPISpec `json:",inline"`

	// ControlPlaneRef is a reference to a ControlPlane this KongUpstream is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +required
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef"`

	// Adopt is the options for adopting an upstream from an existing upstream in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongUpstreamSpec defines the spec of Kong Upstream. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneRef) ? true : self.controlPlaneRef.type != 'kic'", message="KIC is not supported as control plane"

func (*KongUpstreamSpec) DeepCopy

func (in *KongUpstreamSpec) DeepCopy() *KongUpstreamSpec

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

func (*KongUpstreamSpec) DeepCopyInto

func (in *KongUpstreamSpec) DeepCopyInto(out *KongUpstreamSpec)

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

type KongUpstreamStatus

type KongUpstreamStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneAndCertificateRefs `json:"konnect,omitempty"`

	// Conditions describe the status of the Konnect entity.
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KongUpstreamStatus represents the current status of the Kong Upstream resource.

func (*KongUpstreamStatus) DeepCopy

func (in *KongUpstreamStatus) DeepCopy() *KongUpstreamStatus

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

func (*KongUpstreamStatus) DeepCopyInto

func (in *KongUpstreamStatus) DeepCopyInto(out *KongUpstreamStatus)

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

type KongVault

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

	Spec   KongVaultSpec   `json:"spec"`
	Status KongVaultStatus `json:"status,omitempty"`
}

KongVault is the schema for kongvaults API which defines a custom Kong vault. A Kong vault is a storage to store sensitive data, where the values can be referenced in configuration of plugins. See: https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/

+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster,shortName=kv,categories=kong,path=kongvaults +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Backend Type",type=string,JSONPath=`.spec.backend`,description="Name of the backend of the vault" +kubebuilder:printcolumn:name="Prefix",type=string,JSONPath=`.spec.prefix`,description="Prefix of vault URI to reference the values in the vault" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,description="Age" +kubebuilder:printcolumn:name="Description",type=string,JSONPath=`.spec.description`,description="Description",priority=1 +kubebuilder:printcolumn:name="Programmed",type=string,JSONPath=`.status.conditions[?(@.type=="Programmed")].status` +kubebuilder:validation:XValidation:rule="self.spec.prefix == oldSelf.spec.prefix", message="The spec.prefix field is immutable" +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') || !has(self.spec.controlPlaneRef)) ? true : oldSelf.spec.controlPlaneRef == self.spec.controlPlaneRef", message="spec.controlPlaneRef is immutable when an entity is already Programmed" +kong:channels=kong-operator

func (*KongVault) DeepCopy

func (in *KongVault) DeepCopy() *KongVault

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

func (*KongVault) DeepCopyInto

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

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

func (*KongVault) DeepCopyObject

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

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

func (*KongVault) GetAdoptOptions

func (obj *KongVault) GetAdoptOptions() *commonv1alpha1.AdoptOptions

GetAdoptOptions gets the options to adopt the resource from an existing resource.

func (*KongVault) GetConditions

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

GetConditions returns the Status Conditions.

func (*KongVault) GetControlPlaneID

func (obj *KongVault) GetControlPlaneID() string

GetControlPlaneID returns the ControlPlane ID in the KongVault status.

func (*KongVault) GetControlPlaneRef

func (obj *KongVault) GetControlPlaneRef() *commonv1alpha1.ControlPlaneRef

GetControlPlaneRef returns the ControlPlaneRef.

func (*KongVault) GetKonnectID

func (obj *KongVault) GetKonnectID() string

GetKonnectID returns the Konnect ID in the KongVault status.

func (*KongVault) GetKonnectStatus

func (obj *KongVault) GetKonnectStatus() *konnectv1alpha2.KonnectEntityStatus

GetKonnectStatus returns the Konnect status contained in the KongVault status.

func (KongVault) GetTypeName

func (obj KongVault) GetTypeName() string

GetTypeName returns the KongVault Kind name.

func (*KongVault) PersistsKonnectID added in v2.2.0

func (*KongVault) PersistsKonnectID() bool

PersistsKonnectID reports whether the KongVault persists a Konnect ID in status.

func (*KongVault) SetAdoptOptions

func (obj *KongVault) SetAdoptOptions(opts *commonv1alpha1.AdoptOptions)

SetAdoptOptions sets the options to adopt the resource from an existing resource.

func (*KongVault) SetConditions

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

SetConditions sets the Status Conditions.

func (*KongVault) SetControlPlaneID

func (obj *KongVault) SetControlPlaneID(id string)

SetControlPlaneID sets the ControlPlane ID in the KongVault status.

func (*KongVault) SetControlPlaneRef

func (obj *KongVault) SetControlPlaneRef(ref *commonv1alpha1.ControlPlaneRef)

SetControlPlaneRef sets the ControlPlaneRef.

func (*KongVault) SetKonnectID

func (obj *KongVault) SetKonnectID(id string)

SetKonnectID sets the Konnect ID in the KongVault status.

type KongVaultList

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

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

KongVaultList contains a list of KongVault. +kubebuilder:object:root=true

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.

func (KongVaultList) GetItems

func (obj KongVaultList) GetItems() []KongVault

GetItems returns the list of KongVault items.

type KongVaultSpec

type KongVaultSpec struct {
	// Backend is the type of the backend storing the secrets in the vault.
	// The supported backends of Kong is listed here:
	// https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/backends/
	// +kubebuilder:validation:MinLength=1
	Backend string `json:"backend"`
	// Prefix is the prefix of vault URI for referencing values in the vault.
	// It is immutable after created.
	// +kubebuilder:validation:MinLength=1
	Prefix string `json:"prefix"`
	// Description is the additional information about the vault.
	Description string `json:"description,omitempty"`
	// Config is the configuration of the vault. Varies for different backends.
	Config apiextensionsv1.JSON `json:"config,omitempty"`
	// Tags are the tags associated to the vault for grouping and filtering.
	Tags commonv1alpha1.Tags `json:"tags,omitempty"`
	// ControlPlaneRef is a reference to a Konnect ControlPlane this KongVault is associated with.
	// +kubebuilder:validation:XValidation:message="'konnectID' type is not supported", rule="self.type != 'konnectID'"
	// +optional
	ControlPlaneRef *commonv1alpha1.ControlPlaneRef `json:"controlPlaneRef,omitempty"`

	// Adopt is the options for adopting a vault from an existing vault in Konnect.
	// +optional
	Adopt *commonv1alpha1.AdoptOptions `json:"adopt,omitempty"`
}

KongVaultSpec defines specification of a custom Kong vault. +kubebuilder:validation:XValidation:rule="!has(self.adopt) ? true : (has(self.controlPlaneRef) && self.controlPlaneRef.type == 'konnectNamespacedRef')", message="spec.adopt is allowed only when controlPlaneRef is konnectNamespacedRef" +kubebuilder:validation:XValidation:rule="(has(oldSelf.adopt) && has(self.adopt)) || (!has(oldSelf.adopt) && !has(self.adopt))", message="Cannot set or unset spec.adopt in updates"

func (*KongVaultSpec) DeepCopy

func (in *KongVaultSpec) DeepCopy() *KongVaultSpec

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

func (*KongVaultSpec) DeepCopyInto

func (in *KongVaultSpec) DeepCopyInto(out *KongVaultSpec)

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

type KongVaultStatus

type KongVaultStatus struct {
	// Konnect contains the Konnect entity status.
	// +optional
	Konnect *konnectv1alpha2.KonnectEntityStatusWithControlPlaneRef `json:"konnect,omitempty"`

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

KongVaultStatus represents the current status of the KongVault resource.

func (*KongVaultStatus) DeepCopy

func (in *KongVaultStatus) DeepCopy() *KongVaultStatus

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

func (*KongVaultStatus) DeepCopyInto

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

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

type KonnectEntityRef added in v2.2.0

type KonnectEntityRef struct {
	// ID is the unique identifier of the Konnect entity as assigned by Konnect API.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=256
	ID string `json:"id,omitzero"`
}

KonnectEntityRef is a reference to a Konnect entity.

func (*KonnectEntityRef) DeepCopy added in v2.2.0

func (in *KonnectEntityRef) DeepCopy() *KonnectEntityRef

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

func (*KonnectEntityRef) DeepCopyInto added in v2.2.0

func (in *KonnectEntityRef) DeepCopyInto(out *KonnectEntityRef)

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

type KonnectEntityStatus added in v2.2.0

type KonnectEntityStatus = konnectv1alpha2.KonnectEntityStatus

KonnectEntityStatus represents the status of a Konnect entity.

type KonnectNamespacedRef

type KonnectNamespacedRef = commonv1alpha1.KonnectNamespacedRef

KonnectNamespacedRef is the schema for the KonnectNamespacedRef type.

type Labels added in v2.2.0

type Labels map[string]LabelsValue

Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.

Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".

func (Labels) DeepCopy added in v2.2.0

func (in Labels) DeepCopy() Labels

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

func (Labels) DeepCopyInto added in v2.2.0

func (in Labels) DeepCopyInto(out *Labels)

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

type LabelsValue added in v2.2.0

type LabelsValue string

LabelsValue is the value type for Labels.

+kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=63 +kubebuilder:validation:Pattern=`^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$`

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:MaxLength=63

type NamespaceExactAllowListItem added in v2.2.0

type NamespaceExactAllowListItem struct {
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Backend string `json:"backend,omitzero"`
}

NamespaceExactAllowListItem is a type alias.

func (*NamespaceExactAllowListItem) DeepCopy added in v2.2.0

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

func (*NamespaceExactAllowListItem) DeepCopyInto added in v2.2.0

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 defines the API group of the referred object.
	Group *string `json:"group,omitempty"`
	// Kind defines the kind of the referred object.
	// +kubebuilder:validation:Enum=KongPlugin;KongClusterPlugin
	Kind *string `json:"kind,omitempty"`
	// Empty namespace means the same namespace of the owning object.
	Namespace *string `json:"namespace,omitempty"`
	// Name defines the name of the referred object.
	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 PEMKeyPair

type PEMKeyPair struct {
	// The private key in PEM format.
	// +kubebuilder:validation:MinLength=1
	PrivateKey string `json:"private_key"`

	// The public key in PEM format.
	// +kubebuilder:validation:MinLength=1
	PublicKey string `json:"public_key"`
}

PEMKeyPair defines a keypair in PEM format.

func (*PEMKeyPair) DeepCopy

func (in *PEMKeyPair) DeepCopy() *PEMKeyPair

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

func (*PEMKeyPair) DeepCopyInto

func (in *PEMKeyPair) DeepCopyInto(out *PEMKeyPair)

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.
	// +required
	Name string `json:"name"`

	// Namespace is the namespace of the referenced KongPlugin resource.
	// Can only be set when Kind is KongPlugin.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// 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. +kubebuilder:validation:XValidation:rule="self.kind == 'KongPlugin' || !has(self.__namespace__)", message="Namespace can be set only when kind is 'KongPlugin'"

func (*PluginRef) DeepCopy

func (in *PluginRef) DeepCopy() *PluginRef

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

func (*PluginRef) DeepCopyInto

func (in *PluginRef) DeepCopyInto(out *PluginRef)

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

type ProduceFailureMode added in v2.2.0

type ProduceFailureMode string

ProduceFailureMode Describes how to handle a failure in a policy applied to produced records. * `reject` - rejects the record batch. * `passthrough` - passes the record silently to the backend cluster even though policy execution failed. * `mark` - passes the record to the backend cluster but marks it with a `kong/policy-failure-<id>` header whose value is the reason for the policy failure (truncated to 512 characters).

type ProduceKeyValidationAction added in v2.2.0

type ProduceKeyValidationAction string

ProduceKeyValidationAction Defines a behavior when record key is not valid. * reject - rejects a batch for topic partition. Only available for produce. * mark - marks a record with kong/server header and client ID value

to help to identify the clients violating schema.

type ProduceValueValidationAction added in v2.2.0

type ProduceValueValidationAction string

ProduceValueValidationAction Defines a behavior when record value is not valid. * reject - rejects a batch for topic partition. Only available for produce. * mark - marks a record with kong/server header and client ID value

to help to identify the clients violating schema.

type ReferenceGrantFrom

type ReferenceGrantFrom struct {
	// Group is the group of the referent.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	Group Group `json:"group"`

	// Kind is the kind of the referent.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	Kind Kind `json:"kind"`

	// Namespace is the namespace of the referent.
	//
	// +required
	Namespace Namespace `json:"namespace"`
}

ReferenceGrantFrom describes trusted namespaces and kinds.

+kubebuilder:validation:XValidation:rule="self.group != 'configuration.konghq.com' || self.kind in [ 'KongConsumer', 'KongConsumerGroup', 'KongRoute', 'KongService', 'KongCertificate', 'KongCACertificate', 'KongDataPlaneClientCertificate', 'KongUpstream', 'KongTarget', 'KongKey', 'KongKeySet', 'KongVault', 'KongPluginBinding', 'KongSNI']",message="Only KongConsumer, KongConsumerGroup, KongRoute, KongCertificate, KongCACertificate, KongDataPlaneClientCertificate, KongService, KongUpstream, KongTarget, KongKey, KongKeySet, KongVault, KongPluginBinding and KongSNI kinds are supported for 'configuration.konghq.com' group" +kubebuilder:validation:XValidation:rule="self.group != 'gateway-operator.konghq.com' || self.kind in [ 'GatewayConfiguration' ]",message="Only GatewayConfiguration kind is supported for 'gateway-operator.konghq.com' group" +kubebuilder:validation:XValidation:rule="self.kind == 'KongVault' ? self.__namespace__ == \"\" : self.__namespace__ != \"\"",message="namespace must be empty for KongVault and non-empty for other kinds"

func (*ReferenceGrantFrom) DeepCopy

func (in *ReferenceGrantFrom) DeepCopy() *ReferenceGrantFrom

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

func (*ReferenceGrantFrom) DeepCopyInto

func (in *ReferenceGrantFrom) DeepCopyInto(out *ReferenceGrantFrom)

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

type ReferenceGrantTo

type ReferenceGrantTo struct {
	// Group is the group of the referent.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	Group Group `json:"group"`

	// Kind is the kind of the referent.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	Kind Kind `json:"kind"`

	// Name is the name of the referent. When unspecified, this policy
	// refers to all resources of the specified Group and Kind in the local
	// namespace.
	//
	// +optional
	Name *ObjectName `json:"name,omitempty"`
}

ReferenceGrantTo describes what Kinds are allowed as targets of the references.

+kubebuilder:validation:XValidation:rule=".self.group != 'core' || .self.kind == 'Secret'",message="Only 'Secret' kind is supported for 'core' group" +kubebuilder:validation:XValidation:rule=".self.group != 'konnect.konghq.com' || .self.kind in ['KonnectGatewayControlPlane', 'KonnectAPIAuthConfiguration', 'Portal', 'KonnectEventGateway', 'EventGatewayBackendCluster', 'EventGatewayListener', 'EventGatewayVirtualCluster']",message="Only 'KonnectGatewayControlPlane', 'KonnectAPIAuthConfiguration', 'Portal', 'KonnectEventGateway', 'EventGatewayBackendCluster', 'EventGatewayListener' and 'EventGatewayVirtualCluster' kinds are supported for 'konnect.konghq.com' group" +kubebuilder:validation:XValidation:rule=".self.group != 'configuration.konghq.com' || .self.kind in ['KongPlugin', 'KongService', 'KongCertificate', 'KongCACertificate', 'KongUpstream']",message="Only 'KongPlugin', 'KongService', 'KongCertificate', 'KongCACertificate' and 'KongUpstream' kinds are supported for 'configuration.konghq.com' group"

func (*ReferenceGrantTo) DeepCopy

func (in *ReferenceGrantTo) DeepCopy() *ReferenceGrantTo

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

func (*ReferenceGrantTo) DeepCopyInto

func (in *ReferenceGrantTo) DeepCopyInto(out *ReferenceGrantTo)

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

type SchemaRegistryReference added in v2.2.0

type SchemaRegistryReference map[string]string

SchemaRegistryReference A reference to a schema Registry.

func (SchemaRegistryReference) DeepCopy added in v2.2.0

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

func (SchemaRegistryReference) DeepCopyInto added in v2.2.0

func (in SchemaRegistryReference) DeepCopyInto(out *SchemaRegistryReference)

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

type SchemaRegistryReferenceByID added in v2.2.0

type SchemaRegistryReferenceByID struct {
}

SchemaRegistryReferenceByID is a type alias.

func (*SchemaRegistryReferenceByID) DeepCopy added in v2.2.0

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

func (*SchemaRegistryReferenceByID) DeepCopyInto added in v2.2.0

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

type SchemaRegistryReferenceByName added in v2.2.0

type SchemaRegistryReferenceByName struct {
	// The unique name of the schema registry.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	Name string `json:"name,omitzero"`
}

SchemaRegistryReferenceByName Reference a schema registry by its unique name.

func (*SchemaRegistryReferenceByName) DeepCopy added in v2.2.0

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

func (*SchemaRegistryReferenceByName) DeepCopyInto added in v2.2.0

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

type SchemaValidationType added in v2.2.0

type SchemaValidationType string

SchemaValidationType How to validate the schema and parse the record. * confluent_schema_registry - validates against confluent schema registry. * json - simple JSON parsing without the schema.

type SecretKeyRef added in v2.2.0

type SecretKeyRef struct {
	// Name is the name of the Secret
	//
	// +required
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name,omitzero"`

	// Key is the key within the Secret
	//
	// +required
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:MinLength=1
	Key string `json:"key,omitzero"`

	// Namespace is the namespace of the Secret
	//
	// +optional
	// +kubebuilder:validation:MaxLength=63
	Namespace string `json:"namespace,omitzero"`
}

SecretKeyRef is a reference to a key in a Secret

func (*SecretKeyRef) DeepCopy added in v2.2.0

func (in *SecretKeyRef) DeepCopy() *SecretKeyRef

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

func (*SecretKeyRef) DeepCopyInto added in v2.2.0

func (in *SecretKeyRef) DeepCopyInto(out *SecretKeyRef)

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

type SensitiveDataSecretRef added in v2.2.0

type SensitiveDataSecretRef struct {
	// Ref is the namespaced reference to the Secret.
	// +optional
	Ref commonv1alpha1.NamespacedRef `json:"ref,omitzero"`
	// Key is the data key within the Secret.
	// +optional
	Key string `json:"key,omitzero"`
}

SensitiveDataSecretRef identifies a specific key inside a Kubernetes Secret that holds a sensitive value for a CRD field.

func (*SensitiveDataSecretRef) DeepCopy added in v2.2.0

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

func (*SensitiveDataSecretRef) DeepCopyInto added in v2.2.0

func (in *SensitiveDataSecretRef) DeepCopyInto(out *SensitiveDataSecretRef)

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

type SensitiveDataSource added in v2.2.0

type SensitiveDataSource struct {
	// Type indicates the source of the sensitive data: 'inline' or 'secretRef'.
	//
	// +kubebuilder:validation:Enum=inline;secretRef
	// +kubebuilder:default=inline
	Type SensitiveDataSourceType `json:"type"`

	// Value contains the sensitive data provided inline.
	// Required when type is 'inline'.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=4096
	Value *string `json:"value,omitempty"`

	// SecretRef is a reference to a Kubernetes Secret containing the sensitive data.
	// Required when type is 'secretRef'.
	//
	// +optional
	SecretRef *commonv1alpha1.NamespacedRef `json:"secretRef,omitempty"`
}

SensitiveDataSource holds a sensitive string value that can be provided either inline or sourced from a Kubernetes Secret.

+kubebuilder:validation:XValidation:rule="self.type == 'inline' ? has(self.value) : has(self.secretRef)",message="value required when type=inline; secretRef required when type=secretRef"

func (*SensitiveDataSource) DeepCopy added in v2.2.0

func (in *SensitiveDataSource) DeepCopy() *SensitiveDataSource

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

func (*SensitiveDataSource) DeepCopyInto added in v2.2.0

func (in *SensitiveDataSource) DeepCopyInto(out *SensitiveDataSource)

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

type SensitiveDataSourceType added in v2.2.0

type SensitiveDataSourceType string

SensitiveDataSourceType is the type of source for the sensitive data.

const (
	// SensitiveDataSourceTypeInline indicates that the data is provided inline in the APISpec.
	SensitiveDataSourceTypeInline SensitiveDataSourceType = "inline"
	// SensitiveDataSourceTypeSecretRef indicates that the data is sourced from a Kubernetes Secret.
	SensitiveDataSourceTypeSecretRef SensitiveDataSourceType = "secretRef"
)

type ServiceRef

type ServiceRef struct {
	// Type can be one of:
	// - namespacedRef
	//
	// +kubebuilder:validation:Enum:=namespacedRef
	Type string `json:"type,omitempty"`

	// NamespacedRef is a reference to a KongService.
	// If namespace is not specified, the KongService in the same namespace
	// as the referencing entity.
	// Namespace can be specified to reference a KongService in a different namespace
	// but this requires a KongReferenceGrant in the target namespace allowing
	// the reference.
	//
	// +optional
	NamespacedRef *commonv1alpha1.NamespacedRef `json:"namespacedRef,omitempty"`
}

ServiceRef is a reference to a KongService.

+kubebuilder:validation:XValidation:rule="self.type == 'namespacedRef' ? has(self.namespacedRef) : true", message="when type is namespacedRef, namespacedRef must be set"

func (*ServiceRef) DeepCopy

func (in *ServiceRef) DeepCopy() *ServiceRef

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

func (*ServiceRef) DeepCopyInto

func (in *ServiceRef) DeepCopyInto(out *ServiceRef)

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

type TLSCertificate added in v2.2.0

type TLSCertificate struct {
	// A literal value or a reference to an existing secret as a template string
	// expression.
	// The value is stored and returned by the API as-is, not treated as sensitive
	// information.
	//
	//
	// +required
	Certificate SensitiveDataSource `json:"certificate,omitzero"`
	// A sensitive value containing the secret or a reference to a secret as a
	// template string expression.
	// If the value is provided as plain text, it is encrypted at rest and omitted
	// from API responses.
	// If provided as an expression, the expression itself is stored and returned
	// by the API.
	//
	//
	// +required
	Key SensitiveDataSource `json:"key,omitzero"`
}

TLSCertificate A TLS certificate and its associated private key.

func (*TLSCertificate) DeepCopy added in v2.2.0

func (in *TLSCertificate) DeepCopy() *TLSCertificate

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

func (*TLSCertificate) DeepCopyInto added in v2.2.0

func (in *TLSCertificate) DeepCopyInto(out *TLSCertificate)

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

type TLSTrustBundleName added in v2.2.0

type TLSTrustBundleName string

TLSTrustBundleName The unique name of the TLS trust bundle.

type TLSTrustBundleReference added in v2.2.0

type TLSTrustBundleReference struct {
	// +optional
	ID *string `json:"id,omitempty"`
	// +optional
	Name *TLSTrustBundleName `json:"name,omitempty"`
}

TLSTrustBundleReference is a type alias.

+kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*TLSTrustBundleReference) DeepCopy added in v2.2.0

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

func (*TLSTrustBundleReference) DeepCopyInto added in v2.2.0

func (in *TLSTrustBundleReference) DeepCopyInto(out *TLSTrustBundleReference)

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

type TLSTrustBundleReferenceByID added in v2.2.0

type TLSTrustBundleReferenceByID struct {
}

TLSTrustBundleReferenceByID is a type alias.

func (*TLSTrustBundleReferenceByID) DeepCopy added in v2.2.0

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

func (*TLSTrustBundleReferenceByID) DeepCopyInto added in v2.2.0

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

type TLSTrustBundleReferenceByName added in v2.2.0

type TLSTrustBundleReferenceByName struct {
	// The unique name of the TLS trust bundle.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	Name TLSTrustBundleName `json:"name,omitzero"`
}

TLSTrustBundleReferenceByName is a type alias.

func (*TLSTrustBundleReferenceByName) DeepCopy added in v2.2.0

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

func (*TLSTrustBundleReferenceByName) DeepCopyInto added in v2.2.0

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

type TLSVersionRange added in v2.2.0

type TLSVersionRange struct {
	// Maximum TLS version to use.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=TLSv1.2;TLSv1.3
	Max string `json:"max,omitzero"`
	// Minimum TLS version to use.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=TLSv1.2;TLSv1.3
	Min string `json:"min,omitzero"`
}

TLSVersionRange A range of TLS versions.

func (*TLSVersionRange) DeepCopy added in v2.2.0

func (in *TLSVersionRange) DeepCopy() *TLSVersionRange

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

func (*TLSVersionRange) DeepCopyInto added in v2.2.0

func (in *TLSVersionRange) DeepCopyInto(out *TLSVersionRange)

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

type TargetRef

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

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

func (*TargetRef) DeepCopy

func (in *TargetRef) DeepCopy() *TargetRef

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

func (*TargetRef) DeepCopyInto

func (in *TargetRef) DeepCopyInto(out *TargetRef)

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

type TargetRefWithGroupKind

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

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

func (*TargetRefWithGroupKind) DeepCopyInto

func (in *TargetRefWithGroupKind) DeepCopyInto(out *TargetRefWithGroupKind)

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

type VirtualClusterACLMode added in v2.2.0

type VirtualClusterACLMode string

VirtualClusterACLMode Configures whether or not ACL policies are enforced on the gateway. - `enforce_on_gateway` means the gateway enforces its own ACL policies for this virtual cluster

and does not forward ACL-related commands to the backend cluster. Note that if there are no ACL policies configured, all access is denied. - `passthrough` tells the gateway to forward all ACL-related commands.

type VirtualClusterAuthenticationAnonymous added in v2.2.0

type VirtualClusterAuthenticationAnonymous struct {
}

VirtualClusterAuthenticationAnonymous is a type alias.

func (*VirtualClusterAuthenticationAnonymous) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationAnonymous) DeepCopyInto added in v2.2.0

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

type VirtualClusterAuthenticationAudience added in v2.2.0

type VirtualClusterAuthenticationAudience struct {
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Name string `json:"name,omitzero"`
}

VirtualClusterAuthenticationAudience is a type alias.

func (*VirtualClusterAuthenticationAudience) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationAudience) DeepCopyInto added in v2.2.0

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

type VirtualClusterAuthenticationClaimsMapping added in v2.2.0

type VirtualClusterAuthenticationClaimsMapping struct {
	// Maps the scope claim.
	//
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Scope string `json:"scope,omitzero"`
	// Maps the subject claim.
	//
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Sub string `json:"sub,omitzero"`
}

VirtualClusterAuthenticationClaimsMapping Maps JWT claims in the case when sub and scope are presented as different claims in your JWT token.

func (*VirtualClusterAuthenticationClaimsMapping) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationClaimsMapping) DeepCopyInto added in v2.2.0

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

type VirtualClusterAuthenticationClientCertificate added in v2.2.0

type VirtualClusterAuthenticationClientCertificate struct {
}

VirtualClusterAuthenticationClientCertificate Client certificate (mTLS) authentication scheme for the virtual cluster.

**Requires a minimum runtime version of `1.1`**.

func (*VirtualClusterAuthenticationClientCertificate) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationClientCertificate) DeepCopyInto added in v2.2.0

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

type VirtualClusterAuthenticationJWKS added in v2.2.0

type VirtualClusterAuthenticationJWKS struct {
	// Duration after which the gateway will fetch and cache JWKS.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	CacheExpiration string `json:"cacheExpiration,omitzero"`
	// URL for JWKS endpoint.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Endpoint string `json:"endpoint,omitzero"`
	// Total time from establishing connection to receive a response from JWKS
	// endpoint.
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	Timeout string `json:"timeout,omitzero"`
}

VirtualClusterAuthenticationJWKS JSON Web Key Set configuration for verifying token signatures.

func (*VirtualClusterAuthenticationJWKS) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationJWKS) DeepCopyInto added in v2.2.0

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

type VirtualClusterAuthenticationOauthBearer added in v2.2.0

type VirtualClusterAuthenticationOauthBearer struct {
	// Maps JWT claims in the case when sub and scope are presented as different
	// claims in your JWT token.
	//
	// +optional
	ClaimsMapping VirtualClusterAuthenticationClaimsMapping `json:"claimsMapping,omitzero"`
	// JSON Web Key Set configuration for verifying token signatures.
	//
	// +optional
	Jwks VirtualClusterAuthenticationJWKS `json:"jwks,omitzero"`
	// Methods to mediate authentication:
	// * passthrough - pass authentication from the client through proxy to the
	// backend cluster without any kind of
	//
	//
	// validation
	// * validate_forward - pass authentication from the client through proxy to
	// the backend cluster.
	//
	//
	// Proxy does the validation before forwarding it to the client.
	// * terminate - terminate authentication at the proxy level and originate
	// authentication to the backend cluster
	//
	//
	// using the configuration defined at BackendCluster's authentication.
	// SASL auth is not originated if authentication on the backend_cluster is not
	// configured.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=passthrough;validate_forward;terminate
	Mediation string `json:"mediation,omitzero"`
	// Validation rules.
	//
	// +optional
	Validate VirtualClusterAuthenticationValidate `json:"validate,omitzero"`
}

VirtualClusterAuthenticationOauthBearer Oauth Bearer authentication scheme for the virtual cluster.

func (*VirtualClusterAuthenticationOauthBearer) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationOauthBearer) DeepCopyInto added in v2.2.0

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

type VirtualClusterAuthenticationPrincipal added in v2.2.0

type VirtualClusterAuthenticationPrincipal struct {
	// A sensitive value containing the secret or a reference to a secret as a
	// template string expression.
	// If the value is provided as plain text, it is encrypted at rest and omitted
	// from API responses.
	// If provided as an expression, the expression itself is stored and returned
	// by the API.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Password GatewaySecret `json:"password,omitzero"`
	// A literal value or a reference to an existing secret as a template string
	// expression.
	// The value is stored and returned by the API as-is, not treated as sensitive
	// information.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Username GatewaySecretReferenceOrLiteral `json:"username,omitzero"`
}

VirtualClusterAuthenticationPrincipal A principal for authentication containing username and password.

func (*VirtualClusterAuthenticationPrincipal) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationPrincipal) DeepCopyInto added in v2.2.0

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

type VirtualClusterAuthenticationSaslPlain added in v2.2.0

type VirtualClusterAuthenticationSaslPlain struct {
	// The mediation type for SASL/PLAIN authentication.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=passthrough;terminate
	Mediation string `json:"mediation,omitzero"`
	// List of principals to be able to authenticate with, used with `terminate`
	// mediation.
	//
	// +optional
	Principals []VirtualClusterAuthenticationPrincipal `json:"principals,omitempty"`
}

VirtualClusterAuthenticationSaslPlain SASL/PLAIN authentication scheme for the virtual cluster containing principals with username and password.

func (*VirtualClusterAuthenticationSaslPlain) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationSaslPlain) DeepCopyInto added in v2.2.0

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

type VirtualClusterAuthenticationSaslScram added in v2.2.0

type VirtualClusterAuthenticationSaslScram struct {
	// The algorithm used for SASL/SCRAM authentication.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=sha256;sha512
	Algorithm string `json:"algorithm,omitzero"`
}

VirtualClusterAuthenticationSaslScram SASL/SCRAM authentication scheme for the virtual cluster.

func (*VirtualClusterAuthenticationSaslScram) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationSaslScram) DeepCopyInto added in v2.2.0

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

type VirtualClusterAuthenticationScheme added in v2.2.0

type VirtualClusterAuthenticationScheme struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=anonymous;clientCertificate;oauthBearer;saslPlain;saslScram
	Type VirtualClusterAuthenticationSchemeType `json:"type,omitempty"`

	// Anonymous configuration.
	//
	// +optional
	Anonymous *VirtualClusterAuthenticationAnonymous `json:"anonymous,omitempty"`
	// ClientCertificate configuration.
	//
	// +optional
	ClientCertificate *VirtualClusterAuthenticationClientCertificate `json:"clientCertificate,omitempty"`
	// OauthBearer configuration.
	//
	// +optional
	OauthBearer *VirtualClusterAuthenticationOauthBearer `json:"oauthBearer,omitempty"`
	// SaslPlain configuration.
	//
	// +optional
	SaslPlain *VirtualClusterAuthenticationSaslPlain `json:"saslPlain,omitempty"`
	// SaslScram configuration.
	//
	// +optional
	SaslScram *VirtualClusterAuthenticationSaslScram `json:"saslScram,omitempty"`
}

VirtualClusterAuthenticationScheme represents a union type for VirtualClusterAuthenticationScheme. Only one of the fields should be set based on the Type.

func (*VirtualClusterAuthenticationScheme) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationScheme) DeepCopyInto added in v2.2.0

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

func (VirtualClusterAuthenticationScheme) MarshalJSON added in v2.2.0

func (u VirtualClusterAuthenticationScheme) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*VirtualClusterAuthenticationScheme) UnmarshalJSON added in v2.2.0

func (u *VirtualClusterAuthenticationScheme) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type VirtualClusterAuthenticationSchemeType added in v2.2.0

type VirtualClusterAuthenticationSchemeType string

VirtualClusterAuthenticationSchemeType represents the type of VirtualClusterAuthenticationScheme.

const (
	VirtualClusterAuthenticationSchemeTypeAnonymous         VirtualClusterAuthenticationSchemeType = "anonymous"
	VirtualClusterAuthenticationSchemeTypeClientCertificate VirtualClusterAuthenticationSchemeType = "clientCertificate"
	VirtualClusterAuthenticationSchemeTypeOauthBearer       VirtualClusterAuthenticationSchemeType = "oauthBearer"
	VirtualClusterAuthenticationSchemeTypeSaslPlain         VirtualClusterAuthenticationSchemeType = "saslPlain"
	VirtualClusterAuthenticationSchemeTypeSaslScram         VirtualClusterAuthenticationSchemeType = "saslScram"
)

VirtualClusterAuthenticationSchemeType values.

type VirtualClusterAuthenticationValidate added in v2.2.0

type VirtualClusterAuthenticationValidate struct {
	// List of expected audience values.
	// One of them has to match the audience claim in the token.
	//
	// +optional
	Audiences []VirtualClusterAuthenticationAudience `json:"audiences,omitempty"`
	// Expected token issuer in the token.
	//
	// +optional
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Issuer string `json:"issuer,omitzero"`
}

VirtualClusterAuthenticationValidate Validation rules.

func (*VirtualClusterAuthenticationValidate) DeepCopy added in v2.2.0

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

func (*VirtualClusterAuthenticationValidate) DeepCopyInto added in v2.2.0

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

type VirtualClusterDNSLabel added in v2.2.0

type VirtualClusterDNSLabel string

VirtualClusterDNSLabel The DNS label used in the bootstrap server URL to identify the virtual cluster when using SNI routing. The format follows the RFC1035: 1-63 chars, lowercase alphanumeric or '-', must start and end with an alphanumeric character.

type VirtualClusterName added in v2.2.0

type VirtualClusterName string

VirtualClusterName The name of the virtual cluster.

type VirtualClusterNamespace added in v2.2.0

type VirtualClusterNamespace struct {
	//
	//
	// +optional
	Additional VirtualClusterNamespaceAdditionalProperties `json:"additional,omitzero"`
	// * hide_prefix - the configured prefix is hidden from clients for topics and
	// IDs when reading.
	//
	//
	// Created resources are written with the prefix on the backend cluster.
	// * enforce_prefix - the configured prefix remains visible to clients.
	//
	//
	// Created resources must include the prefix or the request will fail.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=hide_prefix;enforce_prefix
	Mode string `json:"mode,omitzero"`
	// The namespace is differentiated by this chosen prefix.
	// For example, if the prefix is set to "analytics_" the topic named
	// "analytics_user_clicks" is available to the clients
	// of the virtual cluster.
	// Topics without the prefix will be ignored unless added via
	// `additional.topics`.
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Prefix string `json:"prefix,omitzero"`
}

VirtualClusterNamespace Namespace allows to implement multitenancy using a single backend cluster. It allows to either hide or enforce a static prefix on resources (topics, consumer group IDs, transaction IDs).

func (*VirtualClusterNamespace) DeepCopy added in v2.2.0

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

func (*VirtualClusterNamespace) DeepCopyInto added in v2.2.0

func (in *VirtualClusterNamespace) DeepCopyInto(out *VirtualClusterNamespace)

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

type VirtualClusterNamespaceAdditionalProperties added in v2.2.0

type VirtualClusterNamespaceAdditionalProperties struct {
	// Consumer group IDs to expose even if they don't start with the namespace
	// prefix.
	//
	//
	// +optional
	ConsumerGroups []VirtualClusterNamespaceIDSelector `json:"consumerGroups,omitempty"`
	// Additional backend topics to expose even if they don't match the namespace
	// prefix.
	// The topics are not affected by the hide/enforce prefix mode.
	// If the client tries to create a topic that matches this list, the request is
	// rejected.
	//
	//
	// +optional
	Topics []VirtualClusterNamespaceTopicSelector `json:"topics,omitempty"`
}

VirtualClusterNamespaceAdditionalProperties is a type alias.

func (*VirtualClusterNamespaceAdditionalProperties) DeepCopy added in v2.2.0

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

func (*VirtualClusterNamespaceAdditionalProperties) DeepCopyInto added in v2.2.0

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

type VirtualClusterNamespaceIDSelector added in v2.2.0

type VirtualClusterNamespaceIDSelector struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=exactList;glob
	Type VirtualClusterNamespaceIDSelectorType `json:"type,omitempty"`

	// ExactList configuration.
	//
	// +optional
	ExactList *VirtualClusterNamespaceIDSelectorExactList `json:"exactList,omitempty"`
	// Glob configuration.
	//
	// +optional
	Glob *VirtualClusterNamespaceIDSelectorGlob `json:"glob,omitempty"`
}

VirtualClusterNamespaceIDSelector represents a union type for VirtualClusterNamespaceIDSelector. Only one of the fields should be set based on the Type.

func (*VirtualClusterNamespaceIDSelector) DeepCopy added in v2.2.0

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

func (*VirtualClusterNamespaceIDSelector) DeepCopyInto added in v2.2.0

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

func (VirtualClusterNamespaceIDSelector) MarshalJSON added in v2.2.0

func (u VirtualClusterNamespaceIDSelector) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*VirtualClusterNamespaceIDSelector) UnmarshalJSON added in v2.2.0

func (u *VirtualClusterNamespaceIDSelector) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type VirtualClusterNamespaceIDSelectorExactList added in v2.2.0

type VirtualClusterNamespaceIDSelectorExactList struct {
	//
	//
	// +optional
	ExactList []VirtualClusterNamespaceIDSelectorExactListExactList `json:"exactList,omitempty"`
}

VirtualClusterNamespaceIDSelectorExactList is a type alias.

func (*VirtualClusterNamespaceIDSelectorExactList) DeepCopy added in v2.2.0

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

func (*VirtualClusterNamespaceIDSelectorExactList) DeepCopyInto added in v2.2.0

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

type VirtualClusterNamespaceIDSelectorExactListExactList added in v2.2.0

type VirtualClusterNamespaceIDSelectorExactListExactList struct {
	//
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Value string `json:"value,omitzero"`
}

VirtualClusterNamespaceIDSelectorExactListExactList is a type alias.

func (*VirtualClusterNamespaceIDSelectorExactListExactList) DeepCopy added in v2.2.0

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

func (*VirtualClusterNamespaceIDSelectorExactListExactList) DeepCopyInto added in v2.2.0

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

type VirtualClusterNamespaceIDSelectorGlob added in v2.2.0

type VirtualClusterNamespaceIDSelectorGlob struct {
	// Expose any id that matches this glob pattern (e.g., `my_id_*`).
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[A-Za-z0-9._?*-]+$`
	Glob string `json:"glob,omitzero"`
}

VirtualClusterNamespaceIDSelectorGlob is a type alias.

func (*VirtualClusterNamespaceIDSelectorGlob) DeepCopy added in v2.2.0

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

func (*VirtualClusterNamespaceIDSelectorGlob) DeepCopyInto added in v2.2.0

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

type VirtualClusterNamespaceIDSelectorType added in v2.2.0

type VirtualClusterNamespaceIDSelectorType string

VirtualClusterNamespaceIDSelectorType represents the type of VirtualClusterNamespaceIDSelector.

const (
	VirtualClusterNamespaceIDSelectorTypeExactList VirtualClusterNamespaceIDSelectorType = "exactList"
	VirtualClusterNamespaceIDSelectorTypeGlob      VirtualClusterNamespaceIDSelectorType = "glob"
)

VirtualClusterNamespaceIDSelectorType values.

type VirtualClusterNamespaceTopicSelector added in v2.2.0

type VirtualClusterNamespaceTopicSelector struct {
	// Type designates the type of configuration.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Enum=exactList;glob
	Type VirtualClusterNamespaceTopicSelectorType `json:"type,omitempty"`

	// ExactList configuration.
	//
	// +optional
	ExactList *VirtualClusterNamespaceTopicSelectorExactList `json:"exactList,omitempty"`
	// Glob configuration.
	//
	// +optional
	Glob *VirtualClusterNamespaceTopicSelectorGlob `json:"glob,omitempty"`
}

VirtualClusterNamespaceTopicSelector represents a union type for VirtualClusterNamespaceTopicSelector. Only one of the fields should be set based on the Type.

func (*VirtualClusterNamespaceTopicSelector) DeepCopy added in v2.2.0

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

func (*VirtualClusterNamespaceTopicSelector) DeepCopyInto added in v2.2.0

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

func (VirtualClusterNamespaceTopicSelector) MarshalJSON added in v2.2.0

func (u VirtualClusterNamespaceTopicSelector) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*VirtualClusterNamespaceTopicSelector) UnmarshalJSON added in v2.2.0

func (u *VirtualClusterNamespaceTopicSelector) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler.

type VirtualClusterNamespaceTopicSelectorExactList added in v2.2.0

type VirtualClusterNamespaceTopicSelectorExactList struct {
	// How to inform the user about conflicts where multiple backend topics would
	// map to the same virtual topic name.
	// * warn - log in the Event Gateway logs.
	// Additionally, it sets knep_namespace_topic_conflict to 1.
	// * ignore - do not do anything.
	// It does not cause knep_namespace_topic_conflict metric to be set to 1.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=warn;ignore
	Conflict string `json:"conflict,omitzero"`
	// Explicit allow-list of backend topic names.
	//
	// +optional
	ExactList []NamespaceExactAllowListItem `json:"exactList,omitempty"`
}

VirtualClusterNamespaceTopicSelectorExactList is a type alias.

func (*VirtualClusterNamespaceTopicSelectorExactList) DeepCopy added in v2.2.0

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

func (*VirtualClusterNamespaceTopicSelectorExactList) DeepCopyInto added in v2.2.0

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

type VirtualClusterNamespaceTopicSelectorGlob added in v2.2.0

type VirtualClusterNamespaceTopicSelectorGlob struct {
	// How to inform the user about conflicts where multiple backend topics would
	// map to the same virtual topic name.
	// * warn - log in the Event Gateway logs.
	// Additionally, it sets knep_namespace_topic_conflict to 1.
	// * ignore - do not do anything.
	// It does not cause knep_namespace_topic_conflict metric to be set to 1.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=warn;ignore
	Conflict string `json:"conflict,omitzero"`
	// Expose any backend topic that matches this glob pattern (e.g.,
	// `operations_data_*`).
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=`^[A-Za-z0-9._?*-]+$`
	Glob string `json:"glob,omitzero"`
}

VirtualClusterNamespaceTopicSelectorGlob is a type alias.

func (*VirtualClusterNamespaceTopicSelectorGlob) DeepCopy added in v2.2.0

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

func (*VirtualClusterNamespaceTopicSelectorGlob) DeepCopyInto added in v2.2.0

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

type VirtualClusterNamespaceTopicSelectorType added in v2.2.0

type VirtualClusterNamespaceTopicSelectorType string

VirtualClusterNamespaceTopicSelectorType represents the type of VirtualClusterNamespaceTopicSelector.

const (
	VirtualClusterNamespaceTopicSelectorTypeExactList VirtualClusterNamespaceTopicSelectorType = "exactList"
	VirtualClusterNamespaceTopicSelectorTypeGlob      VirtualClusterNamespaceTopicSelectorType = "glob"
)

VirtualClusterNamespaceTopicSelectorType values.

type VirtualClusterReference added in v2.2.0

type VirtualClusterReference struct {
	// +optional
	ID *string `json:"id,omitempty"`
	// +optional
	Name *VirtualClusterName `json:"name,omitempty"`
}

VirtualClusterReference is a type alias.

+kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*VirtualClusterReference) DeepCopy added in v2.2.0

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

func (*VirtualClusterReference) DeepCopyInto added in v2.2.0

func (in *VirtualClusterReference) DeepCopyInto(out *VirtualClusterReference)

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

type VirtualClusterReferenceByID added in v2.2.0

type VirtualClusterReferenceByID struct {
}

VirtualClusterReferenceByID Reference a virtual cluster by its unique identifier.

func (*VirtualClusterReferenceByID) DeepCopy added in v2.2.0

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

func (*VirtualClusterReferenceByID) DeepCopyInto added in v2.2.0

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

type VirtualClusterReferenceByName added in v2.2.0

type VirtualClusterReferenceByName struct {
	// The name of the virtual cluster.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	Name VirtualClusterName `json:"name,omitzero"`
}

VirtualClusterReferenceByName Reference a virtual cluster by its unique name.

func (*VirtualClusterReferenceByName) DeepCopy added in v2.2.0

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

func (*VirtualClusterReferenceByName) DeepCopyInto added in v2.2.0

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

type VirtualClusterTopicAlias added in v2.2.0

type VirtualClusterTopicAlias struct {
	// The client-visible topic name.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Alias string `json:"alias,omitzero"`
	// How to handle conflicts where an alias shadows a physical topic.
	// * warn - activate the alias but log a warning and set the conflict metric to
	// 1.
	// * ignore - activate the alias silently.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Enum=warn;ignore
	Conflict VirtualClusterTopicAliasConflict `json:"conflict,omitzero"`
	// CEL expression evaluated against the connection's auth context.
	// If omitted or empty, the alias is active for all connections.
	//
	//
	// +optional
	// +kubebuilder:validation:MaxLength=253
	Match string `json:"match,omitzero"`
	// The namespace-visible topic name this alias resolves to.
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	Topic string `json:"topic,omitzero"`
}

VirtualClusterTopicAlias **Pre-release Feature** This feature is currently in beta and is subject to change.

A topic alias maps an alias name to a namespace-visible topic name. Clients can produce to, consume from, and discover the topic under the alias name. The original topic name remains accessible.

**Requires a minimum runtime version of `1.2`**.

func (*VirtualClusterTopicAlias) DeepCopy added in v2.2.0

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

func (*VirtualClusterTopicAlias) DeepCopyInto added in v2.2.0

func (in *VirtualClusterTopicAlias) DeepCopyInto(out *VirtualClusterTopicAlias)

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

type VirtualClusterTopicAliasConflict added in v2.2.0

type VirtualClusterTopicAliasConflict string

VirtualClusterTopicAliasConflict How to handle conflicts where an alias shadows a physical topic. * warn - activate the alias but log a warning and set the conflict metric to 1. * ignore - activate the alias silently.

Source Files

Jump to

Keyboard shortcuts

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