Documentation
¶
Overview ¶
Package common contains reconciliation helpers shared between source reconcilers.
Index ¶
- Constants
- func CommonObjectLabels(src kmeta.OwnerRefable) labels.Set
- func ComponentName(src kmeta.OwnerRefable) string
- func CreateCloudEventAttributes(source string, eventTypes []string) []duckv1.CloudEventAttributes
- func EnqueueObjectsInNamespaceOf(inf cache.SharedInformer, resyncFn filteredGlobalResyncFunc, ...) func(interface{})
- func MTAdapterObjectName(src kmeta.OwnerRefable) string
- func MakeAWSAuthEnvVars(auth v1alpha1.AWSAuth) []corev1.EnvVar
- func MakeAWSEndpointEnvVars(endpoint *v1alpha1.AWSEndpoint) []corev1.EnvVar
- func MaybeAppendValueFromEnvVar(envs []corev1.EnvVar, key string, valueFrom v1alpha1.ValueFromField) []corev1.EnvVar
- func NewAdapterDeployment(src v1alpha1.EventSource, sinkURI *apis.URL, opts ...resource.ObjectOption) *appsv1.Deployment
- func NewAdapterKnService(src v1alpha1.EventSource, sinkURI *apis.URL, opts ...resource.ObjectOption) *servingv1.Service
- func NewMTAdapterDeployment(src v1alpha1.EventSource, opts ...resource.ObjectOption) *appsv1.Deployment
- func NewMTAdapterKnService(src v1alpha1.EventSource, opts ...resource.ObjectOption) *servingv1.Service
- func OwnByServiceAccount(obj metav1.Object, owner *corev1.ServiceAccount)
- func ServiceAccountName(src v1alpha1.EventSource) string
- type AdapterDeploymentBuilder
- type AdapterServiceBuilder
- type GenericDeploymentReconciler
- type GenericRBACReconciler
- type GenericServiceReconciler
- type RBACOwnersLister
Constants ¶
const ( EnvName = "NAME" EnvNamespace = "NAMESPACE" // Overrides for CloudEvents context attributes (only supported by a subset of components) EnvCESource = "CE_SOURCE" EnvCEType = "CE_TYPE" // Common AWS attributes EnvARN = "ARN" EnvAccessKeyID = "AWS_ACCESS_KEY_ID" EnvSecretAccessKey = "AWS_SECRET_ACCESS_KEY" //nolint:gosec EnvEndpointURL = "AWS_ENDPOINT_URL" // Common Azure attributes EnvAADTenantID = "AZURE_TENANT_ID" EnvAADClientID = "AZURE_CLIENT_ID" EnvAADClientSecret = "AZURE_CLIENT_SECRET" // Azure Event Hub attributes // https://pkg.go.dev/github.com/Azure/azure-event-hubs-go/v3#readme-environment-variables EnvHubNamespace = "EVENTHUB_NAMESPACE" EnvHubName = "EVENTHUB_NAME" EnvHubKeyName = "EVENTHUB_KEY_NAME" EnvHubKeyValue = "EVENTHUB_KEY_VALUE" EnvHubConnStr = "EVENTHUB_CONNECTION_STRING" EnvHubResourceID = "EVENTHUB_RESOURCE_ID" // Azure Service Bus attributes EnvServiceBusKeyName = "SERVICEBUS_KEY_NAME" EnvServiceBusKeyValue = "SERVICEBUS_KEY_VALUE" EnvServiceBusConnStr = "SERVICEBUS_CONNECTION_STRING" EnvServiceBusEntityResourceID = "SERVICEBUS_ENTITY_RESOURCE_ID" // Google Cloud EnvGCloudSAKey = "GCLOUD_SERVICEACCOUNT_KEY" EnvGCloudPubSubSubscription = "GCLOUD_PUBSUB_SUBSCRIPTION" )
Common environment variables propagated to adapters.
const ( // ReasonRBACCreate indicates that an RBAC object was successfully created. ReasonRBACCreate = "CreateRBAC" // ReasonRBACUpdate indicates that an RBAC object was successfully updated. ReasonRBACUpdate = "UpdateRBAC" // ReasonFailedRBACCreate indicates that the creation of an RBAC object failed. ReasonFailedRBACCreate = "FailedRBACCreate" // ReasonFailedRBACUpdate indicates that the update of an RBAC object failed. ReasonFailedRBACUpdate = "FailedRBACUpdate" // ReasonAdapterCreate indicates that an adapter object was successfully created. ReasonAdapterCreate = "CreateAdapter" // ReasonAdapterUpdate indicates that an adapter object was successfully updated. ReasonAdapterUpdate = "UpdateAdapter" // ReasonFailedAdapterCreate indicates that the creation of an adapter object failed. ReasonFailedAdapterCreate = "FailedAdapterCreate" // ReasonFailedAdapterUpdate indicates that the update of an adapter object failed. ReasonFailedAdapterUpdate = "FailedAdapterUpdate" // ReasonBadSinkURI indicates that the URI of a sink can't be determined. ReasonBadSinkURI = "BadSinkURI" // ReasonInvalidSpec indicates that spec of a reconciled object is invalid. ReasonInvalidSpec = "InvalidSpec" )
Reasons for API Events
Variables ¶
This section is empty.
Functions ¶
func CommonObjectLabels ¶
func CommonObjectLabels(src kmeta.OwnerRefable) labels.Set
CommonObjectLabels returns a set of labels which are always applied to objects reconciled for the given source type.
func ComponentName ¶
func ComponentName(src kmeta.OwnerRefable) string
ComponentName returns the component name for the given source object.
func CreateCloudEventAttributes ¶
func CreateCloudEventAttributes(source string, eventTypes []string) []duckv1.CloudEventAttributes
CreateCloudEventAttributes returns CloudEvent attributes for the event types supported by the source.
func EnqueueObjectsInNamespaceOf ¶
func EnqueueObjectsInNamespaceOf(inf cache.SharedInformer, resyncFn filteredGlobalResyncFunc, logger *zap.SugaredLogger) func(interface{})
EnqueueObjectsInNamespaceOf accepts an object and triggers a global resync of all objects in the given informer matching that object's namespace. Intended to be used to resync source objects when the state of their (common) multi-tenant adapter changes.
func MTAdapterObjectName ¶
func MTAdapterObjectName(src kmeta.OwnerRefable) string
MTAdapterObjectName returns a unique name to apply to all objects related to the given source's multi-tenant adapter (RBAC, Deployment/KnService, ...).
func MakeAWSAuthEnvVars ¶ added in v1.12.0
MakeAWSAuthEnvVars returns environment variables for the given AWS authentication method.
func MakeAWSEndpointEnvVars ¶ added in v1.12.0
func MakeAWSEndpointEnvVars(endpoint *v1alpha1.AWSEndpoint) []corev1.EnvVar
MakeAWSEndpointEnvVars returns environment variables for the given AWS endpoint parameters.
func MaybeAppendValueFromEnvVar ¶
func MaybeAppendValueFromEnvVar(envs []corev1.EnvVar, key string, valueFrom v1alpha1.ValueFromField) []corev1.EnvVar
MaybeAppendValueFromEnvVar conditionally appends an EnvVar to env based on the contents of valueFrom. ValueFromSecret takes precedence over Value in case the API didn't reject the object despite the CRD's schema validation
func NewAdapterDeployment ¶
func NewAdapterDeployment(src v1alpha1.EventSource, sinkURI *apis.URL, opts ...resource.ObjectOption) *appsv1.Deployment
NewAdapterDeployment is a wrapper around resource.NewDeployment which pre-populates attributes common to all adapters backed by a Deployment.
func NewAdapterKnService ¶
func NewAdapterKnService(src v1alpha1.EventSource, sinkURI *apis.URL, opts ...resource.ObjectOption) *servingv1.Service
NewAdapterKnService is a wrapper around resource.NewKnService which pre-populates attributes common to all adapters backed by a Knative Service.
func NewMTAdapterDeployment ¶
func NewMTAdapterDeployment(src v1alpha1.EventSource, opts ...resource.ObjectOption) *appsv1.Deployment
NewMTAdapterDeployment is a wrapper around resource.NewDeployment which pre-populates attributes common to all multi-tenant adapters backed by a Deployment.
func NewMTAdapterKnService ¶
func NewMTAdapterKnService(src v1alpha1.EventSource, opts ...resource.ObjectOption) *servingv1.Service
NewMTAdapterKnService is a wrapper around resource.NewKnService which pre-populates attributes common to all multi-tenant adapters backed by a Knative Service.
func OwnByServiceAccount ¶
func OwnByServiceAccount(obj metav1.Object, owner *corev1.ServiceAccount)
OwnByServiceAccount sets the owner of obj to the given ServiceAccount.
func ServiceAccountName ¶ added in v1.12.0
func ServiceAccountName(src v1alpha1.EventSource) string
ServiceAccountName returns the name to set on the ServiceAccount associated with the given source.
Types ¶
type AdapterDeploymentBuilder ¶
type AdapterDeploymentBuilder interface { RBACOwnersLister BuildAdapter(src v1alpha1.EventSource, sinkURI *apis.URL) *appsv1.Deployment }
AdapterDeploymentBuilder provides all the necessary information for building objects related to a source's adapter backed by a Deployment.
type AdapterServiceBuilder ¶
type AdapterServiceBuilder interface { RBACOwnersLister BuildAdapter(src v1alpha1.EventSource, sinkURI *apis.URL) *servingv1.Service }
AdapterServiceBuilder provides all the necessary information for building objects related to a source's adapter backed by a Knative Service.
type GenericDeploymentReconciler ¶
type GenericDeploymentReconciler struct { // URI resolver for sinks SinkResolver *resolver.URIResolver // API clients Client func(namespace string) appsclientv1.DeploymentInterface PodClient func(namespace string) coreclientv1.PodInterface // objects listers Lister func(namespace string) appslistersv1.DeploymentNamespaceLister *GenericRBACReconciler }
GenericDeploymentReconciler contains interfaces shared across Deployment reconcilers.
func NewGenericDeploymentReconciler ¶
func NewGenericDeploymentReconciler(ctx context.Context, gvk schema.GroupVersionKind, tracker tracker.Interface, adapterHandlerFn func(obj interface{}), ) GenericDeploymentReconciler
NewGenericDeploymentReconciler creates a new GenericDeploymentReconciler and attaches a default event handler to its Deployment informer.
func (*GenericDeploymentReconciler) ReconcileSource ¶
func (r *GenericDeploymentReconciler) ReconcileSource(ctx context.Context, ab AdapterDeploymentBuilder) reconciler.Event
ReconcileSource reconciles a receive adapter for an event source type.
type GenericRBACReconciler ¶
type GenericRBACReconciler struct { // API clients SAClient func(namespace string) coreclientv1.ServiceAccountInterface RBClient func(namespace string) rbacclientv1.RoleBindingInterface // objects listers SALister func(namespace string) corelistersv1.ServiceAccountNamespaceLister RBLister func(namespace string) rbaclistersv1.RoleBindingNamespaceLister }
GenericRBACReconciler reconciles RBAC objects for source adapters.
func NewGenericRBACReconciler ¶
func NewGenericRBACReconciler(ctx context.Context) *GenericRBACReconciler
NewGenericRBACReconciler creates a new GenericRBACReconciler.
type GenericServiceReconciler ¶
type GenericServiceReconciler struct { // URI resolver for sinks SinkResolver *resolver.URIResolver // API clients Client func(namespace string) servingclientv1.ServiceInterface // objects listers Lister func(namespace string) servinglistersv1.ServiceNamespaceLister *GenericRBACReconciler }
GenericServiceReconciler contains interfaces shared across Service reconcilers.
func NewGenericServiceReconciler ¶
func NewGenericServiceReconciler(ctx context.Context, gvk schema.GroupVersionKind, tracker tracker.Interface, adapterHandlerFn func(obj interface{}), ) GenericServiceReconciler
NewGenericServiceReconciler creates a new GenericServiceReconciler and attaches a default event handler to its Service informer.
func NewMTGenericServiceReconciler ¶
func NewMTGenericServiceReconciler(ctx context.Context, typ kmeta.OwnerRefable, tracker tracker.Interface, adapterHandlerFn func(obj interface{}), ) GenericServiceReconciler
NewMTGenericServiceReconciler creates a new GenericServiceReconciler for a multi-tenant adapter and attaches a default event handler to its Service informer.
func (*GenericServiceReconciler) ReconcileSource ¶
func (r *GenericServiceReconciler) ReconcileSource(ctx context.Context, ab AdapterServiceBuilder) reconciler.Event
ReconcileSource reconciles a receive adapter for an event source type.
type RBACOwnersLister ¶
type RBACOwnersLister interface {
RBACOwners(src v1alpha1.EventSource) ([]kmeta.OwnerRefable, error)
}
RBACOwnersLister returns a list of OwnerRefable to be set as a the OwnerReferences metadata attribute of a ServiceAccount.
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
Package event contains functions for generating Kubernetes API events.
|
Package event contains functions for generating Kubernetes API events. |
Package resource contains helpers to generate Kubernetes API objects.
|
Package resource contains helpers to generate Kubernetes API objects. |
Package skip allows a Context to carry the intention to skip parts of the code execution.
|
Package skip allows a Context to carry the intention to skip parts of the code execution. |