v0_2_0

package
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2022 License: Apache-2.0 Imports: 20 Imported by: 87

Documentation

Index

Constants

View Source
const ActionTaskName = "action"
View Source
const ApprovalAutomatic = "automatic"

ApprovalAutomatic indicates an automatic approval strategy

View Source
const ApprovalManual = "manual"

ApprovalManual indicates a manual approval strategy

View Source
const ApprovalTaskName = "approval"
View Source
const ConfigureMonitoringTaskName = "configure-monitoring"
View Source
const DefaultHTTPEventEndpoint = "http://localhost:8081/event"
View Source
const DeploymentTaskName = "deployment"
View Source
const ErrorLogEventName = "sh.keptn.log.error"
View Source
const EvaluationTaskName = "evaluation"
View Source
const GetActionTaskName = "get-action"
View Source
const GetSLITaskName = "get-sli"
View Source
const MAX_SEND_RETRIES = 3
View Source
const ProjectCreateTaskName = "project.create"
View Source
const ProjectDeleteTaskName = "project.delete"
View Source
const ReleaseTaskName = "release"
View Source
const RollbackTaskName = "rollback"
View Source
const ServiceCreateTaskName = "service.create"
View Source
const ServiceDeleteTaskName = "service.delete"
View Source
const TestTaskName = "test"

Variables

This section is empty.

Functions

func Decode added in v0.8.0

func Decode(in, out interface{}) error

Decode decodes the given raw interface to the target pointer specified by the out parameter

func EventDataAs added in v0.8.0

func EventDataAs(in models.KeptnContextExtendedCE, out interface{}) error

EventDataAs decodes the event data of the given keptn cloud event to the target pointer specified by the out parameter

func GetEventTypeForTriggeredEvent added in v0.8.0

func GetEventTypeForTriggeredEvent(baseTriggeredEventType, newEventTypeSuffix string) (string, error)

func GetFinishedEventType

func GetFinishedEventType(task string) string

GetFinishedEventType returns for the given task the name of the finished event type

func GetInvalidatedEventType added in v0.8.0

func GetInvalidatedEventType(task string) string

GetInvalidatedEventType returns for the given task the name of the finished event type

func GetStartedEventType

func GetStartedEventType(task string) string

GetStartedEventType returns for the given task the name of the started event type

func GetStatusChangedEventType

func GetStatusChangedEventType(task string) string

GetStatusChangedEventType returns for the given task the name of the status.changed event type

func GetTriggeredEventType

func GetTriggeredEventType(task string) string

GetTriggeredEventType returns for the given task the name of the triggered event type

func IsFinishedEventType added in v0.9.0

func IsFinishedEventType(eventType string) bool

func IsSequenceEventType added in v0.8.4

func IsSequenceEventType(eventType string) bool

IsSequenceEventType checks whether the given event type is a sequence event type like e.g. "sh.keptn.event.stage.sequence.triggered"

func IsStartedEventType added in v0.9.0

func IsStartedEventType(eventType string) bool

func IsTaskEventType added in v0.8.4

func IsTaskEventType(eventType string) bool

IsTaskEventType checks whether the given eventType is a task event type like e.g. "sh.keptn.event.task.triggered"

func IsTriggeredEventType added in v0.9.0

func IsTriggeredEventType(eventType string) bool

func IsValidEventType added in v0.8.4

func IsValidEventType(eventType string) bool

IsValidEventType checks whether the given event type is a valid event type, i.e. a valid task event type or sequence event type

func ParseEventKind added in v0.8.4

func ParseEventKind(eventType string) (string, error)

ParseEventKind parses the given event type and returns the last element which is the "kind" of the event (e.g. triggered, finished, ...)

func ParseEventTypeWithoutKind added in v0.8.4

func ParseEventTypeWithoutKind(eventType string) (string, error)

ParseEventTypeWithoutKind parses the given event type and trims away the last element of the event which is the "kind" of the event (e.g. triggered, finished, ...)

func ParseSequenceEventType added in v0.8.4

func ParseSequenceEventType(sequenceTriggeredEventType string) (string, string, string, error)

ParseSequenceEventType parses the given sequence event type and returns the stage name, sequence name, event type as well as an error which is eventually nil

func ParseTaskEventType added in v0.8.4

func ParseTaskEventType(taskEventType string) (string, string, error)

ParseTaskEventType parses the given task event type and returns the task name, event type as well as an error which is eventually nil

