An OpenEverest provider plugin for Redpanda — a Kafka-compatible streaming platform.
Wraps the Redpanda Operator to provision and manage Redpanda clusters via the standard OpenEverest Instance API.
Redpanda and its operator are licensed under the Business Source License 1.1 (BSL).
This provider plugin (the Go code wrapping the operator) is Apache 2.0. Users who deploy Redpanda through this provider are responsible for complying with Redpanda's BSL terms.
If you need a fully open-source Kafka-compatible broker, consider provider-strimzi-kafka (Apache Kafka + Strimzi, both Apache 2.0).
- Kafka-compatible API — drop-in replacement for Kafka clients (port 9092)
- Built-in Schema Registry (port 8081) — no extra operator needed
- Built-in Admin API (port 9644) —
rpkand HTTP clients - No ZooKeeper — Redpanda uses its own Raft-based metadata store
- Two topologies:
standalone— single broker, development/testingreplicated— 3+ brokers, Raft quorum, production HA
| Redpanda | Image | Default |
|---|---|---|
| 25.1.8 | docker.redpanda.com/redpandadata/redpanda:v25.1.8 |
✅ |
| 24.3.12 | docker.redpanda.com/redpandadata/redpanda:v24.3.12 |
- OpenEverest v2 (provider plugin architecture, spec-001)
- Redpanda Operator installed in the target namespace
helm repo add redpanda https://charts.redpanda.com && helm repo update
helm install redpanda-operator redpanda/operator \
--namespace redpanda-system \
--create-namespace \
--set watchNamespaces='{everest-dev}'helm install provider-redpanda charts/provider-redpanda \
--namespace everest-dev \
--create-namespaceapiVersion: core.openeverest.io/v1alpha1
kind: Instance
metadata:
name: my-redpanda
namespace: everest-dev
spec:
provider: provider-redpanda
topology: standalone
components:
engine:
replicas: 1
resources:
limits:
cpu: "1"
memory: 2Gi
storage:
size: 20GiapiVersion: core.openeverest.io/v1alpha1
kind: Instance
metadata:
name: my-redpanda-ha
namespace: everest-dev
spec:
provider: provider-redpanda
topology: replicated
components:
engine:
replicas: 3
resources:
limits:
cpu: "2"
memory: 4Gi
storage:
size: 50GiOnce the cluster is Ready, OpenEverest exposes:
| Field | Value |
|---|---|
host |
<instance>.<namespace>.svc |
port |
9092 (Kafka API) |
uri |
<instance>.<namespace>.svc:9092 |
adminAPI |
http://<instance>.<namespace>.svc:9644 |
schemaRegistry |
http://<instance>.<namespace>.svc:8081 |
OpenEverest Instance CR
│
▼
provider-redpanda
(this plugin)
│ creates
▼
Redpanda CR (cluster.redpanda.com/v1alpha2)
│
▼
Redpanda Operator
│ reconciles
▼
Redpanda StatefulSet + Services
# Build
make build
# Run locally (against a live cluster)
make run
# Lint
make lint
# Generate RBAC + provider spec
make generatecmd/provider/main.go # Entry point
internal/
common/spec.go # Shared constants (GVK, ports, topology names)
provider/
provider.go # Validate / Sync / Status / Cleanup
rbac.go # Kubebuilder RBAC markers for Redpanda CRDs
definition/
provider.yaml # Provider identity (name, component types)
versions.yaml # Supported Redpanda versions and images
topologies/
standalone/ # Single-broker topology
replicated/ # 3-broker HA topology
charts/provider-redpanda/ # Helm chart for deploying the provider
examples/ # Example Instance CRs
- openeverest/openeverest#2335 — tracking issue
- OpenEverest Provider SDK
- Provider spec-001
provider-strimzi-kafka— Apache 2.0 alternative