Kubernetes Native Operator
Deploy, scale, and rebalance Krabka clusters natively on Kubernetes. The operator watches custom resource definitions (CRDs in group krabka.io/v1alpha1) to automate node pool provisioning, rolling updates, user auth, and partition balancing.
Declarative Custom Resources (krabka.io/v1alpha1)
The operator provides a comprehensive set of CRDs for end-to-end declarative management via GitOps (ArgoCD / Flux):
Declares cluster topology, storage backends, listeners, quotas, and authorizers.
Dedicated pools of broker or controller nodes with distinct CPU/RAM and disk sizing.
Declares partitions, replication factors, and segment retention configurations.
Automates SCRAM-SHA-512 credential generation and ACL authorization rules.
Plans and executes automated partition migration to eliminate broker CPU and disk skew.
Provisions PostgreSQL CDC and external connectors in the worker runtime.
Sample Kafka Cluster CRD
apiVersion: krabka.io/v1alpha1
kind: Kafka
metadata:
name: streaming-production
namespace: streaming
spec:
replicas: 5
version: "1.0.0"
storage:
tiered:
enabled: true
bucket: "s3://krabka-cloud-lake"
region: "us-west-2"
resources:
limits:
cpu: "4"
memory: "2Gi"
requests:
cpu: "1"
memory: "512Mi"
listeners:
- name: tls-internal
port: 9092
type: internal
tls: true
- name: external-loadbalancer
port: 9094
type: loadbalancer Zero-Downtime Upgrades & Automated Rebalancing
When upgrading versions or resizing node pools, the operator performs phased rolling restarts. It verifies ISR health, orchestrates clean leader partition handoffs, and ensures zero dropped produce requests during pod cycling.