func ReplaceEventTypeKind added in v0.8.4

func ReplaceEventTypeKind(eventType, newKind string) (string, error)

ReplaceEventTypeKind replaces the last element of the event which is the "kind" of the event (e.g. triggered, finished, ...) with a new value This is useful e.g. to transform a .started event type into a .finished event type

func ToCloudEvent added in v0.8.4

func ToCloudEvent(keptnEvent models.KeptnContextExtendedCE) cloudevents.Event

ToCloudEvent takes a KeptnContextExtendedCE and converts it to an ordinary CloudEvent

func ToKeptnEvent added in v0.8.4

func ToKeptnEvent(event cloudevents.Event) (models.KeptnContextExtendedCE, error)

ToKeptnEvent takes a CloudEvent and converts it into a KeptnContextExtendedCE

Types

type ActionFinishedEventData added in v0.8.0

type ActionFinishedEventData struct {
	EventData
}

ActionFinishedEventData contains information about the execution of an action

type ActionInfo added in v0.8.0

type ActionInfo struct {
	// Name is the name of the action
	Name string `json:"name"`
	// Action determines the type of action to be executed
	Action string `json:"action"`
	// Description contains the description of the action
	Description string `json:"description,omitempty"`
	// Value contains the value of the action
	Value interface{} `json:"value,omitempty"`
}

ActionInfo contains information about the action to be performed

type ActionStartedEventData added in v0.8.0

type ActionStartedEventData struct {
	EventData
}

ActionStartedEventData contains information about an action.started event

type ActionTriggeredEventData added in v0.8.0

type ActionTriggeredEventData struct {
	EventData
	// Action describes the type of action
	Action ActionInfo `json:"action"`
	// Problem contains details about the problem
	Problem ProblemDetails `json:"problem"`
}

ActionTriggeredEventData contains information about an action.triggered event

type Approval added in v0.8.0

type Approval struct {
	Pass    string `json:"pass" jsonschema:"enum=automatic,enum=manual"`
	Warning string `json:"warning" jsonschema:"enum=automatic,enum=manual"`
}

type ApprovalFinishedEventData

type ApprovalFinishedEventData struct {
	EventData
}

type ApprovalStartedEventData

type ApprovalStartedEventData struct {
	EventData
}

type ApprovalStatusChangedEventData

type ApprovalStatusChangedEventData struct {
	EventData
}

type ApprovalTriggeredEventData

type ApprovalTriggeredEventData struct {
	EventData
	// Approval contains information about the approval strategy
	Approval Approval `json:"approval"`
}

type ConfigurationChange added in v0.8.0

type ConfigurationChange struct {
	Values map[string]interface{} `json:"values"`
}

type ConfigureMonitoringFinishedEventData added in v0.8.0

type ConfigureMonitoringFinishedEventData struct {
	EventData
}

ConfigureMonitoringFinishedEventData godoc

type ConfigureMonitoringStartedEventData added in v0.8.0

type ConfigureMonitoringStartedEventData struct {
	EventData
}

ConfigureMonitoringStartedEventData godoc

type ConfigureMonitoringTriggeredEventData added in v0.8.0

type ConfigureMonitoringTriggeredEventData struct {
	EventData

	ConfigureMonitoring ConfigureMonitoringTriggeredParams `json:"configureMonitoring"`
}

ConfigureMonitoringTriggeredEventData godoc

type ConfigureMonitoringTriggeredParams added in v0.8.0

type ConfigureMonitoringTriggeredParams struct {
	Type string `json:"type"`
}

ConfigureMonitoringTriggeredParams godoc

type Deployment added in v0.8.0

type Deployment struct {
	// DeploymentNames gives the names of the deployments
	DeploymentNames []string `json:"deploymentNames"`
}

type DeploymentFinishedData added in v0.8.0

type DeploymentFinishedData struct {
	// DeploymentStrategy defines the used deployment strategy
	DeploymentStrategy string `json:"deploymentstrategy" jsonschema:"enum=direct,enum=blue_green_service,enum=user_managed"`
	// DeploymentURILocal contains the local URL
	DeploymentURIsLocal []string `json:"deploymentURIsLocal"`
	// DeploymentURIPublic contains the public URL
	DeploymentURIsPublic []string `json:"deploymentURIsPublic,omitempty"`
	// DeploymentNames gives the names of the deployments
	DeploymentNames []string `json:"deploymentNames"`
}

DeploymentFinishedData contains the data associated with a .deployment.finished event

type DeploymentFinishedEventData

type DeploymentFinishedEventData struct {
	EventData
	Deployment DeploymentFinishedData `json:"deployment"`
}

type DeploymentStartedEventData

type DeploymentStartedEventData struct {
	EventData
}

type DeploymentStatusChangedEventData

type DeploymentStatusChangedEventData struct {
	EventData
}

type DeploymentTriggeredData added in v0.8.0

type DeploymentTriggeredData struct {
	// DeploymentURILocal contains the local URL
	DeploymentURIsLocal []string `json:"deploymentURIsLocal"`
	// DeploymentURIPublic contains the public URL
	DeploymentURIsPublic []string `json:"deploymentURIsPublic,omitempty"`
	// DeploymentStrategy defines the used deployment strategy
	DeploymentStrategy string `json:"deploymentstrategy" jsonschema:"enum=direct,enum=blue_green_service,enum=user_managed"`
}

DeploymentTriggeredData contains the data associated with a .deployment.triggered event

type DeploymentTriggeredEventData

type DeploymentTriggeredEventData struct {
	EventData
	ConfigurationChange ConfigurationChange     `json:"configurationChange"`
	Deployment          DeploymentTriggeredData `json:"deployment"`
}

type Endpoints added in v0.8.4

type Endpoints struct {
	// DeploymentURILocal contains the local URL
	DeploymentURIsLocal []string `json:"deploymentURIsLocal"`
	// DeploymentURIPublic contains the public URL
	DeploymentURIsPublic []string `json:"deploymentURIsPublic,omitempty"`
}

type EnvFrom added in v0.10.0

type EnvFrom struct {
	SecretRef WebHookSecretRef `yaml:"secretRef"`
	Name      string           `yaml:"name"`
}

type ErrorLogEvent added in v0.8.5

type ErrorLogEvent struct {
	Message       string `json:"message"`
	IntegrationID string `json:"integrationid"`
	Task          string `json:"task"`
}

type Evaluation added in v0.8.0

type Evaluation struct {
	// Start indicates the starting timestamp of the tests
	Start string `json:"start"`
	// End indicates the end timestamp of the tests
	End string `json:"end"`
	// Timeframe indicates the timeframe of the evaluation
	Timeframe string `json:"timeframe"`
}

type EvaluationDetails

type EvaluationDetails struct {
	TimeStart        string                 `json:"timeStart"`
	TimeEnd          string                 `json:"timeEnd"`
	Result           string                 `json:"result"`
	Score            float64                `json:"score"`
	SLOFileContent   string                 `json:"sloFileContent"`
	IndicatorResults []*SLIEvaluationResult `json:"indicatorResults"`
	ComparedEvents   []string               `json:"comparedEvents,omitempty"`
}

type EvaluationFinishedEventData

type EvaluationFinishedEventData struct {
	EventData
	Evaluation EvaluationDetails `json:"evaluation,omitempty"`
}

type EvaluationStartedEventData

type EvaluationStartedEventData struct {
	EventData
}

type EvaluationStatusChangedEventData

type EvaluationStatusChangedEventData struct {
	EventData
}

type EvaluationTriggeredEventData

type EvaluationTriggeredEventData struct {
	EventData
	Test       Test       `json:"test"`
	Evaluation Evaluation `json:"evaluation"`
	Deployment Deployment `json:"deployment"`
}

type EventData

type EventData struct {
	Project string            `json:"project,omitempty"`
	Stage   string            `json:"stage,omitempty"`
	Service string            `json:"service,omitempty"`
	Labels  map[string]string `json:"labels,omitempty"`
	Status  StatusType        `json:"status,omitempty" jsonschema:"enum=succeeded,enum=errored,enum=unknown"`
	Result  ResultType        `json:"result,omitempty" jsonschema:"enum=pass,enum=warning,enum=fail"`
	Message string            `json:"message,omitempty"`
}

EventData contains mandatory fields of all Keptn CloudEvents

func (*EventData) GetLabels added in v0.8.0

func (e *EventData) GetLabels() map[string]string

func (*EventData) GetProject added in v0.8.0

func (e *EventData) GetProject() string

func (*EventData) GetService added in v0.8.0

func (e *EventData) GetService() string

func (*EventData) GetStage added in v0.8.0

