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"` }