common

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2021 License: Apache-2.0 Imports: 41 Imported by: 0

Documentation

Overview

Package common contains reconciliation helpers shared by source reconcilers.

Index

Constants

View Source
const (
	EnvName      = "NAME"
	EnvNamespace = "NAMESPACE"

	// Common Azure attributes
	EnvTenantID     = "AZURE_TENANT_ID"
	EnvClientID     = "AZURE_CLIENT_ID"
	EnvClientSecret = "AZURE_CLIENT_SECRET"
	EnvConnStr      = "AZURE_CONN_STR"

	// Azure EventHub auth attributes
	EnvHubName      = "AZURE_HUB_NAME"
	EnvHubNamespace = "AZURE_HUB_NAMESPACE"
	EnvHubKeyName   = "EVENTHUB_KEY_NAME"
	EnvHubKeyValue  = "EVENTHUB_KEY_VALUE"

	// Bridge identifier for stateful flows
	EnvBridgeIdentifier = "BRIDGE_IDENTIFIER"
)

Common environment variables propagated to adapters.

View Source
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 AdapterName added in v0.5.0

func AdapterName(src kmeta.OwnerRefable) string

AdapterName returns the adapter's name for the given source object.

func AdapterRBACObjectsName added in v1.3.0

func AdapterRBACObjectsName(src kmeta.OwnerRefable) string

AdapterRBACObjectsName returns a unique name to apply to all RBAC objects for the given source's adapter.

func CreateCloudEventAttributes added in v0.4.1

func CreateCloudEventAttributes(source string, eventTypes []string) []duckv1.CloudEventAttributes

CreateCloudEventAttributes returns CloudEvent attributes for the event types supported by the source.

func GetStatefulBridgeID added in v1.1.0

func GetStatefulBridgeID(object metav1.Object) string

GetStatefulBridgeID returns the BridgeID based on an object metadata.

All bridge components controlled by Triggerflow have labels informing their relation with the bridges they are part of. A component can only have one dominant bridge, which is the one it synchronizes with. This function uses that label to retrieve the bridge name and use it as unique ID.

func MaybeAppendValueFromEnvVar added in v1.3.0

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 added in v1.3.0

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 adapter Deployments.

func NewAdapterKnService added in v1.3.0

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 adapter Knative Services.

func RBACObjectLabels added in v1.3.0

func RBACObjectLabels(src kmeta.OwnerRefable) labels.Set

RBACObjectLabels returns a set of labels to be applied to reconciled RBAC objects.

Types

type AdapterDeploymentBuilder added in v1.3.0

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 added in v1.3.0

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,
	resolverCallback func(types.NamespacedName),
	adapterHandlerFn func(obj interface{}),
) GenericDeploymentReconciler

NewGenericDeploymentReconciler creates a new GenericDeploymentReconciler and attaches a default event handler to its Deployment informer.

func (*GenericDeploymentReconciler) FindAdapter added in v0.5.0

FindAdapter returns the adapter Deployment for a given source if it exists.

func (*GenericDeploymentReconciler) ReconcileSource

ReconcileSource reconciles an event source type.

type GenericRBACReconciler added in v1.3.0

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 added in v1.3.0

func NewGenericRbacReconciler(ctx context.Context) *GenericRBACReconciler

NewGenericRbacReconciler creates a new GenericRbacReconciler.

type GenericServiceReconciler added in v1.2.0

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

func NewGenericServiceReconciler(ctx context.Context, gvk schema.GroupVersionKind,
	resolverCallback func(types.NamespacedName),
	adapterHandlerFn func(obj interface{}),
) GenericServiceReconciler

NewGenericServiceReconciler creates a new GenericServiceReconciler and attaches a default event handler to its Service informer.

func (*GenericServiceReconciler) FindAdapter added in v1.2.0

FindAdapter returns the adapter Service for a given source if it exists.

func (*GenericServiceReconciler) ReconcileSource added in v1.2.0

ReconcileSource reconciles an event source type.

type RBACOwnersLister added in v1.3.0

type RBACOwnersLister interface {
	RBACOwners(namespace string) ([]kmeta.OwnerRefable, error)
}

RBACOwnersLister returns a list of OwnerRefable to be set as a the OwnerReferences metadata attribute of a ServiceAccount.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL