Developer Documentation
April 18, 2026 ยท View on GitHub
This documentation is for developers and contributors who want to understand the Kepler Operator codebase, contribute code, or maintain the project.
Looking to use Kepler Operator? See the User Guides instead.
Audience
This documentation is for:
- Contributors adding features or fixing bugs
- Maintainers managing releases and project infrastructure
- Developers wanting to understand internal architecture
- Anyone building on or extending Kepler Operator
Code Organization
๐ kepler-operator
โ
โโโ .github ๐ โ๏ธ GitHub Actions workflows and CI/CD
โ โโโ workflows
โ
โโโ api ๐ ๐ Kubernetes API types
โ โโโ v1alpha1 CRDs (Kepler, PowerMonitor, etc)
โ
โโโ bundle ๐ ๐ฆ Autogenerated OLM bundle
โ โโโ manifests
โ โโโ metadata
โ โโโ tests
โ
โโโ cmd ๐ ๐ Main entrypoint
โ โโโ main.go Operator manager CLI
โ
โโโ config ๐ โ๏ธ Kustomize configs (source of truth for manifests)
โ โโโ certmanager Cert-manager for webhooks
โ โโโ crd CRD definitions
โ โโโ default Main kustomization overlays
โ โโโ manager Manager deployment config
โ โโโ manifests OLM bundle kustomization
โ โโโ network-policy Network policies
โ โโโ prometheus ServiceMonitor configs
โ โโโ rbac RBAC resources
โ โโโ samples ๐ Sample CRs for users
โ โโโ scorecard Operator scorecard tests
โ โโโ webhook Webhook configurations
โ
โโโ docs
โ โโโ design ๐ ๐ Architecture and design docs
โ โโโ developer ๐ ๐ฉโ๐ป Developer/contributor guides
โ โโโ logo Project logos and assets
โ โโโ user ๐ ๐ User guides and documentation
โ
โโโ hack ๐ ๐ ๏ธ Development scripts and tools
โ โโโ crds CRD utilities
โ โโโ dashboard Grafana dashboard assets
โ โโโ helm Helm chart tooling and validation
โ โโโ monitoring Monitoring setup scripts
โ โโโ reports Report generation utilities
โ
โโโ internal ๐ ๐ Private application code
โ โโโ config Operator configuration management
โ โโโ controller Reconciler implementations
โ
โโโ manifests ๐ ๐ฆ Distribution manifests
โ โโโ helm Helm chart for operator deployment
โ
โโโ must-gather ๐ ๐ Debugging and diagnostics collection
โ
โโโ pkg ๐ ๐ Public reusable packages
โ โโโ components Component manifest builders (PowerMonitor, etc)
โ โโโ reconciler Generic reconciliation framework
โ โโโ utils Utility functions (k8s, test helpers)
โ โโโ version Version information
โ
โโโ tests ๐ ๐งช Test suites
โโโ e2e End-to-end tests
โโโ testdata Test fixtures and data
โโโ utils Test utilities and helpers
How do I get started?
-
Knowledge of Kubernetes
- API
- Controller Generator
-
Kube Builder Book: https://book.kubebuilder.io/
-
Operator SDK Getting Started: https://sdk.operatorframework.io/docs/building-operators/golang/tutorial/
-
Kubernetes Programming Book: https://www.oreilly.com/library/view/programming-kubernetes/9781492047094/
Developer Guides
- E2E Tests - Test architecture, writing new tests, and CI integration
- Multi Architecture Guide - Building for ARM64 and multi-arch container images
- Helm Chart Maintenance - How to update and maintain the Helm chart
- Pre-commit Hooks - Setting up and using pre-commit hooks