func (e *EventData) GetStage() string

func (*EventData) SetLabels added in v0.8.0

func (e *EventData) SetLabels(labels map[string]string)

func (*EventData) SetProject added in v0.8.0

func (e *EventData) SetProject(project string)

func (*EventData) SetService added in v0.8.0

func (e *EventData) SetService(service string)

func (*EventData) SetStage added in v0.8.0

func (e *EventData) SetStage(stage string)

type GetActionData added in v0.12.0

type GetActionData struct {
	ActionIndex int `json:"actionIndex"`
}

type GetActionFinishedEventData added in v0.8.4

type GetActionFinishedEventData struct {
	EventData
	Action    ActionInfo    `json:"action"`
	GetAction GetActionData `json:"get-action"`
}

type GetActionStartedEventData added in v0.8.4

type GetActionStartedEventData struct {
	EventData
}

type GetActionTriggeredEventData added in v0.8.4

type GetActionTriggeredEventData struct {
	EventData
	Problem   ProblemDetails `json:"problem"`
	GetAction GetActionData  `json:"get-action"`
}

type GetSLI added in v0.8.0

type GetSLI struct {
	// SLIProvider defines the name of the monitoring solution that provides the SLIs
	SLIProvider string `json:"sliProvider"`
	// Start defines the start timestamp
	Start string `json:"start"`
	// End defines the end timestamp
	End string `json:"end"`
	// Indicators defines the SLI names
	Indicators []string `json:"indicators,omitempty"`
	// CustomFilters defines filters on the SLIs
	CustomFilters []*SLIFilter `json:"customFilters,omitempty"`
}

type GetSLIFinished added in v0.8.0

type GetSLIFinished struct {
	// Start defines the start timestamp
	Start string `json:"start"`
	// End defines the end timestamp
	End string `json:"end"`
	// IndicatorValues defines the fetched SLI values
	IndicatorValues []*SLIResult `json:"indicatorValues,omitempty"`
}

type GetSLIFinishedEventData added in v0.8.0

type GetSLIFinishedEventData struct {
	EventData
	GetSLI GetSLIFinished `json:"get-sli"`
}

type GetSLIStartedEventData added in v0.8.0

type GetSLIStartedEventData struct {
	EventData
}

type GetSLITriggeredEventData added in v0.8.0

type GetSLITriggeredEventData struct {
	EventData
	GetSLI     GetSLI `json:"get-sli"`
	Deployment string `json:"deployment"`
}

type HTTPEventSender added in v0.8.0

type HTTPEventSender struct {
	// EventsEndpoint is the http endpoint the events are sent to
	EventsEndpoint string
	// Client is an implementation of the cloudevents.Client interface
	Client cloudevents.Client
	// contains filtered or unexported fields
}

HTTPEventSender sends CloudEvents via HTTP

func NewHTTPEventSender added in v0.8.0

func NewHTTPEventSender(endpoint string, opts ...HTTPSenderOption) (*HTTPEventSender, error)

NewHTTPEventSender creates a new HTTPSender

func (HTTPEventSender) Send added in v0.9.0

func (httpSender HTTPEventSender) Send(ctx context.Context, event cloudevents.Event) error

func (HTTPEventSender) SendEvent added in v0.8.0

func (httpSender HTTPEventSender) SendEvent(event cloudevents.Event) error

SendEvent sends a CloudEvent

type HTTPSenderOption added in v0.15.1

type HTTPSenderOption func(httpSender *HTTPEventSender)

func WithSendRetries added in v0.15.1

func WithSendRetries(retries int) HTTPSenderOption

WithSendRetries allows to specify the number of retries that are performed if the receiver of an event returns a HTTP error code

type Helm added in v0.8.0

type Helm struct {
	Chart string `json:"chart"`
}

type Keptn added in v0.8.0

type Keptn struct {
	keptn.KeptnBase
}

func NewKeptn added in v0.8.0

func NewKeptn(incomingEvent *cloudevents.Event, opts keptn.KeptnOpts) (*Keptn, error)

func (*Keptn) GetShipyard added in v0.8.0

func (k *Keptn) GetShipyard() (*Shipyard, error)

GetShipyard returns the shipyard definition of a project

func (*Keptn) SendCloudEvent added in v0.8.0

func (k *Keptn) SendCloudEvent(event cloudevents.Event) error

SendCloudEvent sends a cloudevent to the event broker

