Documentation
¶
Index ¶
- Constants
- func Decode(in, out interface{}) error
- func EventDataAs(in models.KeptnContextExtendedCE, out interface{}) error
- func GetEventTypeForTriggeredEvent(baseTriggeredEventType, newEventTypeSuffix string) (string, error)
- func GetFinishedEventType(task string) string
- func GetInvalidatedEventType(task string) string
- func GetStartedEventType(task string) string
- func GetStatusChangedEventType(task string) string
- func GetTriggeredEventType(task string) string
- type ActionData
- type ActionFinishedEventData
- type ActionInfo
- type ActionStartedEventData
- type ActionTriggeredEventData
- type Approval
- type ApprovalFinishedEventData
- type ApprovalStartedEventData
- type ApprovalStatusChangedEventData
- type ApprovalTriggeredEventData
- type ConfigurationChange
- type ConfigureMonitoringFinishedEventData
- type ConfigureMonitoringStartedEventData
- type ConfigureMonitoringTriggeredEventData
- type ConfigureMonitoringTriggeredParams
- type Deployment
- type DeploymentFinishedData
- type DeploymentFinishedEventData
- type DeploymentStartedEventData
- type DeploymentStatusChangedEventData
- type DeploymentTriggeredData
- type DeploymentTriggeredEventData
- type Evaluation
- type EvaluationDetails
- type EvaluationFinishedEventData
- type EvaluationStartedEventData
- type EvaluationStatusChangedEventData
- type EvaluationTriggeredEventData
- type EventData
- func (e *EventData) GetLabels() map[string]string
- func (e *EventData) GetProject() string
- func (e *EventData) GetService() string
- func (e *EventData) GetStage() string
- func (e *EventData) SetLabels(labels map[string]string)
- func (e *EventData) SetProject(project string)
- func (e *EventData) SetService(service string)
- func (e *EventData) SetStage(stage string)
- type GetSLI
- type GetSLIFinished
- type GetSLIFinishedEventData
- type GetSLIStartedEventData
- type GetSLITriggeredEventData
- type HTTPEventSender
- type Helm
- type Keptn
- func (k *Keptn) GetShipyard() (*Shipyard, error)
- func (k *Keptn) SendCloudEvent(event cloudevents.Event) error
- func (k *Keptn) SendTaskFinishedEvent(data keptn.EventProperties, source string) (string, error)
- func (k *Keptn) SendTaskStartedEvent(data keptn.EventProperties, source string) (string, error)
- func (k *Keptn) SendTaskStatusChangedEvent(data keptn.EventProperties, source string) (string, error)
- type Metadata
- type ProblemDetails
- type ProjectCreateData
- type ProjectCreateFinishedEventData
- type ProjectCreateStartedEventData
- type ProjectDeleteData
- type ProjectDeleteFinishedEventData
- type ProjectDeleteStartedEventData
- type ReleaseData
- type ReleaseFinishedEventData
- type ReleaseStartedEventData
- type ReleaseStatusChangedEventData
- type ReleaseTriggeredEventData
- type Remediation
- type RemediationFinishedEventData
- type RemediationStartedEventData
- type RemediationStatusChangedEventData
- type RemediationTriggeredEventData
- type ResultType
- type RollbackData
- type RollbackFinishedEventData
- type RollbackStartedEventData
- type RollbackTriggeredEventData
- type SLIEvaluationResult
- type SLIFilter
- type SLIResult
- type SLITarget
- type Selector
- type Sequence
- type ServiceCreateFinishedEventData
- type ServiceCreateStartedEventData
- type ServiceCreateStatusChangedEventData
- type ServiceDeleteFinishedEventData
- type ServiceDeleteStartedEventData
- type ServiceDeleteStatusChangedEventData
- type Shipyard
- type ShipyardSpec
- type Stage
- type StatusType
- type Task
- type Test
- type TestFinishedDetails
- type TestFinishedEventData
- type TestStartedEventData
- type TestStatusChangedEventData
- type TestTriggeredDeploymentDetails
- type TestTriggeredDetails
- type TestTriggeredEventData
- type Trigger
Constants ¶
const ActionTaskName = "action"
const ApprovalAutomatic = "automatic"
ApprovalAutomatic indicates an automatic approval strategy
const ApprovalManual = "manual"
ApprovalManual indicates a manual approval strategy
const ApprovalTaskName = "approval"
const ConfigureMonitoringTaskName = "configure-monitoring"
const DefaultHTTPEventEndpoint = "http://localhost:8081/event"
const DeploymentTaskName = "deployment"
const EvaluationTaskName = "evaluation"
const GetSLITaskName = "get-sli"
const MAX_SEND_RETRIES = 3
const ProjectCreateTaskName = "project.create"
const ProjectDeleteTaskName = "project.delete"
const ReleaseTaskName = "release"
const RemediationTaskName = "remediation"
const RollbackTaskName = "rollback"
const ServiceCreateTaskName = "service.create"
const ServiceDeleteTaskName = "service.delete"
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 GetFinishedEventType ¶
GetFinishedEventType returns for the given task the name of the finished event type
func GetInvalidatedEventType ¶ added in v0.8.0
GetInvalidatedEventType returns for the given task the name of the finished event type
func GetStartedEventType ¶
GetStartedEventType returns for the given task the name of the started event type
func GetStatusChangedEventType ¶
GetStatusChangedEventType returns for the given task the name of the status.changed event type
func GetTriggeredEventType ¶
GetTriggeredEventType returns for the given task the name of the triggered event type
Types ¶
type ActionData ¶ added in v0.8.0
type ActionData struct {
// GitCommit indicates the action
GitCommit string `json:"gitCommit,omitempty"`
}
type ActionFinishedEventData ¶ added in v0.8.0
type ActionFinishedEventData struct {
EventData
Action ActionData `json:"action"`
}
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 ApprovalFinishedEventData ¶
type ApprovalFinishedEventData struct {
EventData
}
type ApprovalStartedEventData ¶
type ApprovalStartedEventData struct {
EventData
}
type ApprovalStatusChangedEventData ¶
type ApprovalStatusChangedEventData struct {
EventData
}
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"`
// GitCommit indicates the version which should be deployed
GitCommit string `json:"gitCommit"`
}
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 Evaluation ¶ added in v0.8.0
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"`
// GitCommit indicates the version which should be deployed
GitCommit string `json:"gitCommit"`
}
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) GetProject ¶ added in v0.8.0
func (*EventData) GetService ¶ added in v0.8.0
func (*EventData) SetProject ¶ added in v0.8.0
func (*EventData) SetService ¶ added in v0.8.0
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 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 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
}
HTTPEventSender sends CloudEvents via HTTP
func NewHTTPEventSender ¶ added in v0.8.0
func NewHTTPEventSender(endpoint string) (*HTTPEventSender, error)
NewHTTPEventSender creates a new HTTPSender
func (HTTPEventSender) SendEvent ¶ added in v0.8.0
func (httpSender HTTPEventSender) SendEvent(event cloudevents.Event) error
SendEvent sends a CloudEvent
type Keptn ¶ added in v0.8.0
func (*Keptn) GetShipyard ¶ added in v0.8.0
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
SendTaskStartedEvent 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
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 Metadata ¶
type Metadata struct {
Name string `json:"name" yaml:"name"`
}
Metadata contains meta-data of a resource
type ProblemDetails ¶
type ProblemDetails struct {
// State is the state of the problem; possible values are: OPEN, RESOLVED
State string `json:"State,omitempty jsonschema:"enum=open,enum=resolved"`
// ProblemID is a unique system identifier of the reported problem
ProblemID string `json:"ProblemID"`
// ProblemTitle is the display number of the reported problem.
ProblemTitle string `json:"ProblemTitle"`
// ProblemDetails are all problem event details including root cause
ProblemDetails json.RawMessage `json:"ProblemDetails"`
// PID is a unique system identifier of the reported problem.
PID string `json:"PID"`
// ImpactedEntity is an identifier of the impacted entity
// ProblemURL is a back link to the original problem
ProblemURL string `json:"ProblemURL,omitempty"`
ImpactedEntity string `json:"ImpactedEntity,omitempty"`
// Tags is a comma separated list of tags that are defined for all impacted entities.
Tags string `json:"Tags,omitempty"`
}
ProblemDetails contains information about a problem
type ProjectCreateData ¶ added in v0.8.0
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 ReleaseData ¶ added in v0.8.0
type ReleaseData struct {
// GitCommit indicates the version which should be deployed
GitCommit string `json:"gitCommit"`
}
type ReleaseFinishedEventData ¶
type ReleaseFinishedEventData struct {
EventData
Release ReleaseData `json:"release"`
}
type ReleaseStartedEventData ¶
type ReleaseStartedEventData struct {
EventData
}
type ReleaseStatusChangedEventData ¶
type ReleaseStatusChangedEventData struct {
EventData
}
type ReleaseTriggeredEventData ¶
type ReleaseTriggeredEventData struct {
EventData
Deployment DeploymentFinishedData `json:"deployment"`
}
type Remediation ¶
type Remediation struct {
// ActionIndex is the index of the action
ActionIndex int `json:"actionIndex"`
// ActionName is the name of the action
ActionName string `json:"actionName"`
}
RemediationStatus describes the status of a remediation
type RemediationFinishedEventData ¶
type RemediationFinishedEventData struct {
EventData
}
RemediationFinishedEventData describes a finished remediation
type RemediationStartedEventData ¶
type RemediationStartedEventData struct {
EventData
}
RemediationTriggeredEventType is a CloudEvent to indicate the start of a remediation
type RemediationStatusChangedEventData ¶
type RemediationStatusChangedEventData struct {
EventData
// Remediation indicates the result
Remediation Remediation `json:"remediation"`
}
RemediationStatus describes the result and status of a remediation
type RemediationTriggeredEventData ¶
type RemediationTriggeredEventData struct {
EventData
// Problem contains details about the problem
Problem ProblemDetails `json:"problem"`
}
RemediationTriggeredEventData is a CloudEvent for triggering remediations
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 Selector ¶ added in v0.8.0
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
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" )
type Task ¶
type Task struct {
Name string `json:"name" yaml:"name"`
Properties interface{} `json:"properties" yaml:"properties"`
}
Task defines a task by its name and optional properties
type TestFinishedDetails ¶ added in v0.8.0
type TestFinishedEventData ¶
type TestFinishedEventData struct {
EventData
Test TestFinishedDetails `json:"test"`
}
type TestStartedEventData ¶
type TestStartedEventData struct {
EventData
}
type TestStatusChangedEventData ¶
type TestStatusChangedEventData struct {
EventData
}
type TestTriggeredDeploymentDetails ¶ added in v0.8.0
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"`
}