Skip to main content

Playbook Events

Playbook events are triggers that cause a Playbook to run. Events are triggered when specific activity on Mission Control occurs. For example: you can trigger a Playbook to run when a component goes unhealthy.

Multiple playbooks could be listening to the same event and likewise a playbook can be listening to multiple events. If a playbook is listening on multiple events then it is triggered when any of those events occur.

Types

At this point, there's only support for events on canaries and components.

Canary events

Canary events relate to activities on health checks.

EventDescription
passedWhen a previously failed check passes
failedWhen a previously passed check fails

Example

apiVersion: mission-control.flanksource.com/v1
kind: Playbook
metadata:
name: notify-passing-http-checks
spec:
description: Notify when any HTTP check passes
on:
canary:
- event: passed
filter: check.type == 'http'
actions: ...

Component events

Component events relate to activities on Topology components.

EventDescription
healthywhen a component becomes healthy
unhealthywhen a component becomes unhealthy
infowhen a component has info
warningwhen a component has warning
errorwhen a component has error

Example

apiVersion: mission-control.flanksource.com/v1
kind: Playbook
metadata:
name: notify-unhealthy-database-component
spec:
description: Notify when a database component goes unhealthy
on:
component:
- event: unhealthy
filter: component.type == 'database'
labels:
industry: e-commerce
actions: ...

Filtering Events

Filters can give you fine-grained control over the events that can trigger the playbook.

FieldDescriptionSchemeRequired
eventEvent to listen for.stringtrue
filterCEL expression for additional event filtering. (See Expressions)stringtrue
labelsLabels specifies the key-value pairs that the associated event's resource must match.map[string]stringfalse