Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. Bonny

Bonny

MITElixirv1.5.0

An Elixir framework for building Kubernetes operators, controllers, and custom schedulers.

GitHubGitHub
431 stars31 forks0 contributors

What is Bonny?

Bonny is an Elixir-based framework for building Kubernetes operators, controllers, and custom schedulers. It allows developers to extend the Kubernetes API by creating custom resources and controllers that manage application-specific logic on a Kubernetes cluster. The framework provides mix tasks and configuration helpers to streamline operator development.

Target Audience

Elixir developers and DevOps engineers who need to build custom Kubernetes operators or extend Kubernetes functionality for specific applications or infrastructure needs.

Value Proposition

Developers choose Bonny because it brings Elixir's concurrency and fault-tolerance to Kubernetes operator development, offering a productive and structured way to create robust extensions with built-in tooling and telemetry.

Overview

The Elixir based Kubernetes Development Framework

Use Cases

Best For

  • Building custom Kubernetes operators for application-specific management
  • Extending the Kubernetes API with Elixir-based controllers
  • Creating custom schedulers for specialized workload placement
  • Developing operators that encode domain knowledge into Kubernetes resources
  • Managing custom resource definitions (CRDs) with Elixir tooling
  • Running operators outside a cluster for development and testing

Not Ideal For

  • Teams standardized on Go or Java for Kubernetes development, as Bonny is Elixir-exclusive
  • Projects requiring a large ecosystem of pre-built operators and community plugins, since Elixir's Kubernetes tooling is less mature
  • Organizations with no existing Elixir infrastructure or expertise, due to the significant language and toolchain learning curve
  • Simple automation tasks that could be handled with basic Kubernetes manifests or Helm charts, without needing a full operator framework

Pros & Cons

Pros

Streamlined Bootstrapping

Mix tasks like `mix bonny.init` and `mix bonny.gen.manifest` automate operator setup and manifest generation, reducing initial boilerplate as shown in the Getting Started guide.

Built-in Telemetry

Emits comprehensive metrics for reconciler, watcher, scheduler, and task events via the Telemetry library, enabling easy monitoring and debugging without extra setup.

Elixir Concurrency Leverage

Utilizes Elixir's actor model and fault-tolerance for building reliable, concurrent controllers, aligning with the philosophy of encoding domain knowledge into robust systems.

Configuration and RBAC Support

Provides ready-to-use configuration for Kubernetes connections, API groups, and service accounts, with examples in the generated `config/bonny.exs` file.

Cons

Niche Language Lock-in

Tied exclusively to Elixir, limiting adoption for teams using more common Kubernetes languages like Go, and reducing community support compared to frameworks like Operator SDK.

Ecosystem and Documentation Gaps

The README notes example operators are built with older versions, indicating potential inconsistencies and a smaller pool of up-to-date resources for troubleshooting.

Complex Cluster Integration

Running outside a cluster requires manual RBAC setup and kubeconfig management, which can be error-prone and is admitted as not recommended for production.

Frequently Asked Questions

Quick Stats

Stars431
Forks31
Contributors0
Open Issues17
Last commit2 days ago
CreatedSince 2018

Tags

#kubernetes-operator#elixir#api-extension#kubernetes#k8s#operators#custom-resource-definitions#mix-tasks#erlang#cloud-native

Built With

K
Kubernetes
E
Elixir

Included in

Elixir13.1k
Auto-fetched 1 day ago

Related Projects

libclusterlibcluster

Automatic cluster formation/healing for Elixir applications

Stars2,153
Forks203
Last commit1 year ago
ex_awsex_aws

A flexible, easy to use set of clients AWS APIs for Elixir

Stars1,337
Forks571
Last commit12 days ago
erlclouderlcloud

AWS APIs library for Erlang (Amazon EC2, S3, SQS, DDB, ELB and etc)

Stars651
Forks444
Last commit8 months ago
awsaws

AWS clients for Elixir

Stars595
Forks135
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub