benthos-operator

module
v0.0.0-...-0a1a6a6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2023 License: MIT

README

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

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the streaming v1alpha1 API group +kubebuilder:object:generate=true +groupName=streaming.benthos.dev
Package v1alpha1 contains API Schema definitions for the streaming v1alpha1 API group +kubebuilder:object:generate=true +groupName=streaming.benthos.dev
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL