Skip to content

charlie-haley/benthos-operator

Repository files navigation

benthos-operator

Kubernetes operator that acts as a control plane for managing the lifecycle of Benthos pipelines.

⚠️ this project is currently in a pre-alpha state.

✨Features

  • ♻️ Complete lifecycle management of Benthos pipelines
  • ⚙️ Automated rollout on config changes
  • ⚖️ Configurable scaling

Getting Started

The operator is still in very early stages, there's currently no Helm Chart or released Docker image. However, it does work (I promise), just don't use it in production....

If you'd like to test it out, you can follow the Developer Guide to get the operator deployed.

Once it's running, you can deploy a pipeline with the following Custom Resource:

---
apiVersion: streaming.benthos.dev/v1alpha1
kind: BenthosPipeline
metadata:
  name: benthospipeline-sample
spec:
  replicas: 2
  config: |
    input:
      generate:
        mapping: root = "woof"
        interval: 5s
        count: 0

    pipeline:
      processors:
        - mapping: root = content().uppercase()

    output:
      stdout: {}

Once you've deployed your pipeline resource, you can check the current state of the pipeline.

kubectl get benthospipelines

NAME                     READY   PHASE     REPLICAS   AVAILABLE   AGE
benthospipeline-sample   true    Running   2          2           62s

The operator will also perform a rollout of the pods when the config is changed.

NAME                     READY   PHASE      REPLICAS   AVAILABLE   AGE
benthospipeline-sample   true    Updating   15         12          61m

Contributing

If you'd like to contribute, please take a look at our outstanding issues

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published