⚠️ This is a work in progress proof of concept⚠️
Benthos Captain is a Kubernetes Operator to orchestrate Benthos pipelines.
Currently, there isn't a stable release of the operator. If you want to install the operator for development purposes, you can follow the developer guide.
The operator provides a custom resource for managing Benthos pipelines. Once you've got the operator running, you can deploy a Pipeline
resource to test it out:
---
apiVersion: captain.benthos.dev/v1alpha1
kind: Pipeline
metadata:
name: pipeline-sample
spec:
replicas: 1
config:
input:
generate:
mapping: |
let favorite_animal = env("FAVORITE_ANIMAL")
root = match $favorite_animal {
"cat" => file("/config/cat.txt")
"dog" => file("/config/dog.txt")
_ => file("/config/dog.txt")
}
interval: 5s
count: 0
pipeline:
processors:
- mapping: root = content().uppercase()
output:
stdout: {}
configFiles:
cat.txt: |
meow
dog.txt: |
woof
env:
- name: FAVORITE_ANIMAL
value: cat
Once the resource is deployed, you can monitor the state of the resource:
kubectl get pipelines
NAME READY PHASE REPLICAS AVAILABLE AGE
pipeline-sample true Running 2 2 62s