Expand description
Crabka Kubernetes operator library.
The binary entry point is src/main.rs; this library exposes the
reusable pieces (controllers, CRD types, telemetry, leader election)
so they can be unit-tested without spinning up the binary.
§Runtime config scope
use crabka_operator::config::OperatorConfig;
config.watch_namespaces = vec!["kafka-a".into(), "kafka-b".into()];
assert_eq!(config.watched().unwrap().len(), 2);
config.watch_namespaces.clear();
assert!(config.watched().is_none());Modules§
- config
- context
- controller
- Controllers (reconcilers) for Crabka CRDs. Each kind lives in its own
submodule and shares helpers via
common(cluster-level rendering, SSA helpers, label / owner-ref builders, status derivation). - crd
- CRD type definitions. Each kind lives in its own submodule and is the
single source of truth for both the runtime types and the generated
CRD YAML manifest (see
gen_crds). - gen_
crds - health
- leader_
election - rebalancer_
client - Connect-RPC client for the standalone
crabka-rebalancerservice. - run
runsubcommand entry point.- telemetry
- version
- Kafka version + metadata-version model for upgrade orchestration.