func (*Keptn) SendTaskFinishedEvent added in v0.8.0

func (k *Keptn) SendTaskFinishedEvent(data keptn.EventProperties, source string) (string, error)

SendTaskFinishedEvent sends a .finished event for the incoming .triggered event the KeptnHandler was initialized with. It returns the ID of the sent CloudEvent or an error

func (*Keptn) SendTaskStartedEvent added in v0.8.0

func (k *Keptn) SendTaskStartedEvent(data keptn.EventProperties, source string) (string, error)

SendTaskStartedEvent sends a .started event for the incoming .triggered event the KeptnHandler was initialized with. It returns the ID of the sent CloudEvent or an error

func (*Keptn) SendTaskStatusChangedEvent added in v0.8.0

func (k *Keptn) SendTaskStatusChangedEvent(data keptn.EventProperties, source string) (string, error)

SendTaskStartedEvent sends a .status.changed event for the incoming .triggered event the KeptnHandler was initialized with. It returns the ID of the sent CloudEvent or an error

type KeptnEventBuilder added in v0.8.4

type KeptnEventBuilder struct {
	models.KeptnContextExtendedCE
}

KeptnEventBuilder is used for constructing a new KeptnContextExtendedCE

func KeptnEvent added in v0.8.4

func KeptnEvent(eventType string, source string, payload interface{}) *KeptnEventBuilder

KeptnEvent creates a builder for a new KeptnContextExtendedCE

func (*KeptnEventBuilder) Build added in v0.8.4

Build creates a value of KeptnContextExtendedCE from the current builder It also does basic validation like the presence of project, service and stage in the event data

func (*KeptnEventBuilder) WithGitCommitID added in v0.13.0

func (eb *KeptnEventBuilder) WithGitCommitID(gitCommitID string) *KeptnEventBuilder

WithGitCommitID can be used to set the git commit ID

func (*KeptnEventBuilder) WithID added in v0.8.4

func (eb *KeptnEventBuilder) WithID(id string) *KeptnEventBuilder

WithID can be used to override the ID, which is auto generated by default

func (*KeptnEventBuilder) WithKeptnContext added in v0.8.4

func (eb *KeptnEventBuilder) WithKeptnContext(keptnContext string) *KeptnEventBuilder

WithKeptnContext can be used to set a keptn context

func (*KeptnEventBuilder) WithKeptnSpecVersion added in v0.8.4

func (eb *KeptnEventBuilder) WithKeptnSpecVersion(keptnSpecVersion string) *KeptnEventBuilder

WithKeptnSpecVersion can be used to override the keptn spec version

func (*KeptnEventBuilder) WithTriggeredID added in v0.8.4

func (eb *KeptnEventBuilder) WithTriggeredID(triggeredID string) *KeptnEventBuilder

WithTriggeredID can be used to set the triggered ID

type Metadata

type Metadata struct {
	Name string `json:"name" yaml:"name"`
}

Metadata contains meta-data of a resource

type ProblemDetails

type ProblemDetails struct {
	// ProblemTitle is the display number of the reported problem.
	ProblemTitle string `json:"problemTitle"`
	// RootCause is the root cause of the problem
	RootCause string `json:"rootCause"`
}

ProblemDetails contains information about a problem

type ProjectCreateData added in v0.8.0

type ProjectCreateData struct {
	ProjectName  string `json:"projectName"`
	GitRemoteURL string `json:"gitRemoteURL,omitempty"`
	Shipyard     string `json:"shipyard"`
}

type ProjectCreateFinishedEventData added in v0.8.0

type ProjectCreateFinishedEventData struct {
	EventData
	CreatedProject ProjectCreateData `json:"createdProject"`
}

type ProjectCreateStartedEventData added in v0.8.0

type ProjectCreateStartedEventData struct {
	EventData
}

type ProjectDeleteData added in v0.8.0

type ProjectDeleteData struct {
}

type ProjectDeleteFinishedEventData added in v0.8.0

type ProjectDeleteFinishedEventData struct {
	EventData
}

type ProjectDeleteStartedEventData added in v0.8.0

type ProjectDeleteStartedEventData struct {
	EventData
}

type ReleaseFinishedEventData

type ReleaseFinishedEventData struct {
	EventData
}

type ReleaseStartedEventData

type ReleaseStartedEventData struct {
	EventData
}

type ReleaseStatusChangedEventData

type ReleaseStatusChangedEventData struct {
	EventData
}

