Documentation
¶
Index ¶
- Constants
- func EnsureFinalizerOnKonnectAPIAuthConfiguration(ctx context.Context, cl client.Client, ...) (patched bool, err error)
- func KongCACertificateReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongCertificateReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongConsumerGroupReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongConsumerReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongDataPlaneClientCertificateReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongKeyReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongKeySetReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongPluginBindingReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongRouteReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongSNIReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongServiceReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongTargetReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongUpstreamReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KongVaultReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KonnectCloudGatewayDataPlaneGroupConfigurationReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KonnectCloudGatewayNetworkReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KonnectCloudGatewayTransitGatewayWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func KonnectGatewayControlPlaneReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
- func ReconciliationWatchOptionsForEntity[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]](cl client.Client, ent TEnt) []func(*ctrl.Builder) *ctrl.Builder
- type EntityWithControlPlaneRef
- type ForeignRelations
- type ForeignRelationsGroupedByControlPlane
- type KongCredentialSecretReconciler
- type KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) Build() *configurationv1alpha1.KongPluginBinding
- func (b *KongPluginBindingBuilder) WithConsumerGroupTarget(cg string) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithConsumerTarget(consumer string) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithControlPlaneRef(ref commonv1alpha1.ControlPlaneRef) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithControlPlaneRefKonnectNamespaced(name string) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithGenerateName(name string) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithName(name string) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithNamespace(namespace string) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithOwnerReference(owner client.Object, scheme *runtime.Scheme) (*KongPluginBindingBuilder, error)
- func (b *KongPluginBindingBuilder) WithPluginRefName(pluginName string) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithPluginRefNamespace(pluginNamespace string) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithRouteTarget(routeName string) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithScope(scope configurationv1alpha1.KongPluginBindingScope) *KongPluginBindingBuilder
- func (b *KongPluginBindingBuilder) WithServiceTarget(serviceName string) *KongPluginBindingBuilder
- type KongPluginReconciler
- type KonnectAPIAuthConfigurationReconciler
- type KonnectEntityPluginBindingFinalizerReconciler
- type KonnectEntityReconciler
- type KonnectEntityReconcilerOption
- func WithControllerOptions[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]](controllerOptions controller.Options) KonnectEntityReconcilerOption[T, TEnt]
- func WithKonnectEntitySyncPeriod[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]](d time.Duration) KonnectEntityReconcilerOption[T, TEnt]
- func WithMetricRecorder[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]](metricRecorder metrics.Recorder) KonnectEntityReconcilerOption[T, TEnt]
- type KonnectExtensionReconciler
- type KonnectSecretReferenceController
- type ReferencedKongCertificateDoesNotExist
- type ReferencedKongCertificateIsBeingDeleted
- type ReferencedKongConsumerDoesNotExist
- type ReferencedKongConsumerIsBeingDeleted
- type ReferencedKongKeySetDoesNotExist
- type ReferencedKongKeySetIsBeingDeleted
- type ReferencedKongServiceIsBeingDeleted
- type ReferencedKongUpstreamDoesNotExist
- type ReferencedKongUpstreamIsBeingDeleted
- type ReferencedObjectDoesNotExist
- type ReferencedObjectIsBeingDeleted
- type ReferencedObjectIsInvalid
- type ReferencedSecretDoesNotExist
- type Rel
- type SecretInUseEnforceT
- type WatchableEntityType
Constants ¶
const ( // KongCredentialTypeBasicAuth is the type of basic-auth credential, it's used // as the value for konghq.com/credential label. KongCredentialTypeBasicAuth = "basic-auth" // KongCredentialTypeAPIKey is the type of api-key credential, it's used // as the value for konghq.com/credential label. KongCredentialTypeAPIKey = "key-auth" // KongCredentialTypeJWT is the type of jwt-auth credential. // It's used as the values of konghq.com/credential label. KongCredentialTypeJWT = "jwt" // KongCredentialTypeACL is the type of Access Control Lists(ACLs) managed similar as credentials. // It's used as the value for konghq.com/credential label. KongCredentialTypeACL = "acl" // KongCredentialTypeHMAC is the type of HMAC credential, it's used // as the value for konghq.com/credential label. KongCredentialTypeHMAC = "hmac" )
const ( // CredentialSecretKeyNameAPIKeyKey is the credential secret key name for API key type. CredentialSecretKeyNameAPIKeyKey = "key" // CredentialSecretKeyNameACLGroupKey is the credential secret key name for ACL group type. CredentialSecretKeyNameACLGroupKey = "group" // CredentialSecretKeyNameJwtAlgorithmKey is the credential secret key name for JWT algorithm. CredentialSecretKeyNameJwtAlgorithmKey = "algorithm" // CredentialSecretKeyNameJwtKeyKey is the credential secret key name for JWT key. CredentialSecretKeyNameJwtKeyKey = "key" // CredentialSecretKeyNameJwtRSAPublicKeyKey is the credential secret key name for JWT RSA public key. CredentialSecretKeyNameJwtRSAPublicKeyKey = "rsa_public_key" //nolint:gosec // CredentialSecretKeyNameJwtSecretKey is the credentail secret ley name for JWT secret. CredentialSecretKeyNameJwtSecretKey = "secret" // CredentialSecretKeyNameHMACUsername is the credential secret key name for HMAC username type. CredentialSecretKeyNameHMACUsername = "username" // CredentialSecretKeyNameHMACSecret is the credential secret key name for HMAC secret type. CredentialSecretKeyNameHMACSecret = "secret" )
const ( // SecretTokenKey is the key used to store the token in the Secret. SecretTokenKey = "token" // SecretCredentialLabel is the label used to identify Secrets holding // KonnectAPIAuthConfiguration tokens. SecretCredentialLabel = "konghq.com/credential" //nolint:gosec // SecretCredentialLabelValueKonnect is the value of the label used to // identify Secrets holding KonnectAPIAuthConfiguration tokens. SecretCredentialLabelValueKonnect = "konnect" )
const APIAuthInUseFinalizer = "konnect.konghq.com/konnectapiauth-in-use"
APIAuthInUseFinalizer is a finalizer added to KonnectAPIAuthConfiguration resources that are currently in use by other Konnect resources. This finalizer prevents the deletion of the authentication configuration until all dependent resources have been properly cleaned up or updated to use a different authentication method.
const ( // CredentialTypeLabel is the label key for the credential type. CredentialTypeLabel = "konghq.com/credential" //nolint:gosec )
const ( // KonnectCleanupFinalizer is the finalizer that is added to the Konnect // entities when they are created in Konnect, and which is removed when // the CR and Konnect entity are deleted. KonnectCleanupFinalizer = "gateway.konghq.com/konnect-cleanup" )
const ( // SecretKonnectDataPlaneCertificateLabel is the label to mark that the secret is used as a Konnect DP certificate. // A secret must have the label to be watched by the KonnectExtension reconciler. SecretKonnectDataPlaneCertificateLabel = "konghq.com/konnect-dp-cert" //nolint:gosec )
Variables ¶
This section is empty.
Functions ¶
func EnsureFinalizerOnKonnectAPIAuthConfiguration ¶ added in v2.1.1
func EnsureFinalizerOnKonnectAPIAuthConfiguration( ctx context.Context, cl client.Client, apiAuth *konnectv1alpha1.KonnectAPIAuthConfiguration, ) (patched bool, err error)
EnsureFinalizerOnKonnectAPIAuthConfiguration ensures that the KonnectAPIAuthConfiguration has a finalizer if there are any resources referencing it, or removes the finalizer if there are no referencing resources.
It iterates through all types in KonnectAPIAuthReferencingTypeListsWithIndexes and checks if any resources of those types reference the given KonnectAPIAuthConfiguration. If at least one referencing resource is found, it adds the APIAuthInUseFinalizer to the KonnectAPIAuthConfiguration. If no referencing resources are found, it removes the finalizer.
Parameters:
- ctx: The context for the operation
- cl: The Kubernetes client used to list resources and patch the KonnectAPIAuthConfiguration
- apiAuth: The KonnectAPIAuthConfiguration to ensure the finalizer on
Returns:
- patched: true if the KonnectAPIAuthConfiguration was modified (finalizer added or removed), false otherwise
- err: An error if the operation failed, nil otherwise
func KongCACertificateReconciliationWatchOptions ¶
func KongCACertificateReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
KongCACertificateReconciliationWatchOptions returns the watch options for the KongCACertificate.
func KongCertificateReconciliationWatchOptions ¶
func KongCertificateReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
KongCertificateReconciliationWatchOptions returns the watch options for the KongCertificate.
func KongConsumerGroupReconciliationWatchOptions ¶
func KongConsumerGroupReconciliationWatchOptions( cl client.Client, ) []func(*ctrl.Builder) *ctrl.Builder
KongConsumerGroupReconciliationWatchOptions returns the watch options for the KongConsumerGroup.
func KongConsumerReconciliationWatchOptions ¶
func KongConsumerReconciliationWatchOptions( cl client.Client, ) []func(*ctrl.Builder) *ctrl.Builder
KongConsumerReconciliationWatchOptions returns the watch options for the KongConsumer.
func KongDataPlaneClientCertificateReconciliationWatchOptions ¶
func KongDataPlaneClientCertificateReconciliationWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
KongDataPlaneClientCertificateReconciliationWatchOptions returns the watch options for the KongDataPlaneClientCertificate.
func KongKeyReconciliationWatchOptions ¶
KongKeyReconciliationWatchOptions returns the watch options for the KongKey.
func KongKeySetReconciliationWatchOptions ¶
KongKeySetReconciliationWatchOptions returns the watch options for the KongKeySet.
func KongPluginBindingReconciliationWatchOptions ¶
func KongPluginBindingReconciliationWatchOptions( cl client.Client, ) []func(*ctrl.Builder) *ctrl.Builder
KongPluginBindingReconciliationWatchOptions returns the watch options for the KongPluginBinding.
func KongRouteReconciliationWatchOptions ¶
KongRouteReconciliationWatchOptions returns the watch options for the KongRoute.
func KongSNIReconciliationWatchOptions ¶
KongSNIReconciliationWatchOptions returns the watch options for the KongSNI.
func KongServiceReconciliationWatchOptions ¶
KongServiceReconciliationWatchOptions returns the watch options for the KongService.
func KongTargetReconciliationWatchOptions ¶
KongTargetReconciliationWatchOptions returns the watch options for the KongTarget.
func KongUpstreamReconciliationWatchOptions ¶
func KongUpstreamReconciliationWatchOptions( cl client.Client, ) []func(*ctrl.Builder) *ctrl.Builder
KongUpstreamReconciliationWatchOptions returns the watch options for the KongUpstream.
func KongVaultReconciliationWatchOptions ¶
KongVaultReconciliationWatchOptions returns the watch options for KongVault.
func KonnectCloudGatewayDataPlaneGroupConfigurationReconciliationWatchOptions ¶
func KonnectCloudGatewayDataPlaneGroupConfigurationReconciliationWatchOptions( cl client.Client, ) []func(*ctrl.Builder) *ctrl.Builder
KonnectCloudGatewayDataPlaneGroupConfigurationReconciliationWatchOptions returns the watch options for the KonnectCloudGatewayDataPlaneGroupConfiguration.
func KonnectCloudGatewayNetworkReconciliationWatchOptions ¶
func KonnectCloudGatewayNetworkReconciliationWatchOptions( cl client.Client, ) []func(*ctrl.Builder) *ctrl.Builder
KonnectCloudGatewayNetworkReconciliationWatchOptions returns the watch options for the KonnectCloudGatewayNetwork.
func KonnectCloudGatewayTransitGatewayWatchOptions ¶
func KonnectCloudGatewayTransitGatewayWatchOptions(cl client.Client) []func(*ctrl.Builder) *ctrl.Builder
KonnectCloudGatewayTransitGatewayWatchOptions returns the watch options for KonnectCloudGatewayTransitGateway controller.
func KonnectGatewayControlPlaneReconciliationWatchOptions ¶
func KonnectGatewayControlPlaneReconciliationWatchOptions( cl client.Client, ) []func(*ctrl.Builder) *ctrl.Builder
KonnectGatewayControlPlaneReconciliationWatchOptions returns the watch options for the KonnectGatewayControlPlane.
func ReconciliationWatchOptionsForEntity ¶
func ReconciliationWatchOptionsForEntity[ T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T], ]( cl client.Client, ent TEnt, ) []func(*ctrl.Builder) *ctrl.Builder
ReconciliationWatchOptionsForEntity returns the watch options for the given Konnect entity type.
Types ¶
type EntityWithControlPlaneRef ¶
EntityWithControlPlaneRef is an interface for entities that have a ControlPlaneRef.
type ForeignRelations ¶
type ForeignRelations struct {
Consumer []configurationv1.KongConsumer
ConsumerGroup []configurationv1beta1.KongConsumerGroup
Route []configurationv1alpha1.KongRoute
Service []configurationv1alpha1.KongService
}
ForeignRelations contains all the relations between Kong entities and KongPlugin.
func (*ForeignRelations) GetCombinations ¶
func (relations *ForeignRelations) GetCombinations() []Rel
GetCombinations returns all possible combinations of relations.
NOTE: This is heavily based on the implementation in the Kong Ingress Controller: https://github.com/Kong/kubernetes-ingress-controller/blob/ee797b4e84bd176526af32ab6db54f16ee9c245b/internal/util/relations_test.go
TODO: https://github.com/kong/kong-operator/pull/659 The combinations created here should be reconsidered. Specifically the Service + Route combination which currently creates 2 separate relations targeting Service and Route independently. This most likely should create 2 relations targeting Service and Service+Route.
func (*ForeignRelations) GroupByControlPlane ¶
func (relations *ForeignRelations) GroupByControlPlane( ctx context.Context, cl client.Client, ) (ForeignRelationsGroupedByControlPlane, error)
GroupByControlPlane groups all the entities by ControlPlane.
type ForeignRelationsGroupedByControlPlane ¶
type ForeignRelationsGroupedByControlPlane map[types.NamespacedName]ForeignRelations
ForeignRelationsGroupedByControlPlane is a map of ForeignRelations grouped by ControlPlane.
func (ForeignRelationsGroupedByControlPlane) GetCombinations ¶
func (f ForeignRelationsGroupedByControlPlane) GetCombinations() map[types.NamespacedName][]Rel
GetCombinations returns all possible combinations of relations grouped by ControlPlane.
type KongCredentialSecretReconciler ¶
type KongCredentialSecretReconciler struct {
// contains filtered or unexported fields
}
KongCredentialSecretReconciler reconciles a KongPlugin object.
func NewKongCredentialSecretReconciler ¶
func NewKongCredentialSecretReconciler( ctrlOptions controller.Options, loggingMode logging.Mode, client client.Client, scheme *runtime.Scheme, ) *KongCredentialSecretReconciler
NewKongCredentialSecretReconciler creates a new KongCredentialSecretReconciler.
func (*KongCredentialSecretReconciler) Reconcile ¶
func (r *KongCredentialSecretReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
Reconcile reconciles a Secrets that are used as Consumers credentials.
func (*KongCredentialSecretReconciler) SetupWithManager ¶
func (r *KongCredentialSecretReconciler) SetupWithManager(_ context.Context, mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type KongPluginBindingBuilder ¶
type KongPluginBindingBuilder struct {
// contains filtered or unexported fields
}
KongPluginBindingBuilder helps to build KongPluginBinding objects.
func NewKongPluginBindingBuilder ¶
func NewKongPluginBindingBuilder() *KongPluginBindingBuilder
NewKongPluginBindingBuilder creates a new KongPluginBindingBuilder.
func (*KongPluginBindingBuilder) Build ¶
func (b *KongPluginBindingBuilder) Build() *configurationv1alpha1.KongPluginBinding
Build returns the KongPluginBinding.
func (*KongPluginBindingBuilder) WithConsumerGroupTarget ¶
func (b *KongPluginBindingBuilder) WithConsumerGroupTarget(cg string) *KongPluginBindingBuilder
WithConsumerGroupTarget sets the consumer group target of the KongPluginBinding.
func (*KongPluginBindingBuilder) WithConsumerTarget ¶
func (b *KongPluginBindingBuilder) WithConsumerTarget(consumer string) *KongPluginBindingBuilder
WithConsumerTarget sets the consumer target of the KongPluginBinding.
func (*KongPluginBindingBuilder) WithControlPlaneRef ¶
func (b *KongPluginBindingBuilder) WithControlPlaneRef(ref commonv1alpha1.ControlPlaneRef) *KongPluginBindingBuilder
WithControlPlaneRef sets the control plane reference of the KongPluginBinding. NOTE: Users have to ensure that the ControlPlaneRef that's set here is the same across all the KongPluginBinding targets.
func (*KongPluginBindingBuilder) WithControlPlaneRefKonnectNamespaced ¶
func (b *KongPluginBindingBuilder) WithControlPlaneRefKonnectNamespaced(name string) *KongPluginBindingBuilder
WithControlPlaneRefKonnectNamespaced sets the control plane reference of the KongPluginBinding. NOTE: Users have to ensure that the ControlPlaneRef that's set here is the same across all the KongPluginBinding targets.
func (*KongPluginBindingBuilder) WithGenerateName ¶
func (b *KongPluginBindingBuilder) WithGenerateName(name string) *KongPluginBindingBuilder
WithGenerateName sets the generate name of the KongPluginBinding.
func (*KongPluginBindingBuilder) WithName ¶
func (b *KongPluginBindingBuilder) WithName(name string) *KongPluginBindingBuilder
WithName sets the name of the KongPluginBinding.
func (*KongPluginBindingBuilder) WithNamespace ¶
func (b *KongPluginBindingBuilder) WithNamespace(namespace string) *KongPluginBindingBuilder
WithNamespace sets the namespace of the KongPluginBinding.
func (*KongPluginBindingBuilder) WithOwnerReference ¶
func (b *KongPluginBindingBuilder) WithOwnerReference(owner client.Object, scheme *runtime.Scheme) (*KongPluginBindingBuilder, error)
WithOwnerReference sets the owner reference of the KongPluginBinding.
func (*KongPluginBindingBuilder) WithPluginRefName ¶ added in v2.1.1
func (b *KongPluginBindingBuilder) WithPluginRefName(pluginName string) *KongPluginBindingBuilder
WithPluginRefName sets the plugin reference of the KongPluginBinding.
func (*KongPluginBindingBuilder) WithPluginRefNamespace ¶ added in v2.1.1
func (b *KongPluginBindingBuilder) WithPluginRefNamespace(pluginNamespace string) *KongPluginBindingBuilder
WithPluginRefNamespace sets the plugin reference namespace of the KongPluginBinding.
func (*KongPluginBindingBuilder) WithRouteTarget ¶
func (b *KongPluginBindingBuilder) WithRouteTarget(routeName string) *KongPluginBindingBuilder
WithRouteTarget sets the route target of the KongPluginBinding.
func (*KongPluginBindingBuilder) WithScope ¶
func (b *KongPluginBindingBuilder) WithScope(scope configurationv1alpha1.KongPluginBindingScope) *KongPluginBindingBuilder
WithScope sets the scope of the KongPluginBinding.
func (*KongPluginBindingBuilder) WithServiceTarget ¶
func (b *KongPluginBindingBuilder) WithServiceTarget(serviceName string) *KongPluginBindingBuilder
WithServiceTarget sets the service target of the KongPluginBinding.
type KongPluginReconciler ¶
type KongPluginReconciler struct {
// contains filtered or unexported fields
}
KongPluginReconciler reconciles a KongPlugin object.
func NewKongPluginReconciler ¶
func NewKongPluginReconciler( ctrlOptions controller.Options, loggingMode logging.Mode, client client.Client, ) *KongPluginReconciler
NewKongPluginReconciler creates a new KongPluginReconciler.
func (*KongPluginReconciler) Reconcile ¶
func (r *KongPluginReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
Reconcile reconciles a KongPlugin object. The purpose of this reconciler is to handle annotations on Kong entities objects that reference KongPlugin objects. As a result of such annotations, KongPluginBinding objects are created and managed by the controller.
func (*KongPluginReconciler) SetupWithManager ¶
SetupWithManager sets up the controller with the Manager.
type KonnectAPIAuthConfigurationReconciler ¶
type KonnectAPIAuthConfigurationReconciler struct {
// contains filtered or unexported fields
}
KonnectAPIAuthConfigurationReconciler reconciles a KonnectAPIAuthConfiguration object.
func NewKonnectAPIAuthConfigurationReconciler ¶
func NewKonnectAPIAuthConfigurationReconciler( controllerOptions controller.Options, sdkFactory sdkops.SDKFactory, loggingMode logging.Mode, client client.Client, ) *KonnectAPIAuthConfigurationReconciler
NewKonnectAPIAuthConfigurationReconciler creates a new KonnectAPIAuthConfigurationReconciler.
func (*KonnectAPIAuthConfigurationReconciler) Reconcile ¶
func (r *KonnectAPIAuthConfigurationReconciler) Reconcile( ctx context.Context, req ctrl.Request, ) (ctrl.Result, error)
Reconcile reconciles a KonnectAPIAuthConfiguration object.
func (*KonnectAPIAuthConfigurationReconciler) SetupWithManager ¶
func (r *KonnectAPIAuthConfigurationReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type KonnectEntityPluginBindingFinalizerReconciler ¶
type KonnectEntityPluginBindingFinalizerReconciler[ T constraints.SupportedKonnectEntityPluginReferenceableType, TEnt constraints.EntityType[T], ] struct { ControllerOptions controller.Options LoggingMode logging.Mode Client client.Client }
KonnectEntityPluginBindingFinalizerReconciler reconciles Konnect entities that may be referenced by KongPluginBinding. It uses the generic type constraints to constrain the supported types.
func NewKonnectEntityPluginReconciler ¶
func NewKonnectEntityPluginReconciler[ T constraints.SupportedKonnectEntityPluginReferenceableType, TEnt constraints.EntityType[T], ]( controllerOptions controller.Options, loggingMode logging.Mode, client client.Client, ) *KonnectEntityPluginBindingFinalizerReconciler[T, TEnt]
NewKonnectEntityPluginReconciler returns a new KonnectEntityPluginReconciler for the given Konnect entity type.
func (*KonnectEntityPluginBindingFinalizerReconciler[T, TEnt]) Reconcile ¶
func (r *KonnectEntityPluginBindingFinalizerReconciler[T, TEnt]) Reconcile( ctx context.Context, req ctrl.Request, ) (ctrl.Result, error)
Reconcile reconciles the Konnect entity that can be set as KongPluginBinding target. It reconciles only entities that are referenced by managed KongPluginBindings, i.e. those that are created by the controller out of konghq.com/plugins annotations.
Its purpose is to:
- check if the entity is marked for deletion and mark KongPluginBindings that reference it.
- add a finalizer to the entity if there are KongPluginBindings referencing it. This finalizer designates that this entity needs to have its KongPluginBindings removed upon deletion
- remove the finalizer if all KongPluginBindings referencing it are removed.
func (*KonnectEntityPluginBindingFinalizerReconciler[T, TEnt]) SetupWithManager ¶
func (r *KonnectEntityPluginBindingFinalizerReconciler[T, TEnt]) SetupWithManager( ctx context.Context, mgr ctrl.Manager, ) error
SetupWithManager sets up the controller with the given manager.
type KonnectEntityReconciler ¶
type KonnectEntityReconciler[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]] struct { ControllerOptions controller.Options Client client.Client LoggingMode logging.Mode SyncPeriod time.Duration MetricRecorder metrics.Recorder // contains filtered or unexported fields }
KonnectEntityReconciler reconciles a Konnect entities. It uses the generic type constraints to constrain the supported types.
func NewKonnectEntityReconciler ¶
func NewKonnectEntityReconciler[ T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T], ]( sdkFactory sdkops.SDKFactory, loggingMode logging.Mode, client client.Client, opts ...KonnectEntityReconcilerOption[T, TEnt], ) *KonnectEntityReconciler[T, TEnt]
NewKonnectEntityReconciler returns a new KonnectEntityReconciler for the given Konnect entity type.
func (*KonnectEntityReconciler[T, TEnt]) Reconcile ¶
func (r *KonnectEntityReconciler[T, TEnt]) Reconcile( ctx context.Context, req ctrl.Request, ) (ctrl.Result, error)
Reconcile reconciles the given Konnect entity.
func (*KonnectEntityReconciler[T, TEnt]) SetupWithManager ¶
func (r *KonnectEntityReconciler[T, TEnt]) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error
SetupWithManager sets up the controller with the given manager.
type KonnectEntityReconcilerOption ¶
type KonnectEntityReconcilerOption[ T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T], ] func(*KonnectEntityReconciler[T, TEnt])
KonnectEntityReconcilerOption is a functional option for the KonnectEntityReconciler.
func WithControllerOptions ¶ added in v2.1.1
func WithControllerOptions[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]]( controllerOptions controller.Options, ) KonnectEntityReconcilerOption[T, TEnt]
WithControllerOptions sets the controller options for the reconciler.
func WithKonnectEntitySyncPeriod ¶
func WithKonnectEntitySyncPeriod[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]]( d time.Duration, ) KonnectEntityReconcilerOption[T, TEnt]
WithKonnectEntitySyncPeriod sets the sync period for the reconciler.
func WithMetricRecorder ¶
func WithMetricRecorder[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]]( metricRecorder metrics.Recorder, ) KonnectEntityReconcilerOption[T, TEnt]
WithMetricRecorder sets the metric recorder to record metrics of Konnect entity operations of the reconciler.
type KonnectExtensionReconciler ¶
type KonnectExtensionReconciler struct {
client.Client
ControllerOptions controller.Options
LoggingMode logging.Mode
SdkFactory sdkops.SDKFactory
SyncPeriod time.Duration
ClusterCASecretName string
ClusterCASecretNamespace string
SecretLabelSelector string
}
KonnectExtensionReconciler reconciles a KonnectExtension object.
func (*KonnectExtensionReconciler) Reconcile ¶
func (r *KonnectExtensionReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
Reconcile reconciles a KonnectExtension object.
func (*KonnectExtensionReconciler) SetupWithManager ¶
SetupWithManager sets up the controller with the Manager.
type KonnectSecretReferenceController ¶ added in v2.1.1
type KonnectSecretReferenceController struct {
// contains filtered or unexported fields
}
KonnectSecretReferenceController reconciles Secret objects that are referenced by Konnect resources. It manages the SecretInUseFinalizer to prevent deletion of secrets while they are still referenced. by Konnect resources.
func NewKonnectSecretReferenceController ¶ added in v2.1.1
func NewKonnectSecretReferenceController( client client.Client, controllerOptions controller.Options, loggingMode logging.Mode, ) *KonnectSecretReferenceController
NewKonnectSecretReferenceController creates a new KonnectSecretReferenceController.
func (*KonnectSecretReferenceController) Reconcile ¶ added in v2.1.1
func (r *KonnectSecretReferenceController) Reconcile( ctx context.Context, req ctrl.Request, ) (ctrl.Result, error)
Reconcile reconciles a Secret object.
func (*KonnectSecretReferenceController) SetupWithManager ¶ added in v2.1.1
func (r *KonnectSecretReferenceController) SetupWithManager(ctx context.Context, mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type ReferencedKongCertificateDoesNotExist ¶
type ReferencedKongCertificateDoesNotExist struct {
Reference types.NamespacedName
Err error
}
ReferencedKongCertificateDoesNotExist is an error type that is returned when a Konnect entity references a Kong Certificate which does not exist.
func (ReferencedKongCertificateDoesNotExist) Error ¶
func (e ReferencedKongCertificateDoesNotExist) Error() string
Error implements the error interface.
type ReferencedKongCertificateIsBeingDeleted ¶
type ReferencedKongCertificateIsBeingDeleted struct {
Reference types.NamespacedName
DeletionTimestamp time.Time
}
ReferencedKongCertificateIsBeingDeleted is an error type that is returned when a Konnect entity references a Kong Certificate which is being deleted.
func (ReferencedKongCertificateIsBeingDeleted) Error ¶
func (e ReferencedKongCertificateIsBeingDeleted) Error() string
Error implements the error interface.
type ReferencedKongConsumerDoesNotExist ¶
type ReferencedKongConsumerDoesNotExist struct {
Reference types.NamespacedName
Err error
}
ReferencedKongConsumerDoesNotExist is an error type that is returned when the referenced KongConsumer does not exist.
func (ReferencedKongConsumerDoesNotExist) Error ¶
func (e ReferencedKongConsumerDoesNotExist) Error() string
Error implements the error interface.
type ReferencedKongConsumerIsBeingDeleted ¶
type ReferencedKongConsumerIsBeingDeleted struct {
Reference types.NamespacedName
DeletionTimestamp time.Time
}
ReferencedKongConsumerIsBeingDeleted is an error type that is returned when a Konnect entity references a Kong Consumer which is being deleted.
func (ReferencedKongConsumerIsBeingDeleted) Error ¶
func (e ReferencedKongConsumerIsBeingDeleted) Error() string
Error implements the error interface.
type ReferencedKongKeySetDoesNotExist ¶
type ReferencedKongKeySetDoesNotExist struct {
Reference types.NamespacedName
Err error
}
ReferencedKongKeySetDoesNotExist is an error type that is returned when a Konnect entity references a KongKeySet which does not exist.
func (ReferencedKongKeySetDoesNotExist) Error ¶
func (e ReferencedKongKeySetDoesNotExist) Error() string
Error implements the error interface.
type ReferencedKongKeySetIsBeingDeleted ¶
type ReferencedKongKeySetIsBeingDeleted struct {
Reference types.NamespacedName
DeletionTimestamp time.Time
}
ReferencedKongKeySetIsBeingDeleted is an error type that is returned when a Konnect entity references a KongKeySet which is being deleted.
func (ReferencedKongKeySetIsBeingDeleted) Error ¶
func (e ReferencedKongKeySetIsBeingDeleted) Error() string
Error implements the error interface.
type ReferencedKongServiceIsBeingDeleted ¶
type ReferencedKongServiceIsBeingDeleted struct {
Reference types.NamespacedName
}
ReferencedKongServiceIsBeingDeleted is an error type that is returned when a Konnect entity references a Kong Service which is being deleted.
func (ReferencedKongServiceIsBeingDeleted) Error ¶
func (e ReferencedKongServiceIsBeingDeleted) Error() string
Error implements the error interface.
type ReferencedKongUpstreamDoesNotExist ¶
type ReferencedKongUpstreamDoesNotExist struct {
Reference types.NamespacedName
Err error
}
ReferencedKongUpstreamDoesNotExist is an error type that is returned when a Konnect entity references a Kong Upstream which does not exist.
func (ReferencedKongUpstreamDoesNotExist) Error ¶
func (e ReferencedKongUpstreamDoesNotExist) Error() string
Error implements the error interface.
type ReferencedKongUpstreamIsBeingDeleted ¶
type ReferencedKongUpstreamIsBeingDeleted struct {
Reference types.NamespacedName
DeletionTimestamp time.Time
}
ReferencedKongUpstreamIsBeingDeleted is an error type that is returned when a Konnect entity references a Kong Upstream which is being deleted.
func (ReferencedKongUpstreamIsBeingDeleted) Error ¶
func (e ReferencedKongUpstreamIsBeingDeleted) Error() string
Error implements the error interface.
type ReferencedObjectDoesNotExist ¶
type ReferencedObjectDoesNotExist struct {
Reference types.NamespacedName
Err error
}
ReferencedObjectDoesNotExist is an error type that is returned when a Konnect entity references a non existing object.
func (ReferencedObjectDoesNotExist) Error ¶
func (e ReferencedObjectDoesNotExist) Error() string
Error implements the error interface.
type ReferencedObjectIsBeingDeleted ¶
type ReferencedObjectIsBeingDeleted struct {
Reference types.NamespacedName
DeletionTimestamp time.Time
}
ReferencedObjectIsBeingDeleted is an error type that is returned when a Konnect entity references an object which is being deleted.
func (ReferencedObjectIsBeingDeleted) Error ¶
func (e ReferencedObjectIsBeingDeleted) Error() string
Error implements the error interface.
type ReferencedObjectIsInvalid ¶
ReferencedObjectIsInvalid is an error type that is returned when the referenced object is invalid.
func (ReferencedObjectIsInvalid) Error ¶
func (e ReferencedObjectIsInvalid) Error() string
Error implements the error interface.
type ReferencedSecretDoesNotExist ¶ added in v2.1.1
type ReferencedSecretDoesNotExist struct {
Reference types.NamespacedName
Err error
}
ReferencedSecretDoesNotExist is an error type that is returned when a Konnect entity references a Secret which does not exist.
func (ReferencedSecretDoesNotExist) Error ¶ added in v2.1.1
func (e ReferencedSecretDoesNotExist) Error() string
Error implements the error interface.
type Rel ¶
type Rel struct {
Consumer, ConsumerGroup, Route, Service string
}
Rel represents a relation between Kong entities and KongPlugin.
type SecretInUseEnforceT ¶ added in v2.1.1
type SecretInUseEnforceT string
SecretInUseEnforceT is an enum type for enforcing or removing the secret-in-use finalizer.
const ( // SecretInUseEnforceAdd enforces the secret-in-use finalizer. SecretInUseEnforceAdd SecretInUseEnforceT = "add" // SecretInUseEnforceRemove removes the secret-in-use finalizer. SecretInUseEnforceRemove SecretInUseEnforceT = "remove" )
type WatchableEntityType ¶ added in v2.1.1
type WatchableEntityType interface {
konnectv1alpha2.KonnectGatewayControlPlane |
konnectv1alpha1.KonnectCloudGatewayNetwork |
konnectv1alpha1.KonnectCloudGatewayDataPlaneGroupConfiguration |
konnectv1alpha1.KonnectCloudGatewayTransitGateway |
configurationv1alpha1.KongService |
configurationv1alpha1.KongRoute |
configurationv1.KongConsumer |
configurationv1beta1.KongConsumerGroup |
configurationv1alpha1.KongPluginBinding |
configurationv1alpha1.KongCredentialBasicAuth |
configurationv1alpha1.KongCredentialAPIKey |
configurationv1alpha1.KongCredentialACL |
configurationv1alpha1.KongCredentialJWT |
configurationv1alpha1.KongCredentialHMAC |
configurationv1alpha1.KongUpstream |
configurationv1alpha1.KongCACertificate |
configurationv1alpha1.KongCertificate |
configurationv1alpha1.KongTarget |
configurationv1alpha1.KongVault |
configurationv1alpha1.KongKey |
configurationv1alpha1.KongKeySet |
configurationv1alpha1.KongSNI |
configurationv1alpha1.KongDataPlaneClientCertificate |
konnectv1alpha1.KonnectAPIAuthConfiguration
GetTypeName() string
}
WatchableEntityType is a constraint that represents all Konnect-related entity types that can be watched.
Source Files
¶
- errors.go
- handle_status_conditions.go
- kongpluginbuilder.go
- konnectextension_controller.go
- konnectextension_controller_controlplane.go
- konnectextension_controller_rbac.go
- konnectextension_controller_secrets.go
- konnectextension_controller_utils.go
- plugins.go
- reconciler_apiauthref.go
- reconciler_certificateref.go
- reconciler_consumerref.go
- reconciler_controlplaneref.go
- reconciler_credential_secrets.go
- reconciler_credential_secrets_rbac.go
- reconciler_generic.go
- reconciler_generic_error_handling.go
- reconciler_generic_pluginbindingfinalizer.go
- reconciler_generic_pluginbindingfinalizer_rbac.go
- reconciler_generic_rbac.go
- reconciler_generic_type_specific.go
- reconciler_keysetref.go
- reconciler_kongplugin.go
- reconciler_kongplugin_combinations.go
- reconciler_kongplugin_rbac.go
- reconciler_konnectapiauth.go
- reconciler_konnectapiauth_rbac.go
- reconciler_konnectapiauth_watch.go
- reconciler_konnectnetworkref.go
- reconciler_secretref.go
- reconciler_serviceref.go
- reconciler_upstreamref.go
- secret_reference_controller.go
- watch.go
- watch_credential.go
- watch_credentialacl.go
- watch_credentialapikey.go
- watch_credentialbasicauth.go
- watch_credentialhmac.go
- watch_credentialjwt.go
- watch_kongcacertificate.go
- watch_kongcertificate.go
- watch_kongconsumer.go
- watch_kongconsumergroup.go
- watch_kongdataplanecertificate.go
- watch_kongkey.go
- watch_kongkeyset.go
- watch_kongplugin.go
- watch_kongpluginbinding.go
- watch_kongroute.go
- watch_kongservice.go
- watch_kongsni.go
- watch_kongtarget.go
- watch_kongupstream.go
- watch_kongvault.go
- watch_konnectcloudgatewaydataplanegroupconfiguration.go
- watch_konnectcloudgatewaynetwork.go
- watch_konnectcloudgatewaytransitgateway.go
- watch_konnectcontrolplane.go
- watch_secret_reference.go