Documentation
¶
Index ¶
- Constants
- 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) WithPluginRef(pluginName 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 WithKonnectEntitySyncPeriod[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]](d time.Duration) KonnectEntityReconcilerOption[T, TEnt]
- func WithKonnectMaxConcurrentReconciles[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]](maxConcurrent uint) KonnectEntityReconcilerOption[T, TEnt]
- func WithMetricRecorder[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]](metricRecorder metrics.Recorder) KonnectEntityReconcilerOption[T, TEnt]
- type KonnectExtensionReconciler
- 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 Rel
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 ( // 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 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( 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) WithPluginRef ¶
func (b *KongPluginBindingBuilder) WithPluginRef(pluginName string) *KongPluginBindingBuilder
WithPluginRef sets the plugin reference 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( 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( 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 { 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], ]( 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 { CacheSyncTimeout time.Duration Client client.Client LoggingMode logging.Mode MaxConcurrentReconciles uint 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 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 WithKonnectMaxConcurrentReconciles ¶
func WithKonnectMaxConcurrentReconciles[T constraints.SupportedKonnectEntityType, TEnt constraints.EntityType[T]]( maxConcurrent uint, ) KonnectEntityReconcilerOption[T, TEnt]
WithKonnectMaxConcurrentReconciles sets the max concurrent reconciles 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 LoggingMode logging.Mode SdkFactory sdkops.SDKFactory SyncPeriod time.Duration ClusterCASecretName string ClusterCASecretNamespace string ClusterCAKeyConfig secrets.KeyConfig 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 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.
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_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_serviceref.go
- reconciler_upstreamref.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