provisioners

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2019 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PortName   = "http"
	PortNumber = 80
	// EventingChannelLabel carries the name of knative's label for the channel
	EventingChannelLabel = "eventing.knative.dev/channel"
	// EventingProvisionerLabel carries the name of knative's label for the provisioner
	EventingProvisionerLabel = "eventing.knative.dev/provisioner"

	// OldEventingChannelLabel carries the name of knative's old label for the channel
	OldEventingChannelLabel = "channel"
	// OldEventingProvisionerLabel carries the name of knative's old label for the provisioner
	OldEventingProvisionerLabel = "provisioner"
)
View Source
const (
	MessageReceiverPort = 8080
)

MessageReceiver starts a server to receive new messages for the channel dispatcher. The new message is emitted via the receiver function.

Variables

View Source
var ErrUnknownChannel = errors.New("unknown channel")

ErrUnknownChannel is returned when a message is received by a channel dispatcher for a channel that does not exist.

Functions

func DispatcherLabels

func DispatcherLabels(ccpName string) map[string]string

func NewLoggingConfig

func NewLoggingConfig() *logging.Config

NewLoggingConfig creates a static logging configuration appropriate for a provisioner. All logging levels are set to Info.

func NewProvisionerLoggerFromConfig

func NewProvisionerLoggerFromConfig(config *logging.Config) *zap.SugaredLogger

NewProvisionerLoggerFromConfig creates a new zap logger for the provisioner component based on the provided configuration

func RemoveFinalizer

func RemoveFinalizer(c *eventingv1alpha1.Channel, finalizerName string)

func UpdateChannel

func UpdateChannel(ctx context.Context, client runtimeClient.Client, u *eventingv1alpha1.Channel) error

Types

type AddFinalizerResult added in v0.3.0

type AddFinalizerResult bool

AddFinalizerResult is used indicate whether a finalizer was added or already present.

const (
	FinalizerAlreadyPresent AddFinalizerResult = false
	FinalizerAdded          AddFinalizerResult = true
)

func AddFinalizer

func AddFinalizer(c *eventingv1alpha1.Channel, finalizerName string) AddFinalizerResult

AddFinalizer adds finalizerName to the Channel.

type ChannelReference added in v0.2.1

type ChannelReference struct {
	Namespace string
	Name      string
}

ChannelReference references a Channel within the cluster by name and namespace.

func ParseChannel added in v0.2.1

func ParseChannel(host string) (ChannelReference, error)

ParseChannel converts the channel's hostname into a channel reference.

func (*ChannelReference) String added in v0.2.1

func (r *ChannelReference) String() string

type DispatchDefaults added in v0.2.1

type DispatchDefaults struct {
	Namespace string
}

DispatchDefaults provides default parameter values used when dispatching a message.

type Dispatcher added in v0.3.0

type Dispatcher interface {
	// DispatchMessage dispatches a message to a destination over HTTP.
	//
	// The destination and reply are DNS names. For names with a single label,
	// the default namespace is used to expand it into a fully qualified name
	// within the cluster.
	DispatchMessage(message *Message, destination, reply string, defaults DispatchDefaults) error
}

type Message added in v0.2.1

type Message struct {

	// Headers provide metadata about the message payload. All header keys
	// should be lowercase.
	Headers map[string]string

	// Payload is the raw binary content of the message. The payload format is
	// often described by the 'content-type' header.
	Payload []byte
}

Message represents an chunk of data within a channel dispatcher. The message contains both a map of string headers and a binary payload.

A message may represent a CloudEvent.

type MessageDispatcher added in v0.2.1

type MessageDispatcher struct {
	// contains filtered or unexported fields
}

MessageDispatcher dispatches messages to a destination over HTTP.

func NewMessageDispatcher added in v0.2.1

func NewMessageDispatcher(logger *zap.SugaredLogger) *MessageDispatcher

NewMessageDispatcher creates a new message dispatcher that can dispatch messages to HTTP destinations.

func (*MessageDispatcher) DispatchMessage added in v0.2.1

func (d *MessageDispatcher) DispatchMessage(message *Message, destination, reply string, defaults DispatchDefaults) error

DispatchMessage dispatches a message to a destination over HTTP.

The destination and reply are DNS names. For names with a single label, the default namespace is used to expand it into a fully qualified name within the cluster.

type MessageReceiver added in v0.2.1

type MessageReceiver struct {
	// contains filtered or unexported fields
}

func NewMessageReceiver added in v0.2.1

func NewMessageReceiver(receiverFunc func(ChannelReference, *Message) error, logger *zap.SugaredLogger) *MessageReceiver

NewMessageReceiver creates a message receiver passing new messages to the receiverFunc.

func (*MessageReceiver) HandleRequest added in v0.2.1

func (r *MessageReceiver) HandleRequest(res http.ResponseWriter, req *http.Request)

HandleRequest is an http Handler function. The request is converted to a Message and emitted to the receiver func.

The response status codes:

202 - the message was sent to subscribers
404 - the request was for an unknown channel
500 - an error occurred processing the request

func (*MessageReceiver) Start added in v0.3.0

func (r *MessageReceiver) Start(stopCh <-chan struct{}) error

Run starts receiving messages for the receiver.

Only HTTP POST requests to the root path (/) are accepted. If other paths or methods are needed, use the HandleRequest method directly with another HTTP server.

This method will block until a message is received on the stop channel.

Jump to

Keyboard shortcuts

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