cloudevent

package
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2021 License: Apache-2.0 Imports: 24 Imported by: 19

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EventForObjectWithCondition added in v0.14.0

func EventForObjectWithCondition(runObject objectWithCondition) (*cloudevents.Event, error)

EventForObjectWithCondition creates a new event based for a objectWithCondition, or return an error if not possible.

func EventForPipelineRun added in v0.14.0

func EventForPipelineRun(pipelineRun *v1beta1.PipelineRun) (*cloudevents.Event, error)

EventForPipelineRun will create a new event based on a TaskRun, or return an error if not possible.

func EventForTaskRun

func EventForTaskRun(taskRun *v1beta1.TaskRun) (*cloudevents.Event, error)

EventForTaskRun will create a new event based on a TaskRun, or return an error if not possible.

func GetCloudEventDeliveryCompareOptions

func GetCloudEventDeliveryCompareOptions() []cmp.Option

GetCloudEventDeliveryCompareOptions returns compare options to sort and compare a list of CloudEventDelivery

func InitializeCloudEvents

func InitializeCloudEvents(tr *v1beta1.TaskRun, prs map[string]*resource.PipelineResource)

InitializeCloudEvents initializes the CloudEvents part of the TaskRunStatus from a slice of PipelineResources

func NewFakeClient

func NewFakeClient(behaviour *FakeClientBehaviour) cloudevents.Client

NewFakeClient is a FakeClient factory, it returns a client for the target

func SendCloudEventWithRetries added in v0.14.0

func SendCloudEventWithRetries(ctx context.Context, object runtime.Object) error

SendCloudEventWithRetries sends a cloud event for the specified resource. It does not block and it perform retries with backoff using the cloudevents sdk-go capabilities. It accepts a runtime.Object to avoid making objectWithCondition public since it's only used within the events/cloudevents packages.

func SendCloudEvents

func SendCloudEvents(tr *v1beta1.TaskRun, ceclient CEClient, logger *zap.SugaredLogger) error

SendCloudEvents is used by the TaskRun controller to send cloud events once the TaskRun is complete. `tr` is used to obtain the list of targets

func ToContext added in v0.14.0

func ToContext(ctx context.Context, cec CEClient) context.Context

ToContext adds the cloud events client to the context

func WithClient

func WithClient(ctx context.Context, behaviour *FakeClientBehaviour) context.Context

WithClient adds to the context a fake client with the desired behaviour

Types

type CECKey

type CECKey struct{}

CECKey is used to associate the CloudEventClient inside the context.Context

type CEClient

type CEClient cloudevents.Client

CEClient matches the `Client` interface from github.com/cloudevents/sdk-go/v2/cloudevents

func Get

func Get(ctx context.Context) CEClient

Get extracts the cloudEventClient client from the context.

type FakeClient

type FakeClient struct {

	// Modelled after k8s.io/client-go fake recorder
	Events chan string
	// contains filtered or unexported fields
}

FakeClient is a fake CloudEvent client for unit testing Holding pointer to the behaviour allows to change the behaviour of a client

func (FakeClient) Request

Request fakes the Request method from cloudevents.Client

func (FakeClient) Send

Send fakes the Send method from cloudevents.Client

func (FakeClient) StartReceiver

func (c FakeClient) StartReceiver(ctx context.Context, fn interface{}) error

StartReceiver fakes StartReceiver method from cloudevents.Client

type FakeClientBehaviour

type FakeClientBehaviour struct {
	SendSuccessfully bool
}

FakeClientBehaviour defines how the client will behave

type TektonCloudEventData

type TektonCloudEventData struct {
	TaskRun     *v1beta1.TaskRun     `json:"taskRun,omitempty"`
	PipelineRun *v1beta1.PipelineRun `json:"pipelineRun,omitempty"`
}

TektonCloudEventData type is used to marshal and unmarshal the payload of a Tekton cloud event. It can include a PipelineRun or a PipelineRun

func NewTektonCloudEventData

func NewTektonCloudEventData(runObject objectWithCondition) TektonCloudEventData

NewTektonCloudEventData returns a new instance of NewTektonCloudEventData

type TektonEventType

type TektonEventType string

TektonEventType holds the types of cloud events sent by Tekton

const (
	// TaskRunStartedEventV1 is sent for TaskRuns with "ConditionSucceeded" "Unknown"
	// the first time they are picked up by the reconciler
	TaskRunStartedEventV1 TektonEventType = "dev.tekton.event.taskrun.started.v1"
	// TaskRunRunningEventV1 is sent for TaskRuns with "ConditionSucceeded" "Unknown"
	// once the TaskRun is validated and Pod created
	TaskRunRunningEventV1 TektonEventType = "dev.tekton.event.taskrun.running.v1"
	// TaskRunUnknownEventV1 is sent for TaskRuns with "ConditionSucceeded" "Unknown"
	// It can be used as a confirmation that the TaskRun is still running.
	TaskRunUnknownEventV1 TektonEventType = "dev.tekton.event.taskrun.unknown.v1"
	// TaskRunSuccessfulEventV1 is sent for TaskRuns with "ConditionSucceeded" "True"
	TaskRunSuccessfulEventV1 TektonEventType = "dev.tekton.event.taskrun.successful.v1"
	// TaskRunFailedEventV1 is sent for TaskRuns with "ConditionSucceeded" "False"
	TaskRunFailedEventV1 TektonEventType = "dev.tekton.event.taskrun.failed.v1"
	// PipelineRunStartedEventV1 is sent for PipelineRuns with "ConditionSucceeded" "Unknown"
	// the first time they are picked up by the reconciler
	PipelineRunStartedEventV1 TektonEventType = "dev.tekton.event.pipelinerun.started.v1"
	// PipelineRunRunningEventV1 is sent for PipelineRuns with "ConditionSucceeded" "Unknown"
	// once the PipelineRun is validated and Pod created
	PipelineRunRunningEventV1 TektonEventType = "dev.tekton.event.pipelinerun.running.v1"
	// PipelineRunUnknownEventV1 is sent for PipelineRuns with "ConditionSucceeded" "Unknown"
	// It can be used as a confirmation that the PipelineRun is still running.
	PipelineRunUnknownEventV1 TektonEventType = "dev.tekton.event.pipelinerun.unknown.v1"
	// PipelineRunSuccessfulEventV1 is sent for PipelineRuns with "ConditionSucceeded" "True"
	PipelineRunSuccessfulEventV1 TektonEventType = "dev.tekton.event.pipelinerun.successful.v1"
	// PipelineRunFailedEventV1 is sent for PipelineRuns with "ConditionSucceeded" "False"
	PipelineRunFailedEventV1 TektonEventType = "dev.tekton.event.pipelinerun.failed.v1"
)

func (TektonEventType) String

func (t TektonEventType) String() string

Jump to

Keyboard shortcuts

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