type ReleaseTriggeredEventData

type ReleaseTriggeredEventData struct {
	EventData
	Deployment DeploymentFinishedData `json:"deployment"`
}

type ResultType

type ResultType string
const (
	ResultPass    ResultType = "pass"
	ResultWarning ResultType = "warning"
	ResultFailed  ResultType = "fail"
)

type RollbackData added in v0.8.0

type RollbackData struct {
}

type RollbackFinishedEventData added in v0.8.0

type RollbackFinishedEventData struct {
	EventData
}

type RollbackStartedEventData added in v0.8.0

type RollbackStartedEventData struct {
	EventData
}

type RollbackTriggeredEventData added in v0.8.0

type RollbackTriggeredEventData struct {
	EventData
}

type SLIEvaluationResult

type SLIEvaluationResult struct {
	Score          float64      `json:"score"`
	Value          *SLIResult   `json:"value"`
	DisplayName    string       `json:"displayName"`
	PassTargets    []*SLITarget `json:"passTargets"`
	WarningTargets []*SLITarget `json:"warningTargets"`
	KeySLI         bool         `json:"keySli"`
	Status         string       `json:"status" jsonschema:"enum=pass,enum=warning,enum=fail"`
}

type SLIFilter added in v0.8.0

type SLIFilter struct {
	// Key defines the key of the SLI filter
	Key string `json:"key"`
	// Value defines the value of the SLI filter
	Value string `json:"value"`
}

type SLIResult

type SLIResult struct {
	Metric        string  `json:"metric"`
	Value         float64 `json:"value"`
	ComparedValue float64 `json:"comparedValue"`
	Success       bool    `json:"success"`
	Message       string  `json:"message,omitempty"`
}

type SLITarget

type SLITarget struct {
	Criteria    string  `json:"criteria"`
	TargetValue float64 `json:"targetValue"`
	Violated    bool    `json:"violated"`
}

type Selector added in v0.8.0

type Selector struct {
	Match map[string]string `json:"match" yaml:"match"`
}

Selector defines conditions that need to evaluate to true for a trigger to fire

type Sequence

type Sequence struct {
	Name        string    `json:"name" yaml:"name"`
	TriggeredOn []Trigger `json:"triggeredOn,omitempty" yaml:"triggeredOn,omitempty"`
	Tasks       []Task    `json:"tasks" yaml:"tasks"`
}

Sequence defines a task sequence by its name and tasks. The triggers property is optional

type ServiceCreateFinishedEventData added in v0.8.0

type ServiceCreateFinishedEventData struct {
	EventData
}

type ServiceCreateStartedEventData added in v0.8.0

type ServiceCreateStartedEventData struct {
	EventData
}

type ServiceCreateStatusChangedEventData added in v0.8.0

type ServiceCreateStatusChangedEventData struct {
	EventData
}

type ServiceDeleteFinishedEventData added in v0.8.0

type ServiceDeleteFinishedEventData struct {
	EventData
}

type ServiceDeleteStartedEventData added in v0.8.0

type ServiceDeleteStartedEventData struct {
	EventData
}

type ServiceDeleteStatusChangedEventData added in v0.8.0

type ServiceDeleteStatusChangedEventData struct {
	EventData
}

type Shipyard

type Shipyard struct {
	ApiVersion string       `json:"apiVersion" yaml:"apiVersion"`
	Kind       string       `json:"kind" yaml:"kind"`
	Metadata   Metadata     `json:"metadata" yaml:"metadata"`
	Spec       ShipyardSpec `json:"spec" yaml:"spec"`
}

Shipyard describes a shipyard specification according to Keptn spec 0.2.0

func DecodeShipyardYAML added in v0.8.3

func DecodeShipyardYAML(shipyardYaml []byte) (*Shipyard, error)

DecodeShipyardYAML takes a shipyard string formatted as YAML and decodes it to Shipyard value

type ShipyardSpec

type ShipyardSpec struct {
	Stages []Stage `json:"stages" yaml:"stages"`
}

ShipyardSpec consists of any number of stages

type Stage

type Stage struct {
	Name      string     `json:"name" yaml:"name"`
	Sequences []Sequence `json:"sequences" yaml:"sequences"`
}

Stage defines a stage by its name and list of task sequences

type StatusType

