Contributing¶
Kubernaut is an open-source project. Contributions are welcome.
Getting Started¶
The main development repository is at github.com/jordigilh/kubernaut.
Prerequisites¶
- Go 1.25+
- Kubernetes cluster (Kind recommended)
- kubectl with cluster-admin access
- Make for build automation
Clone and Build¶
Run Tests¶
# Unit tests
make test-tier-unit
# Integration tests (requires Kind cluster)
make test-integration-gateway
# E2E tests (creates a full Kind cluster)
make test-e2e-gateway
Development Standards¶
Testing¶
- Framework: Ginkgo/Gomega BDD
- Methodology: TDD (RED → GREEN → REFACTOR)
- Coverage target: >=80% per tier (unit, integration, E2E)
Code Quality¶
- All errors must be handled and logged
- Structured error types from
internal/errors/ - No
interface{}/any— use specific types - CamelCase for YAML config fields (per CRD_FIELD_NAMING_CONVENTION)
Pull Request Process¶
- Create a feature branch from
main - Implement with comprehensive tests (TDD)
- Update relevant documentation
- Submit PR for code review
Documentation Contributions¶
This documentation site is maintained at github.com/jordigilh/kubernaut-docs.
Local Preview¶
Then open http://localhost:8000.
Structure¶
docs/getting-started/— Installation and onboardingdocs/user-guide/— Operator-facing guidesdocs/architecture/— Technical deep-divesdocs/api-reference/— CRD and API specificationsdocs/operations/— Monitoring and troubleshooting
Links¶
- GitHub Issues — Bug reports and feature requests
- GitHub Discussions — Questions and ideas
- Developer Guide — Detailed development setup