5. Cluster Shell
Scripting
Flow control that wraps the execution of
containers, but is not opinionated about what
the containers do, or how they run.
6. ► Asynchronous, event-driven scripting
► Chains together containers to create
workflows
► Uses Kubernetes as workload execution
substrate
► Users do not have to interact with
Kubernetes directly
7.
8. Use Cases
Anything you might like to automate:
► CI / CD
► GitOps
► ChatOps
► Code scans / security audits
► Report generation
► And more…
9. Events
► Originate from external systems
► Indicate something has occurred
► Enter Brigade via event gateways
15. Workers
► Embed JavaScript or TypeScript or…
► Include git coordinates for a script
► Run in a container
► Handle events
► Either directly in script or...
► May coordinate multiple jobs to
implement complex workflows
18. Jobs
► Optionally created by workers to handle
discrete tasks
► Can be executed in serial or concurrently
(subject to scheduling constraints)
► Run in containers
► Based on any OCI image
► ”Sidecar” containers supported
21. Other
Features
► Git integration– build and test source
code
► Shared volumes– pass artifacts from job to
job
► Configurable limits:
► Max concurrent workers
► Max concurrent jobs
► Fair scheduling
► User authentication options:
► Any OpenID Connect identity
provider
► GitHub
23. Comparison
to Argo
Brigade and Argo address similar use cases and
both model workflows as assemblies of containers,
but they approach the problem space differently:
► Argo:
► Emphasizes workflows.
Events are an add-on (Argo Events).
► Is fully k8s-native.
Workflows are Kubernetes resources.
► Brigade:
► Emphasizes events.
Events do not describe workflows -- they only indicate something
occurred. Subscribed projects handle events as they see fit.
► Uses k8s as an implementation detail.
Workflows are scripted and tooling fully abstracts Kubernetes, so
teams can build automation that executes in Kubernetes without
being experts – and without every team member having direct
access to the cluster.