type StatusType string
const (
	StatusSucceeded StatusType = "succeeded"
	StatusErrored   StatusType = "errored"
	StatusUnknown   StatusType = "unknown"
	StatusAborted   StatusType = "aborted"
)

type Task

type Task struct {
	Name           string      `json:"name" yaml:"name"`
	TriggeredAfter string      `json:"triggeredAfter,omitempty" yaml:"triggeredAfter,omitempty"`
	Properties     interface{} `json:"properties" yaml:"properties"`
}

Task defines a task by its name and optional properties

type Test added in v0.8.0

type Test struct {
	// Start indicates the starting timestamp of the tests
	Start string `json:"start"`
	// End indicates the end timestamp of the tests
	End string `json:"end"`
}

type TestFinishedDetails added in v0.8.0

type TestFinishedDetails struct {
	// Start indicates the starting timestamp of the tests
	Start string `json:"start"`
	// End indicates the end timestamp of the tests
	End string `json:"end"`
}

type TestFinishedEventData

type TestFinishedEventData struct {
	EventData
	Test TestFinishedDetails `json:"test"`
}

type TestSender added in v0.8.5

type TestSender struct {
	SentEvents []cloudevents.Event
	Reactors   map[string]func(event cloudevents.Event) error
}

EventSender fakes the sending of CloudEvents

func (*TestSender) AddReactor added in v0.8.5

func (s *TestSender) AddReactor(eventTypeSelector string, reactor func(event cloudevents.Event) error)

AddReactor adds custom logic that should be applied when SendEvent is called for the given event type

func (*TestSender) AssertSentEventTypes added in v0.8.5

func (s *TestSender) AssertSentEventTypes(eventTypes []string) error

AssertSentEventTypes checks if the given event types have been passed to the SendEvent function

func (*TestSender) Send added in v0.9.0

func (s *TestSender) Send(ctx context.Context, event cloudevents.Event) error

func (*TestSender) SendEvent added in v0.8.5

func (s *TestSender) SendEvent(event cloudevents.Event) error

SendEvent fakes the sending of CloudEvents

type TestStartedEventData

type TestStartedEventData struct {
	EventData
}

type TestStatusChangedEventData

type TestStatusChangedEventData struct {
	EventData
}

type TestTriggeredDeploymentDetails added in v0.8.0

type TestTriggeredDeploymentDetails struct {
	// DeploymentURILocal contains the local URL
	DeploymentURIsLocal []string `json:"deploymentURIsLocal"`
	// DeploymentURIPublic contains the public URL
	DeploymentURIsPublic []string `json:"deploymentURIsPublic,omitempty"`
}

type TestTriggeredDetails added in v0.8.0

type TestTriggeredDetails struct {
	// TestStrategy is the testing strategy and is defined in the shipyard
	TestStrategy string `json:"teststrategy" jsonschema:"enum=real-user,enum=functional,enum=performance,enum=healthcheck"`
}

type TestTriggeredEventData

type TestTriggeredEventData struct {
	EventData

	Test TestTriggeredDetails `json:"test"`

	Deployment TestTriggeredDeploymentDetails `json:"deployment"`
}

type Trigger added in v0.8.0

type Trigger struct {
	Event    string   `json:"event" yaml:"event"`
	Selector Selector `json:"selector,omitempty" yaml:"selector,omitempty"`
}

Trigger defines a trigger which causes a sequence to get activated

type WebHookConfig added in v0.10.0

type WebHookConfig struct {
	ApiVersion string            `yaml:"apiVersion"`
	Kind       string            `yaml:"kind"`
	Metadata   Metadata          `yaml:"metadata"`
	Spec       WebHookConfigSpec `yaml:"spec"`
}

func DecodeWebHookConfigYAML added in v0.10.0

func DecodeWebHookConfigYAML(webhookConfigYaml []byte) (*WebHookConfig, error)

DecodeWebHookConfigYAML takes a webhook config string formatted as YAML and decodes it to Shipyard value

type WebHookConfigSpec added in v0.10.0

type WebHookConfigSpec struct {
	Webhooks []Webhook `yaml:"webhooks"`
}

type WebHookSecretRef added in v0.10.0

type WebHookSecretRef struct {
	Key  string `yaml:"key"`
	Name string `yaml:"name"`
}

type Webhook added in v0.10.0

type Webhook struct {
	Type     string    `yaml:"type"`
	EnvFrom  []EnvFrom `yaml:"envFrom"`
	Requests []string  `yaml:"requests"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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