Thanks for your interest in Kafscale! This project follows Apache 2.0 conventions for licensing and contributions.
- Use the issue tracker to discuss larger changes.
- Keep changes focused and add tests for non-trivial logic.
- Contributions, issues, and code reviews are handled in English so the community can participate globally.
- Development happens on
mainvia PRs; releases are tagged, but the repository always includes interim commits between releases.
We track bugs and enhancements in GitHub Issues:
- Report a bug: https://github.com/KafScale/platform/issues/new?template=bug_report.md
- Request an enhancement: https://github.com/KafScale/platform/issues/new?template=feature_request.md
- Browse the public archive: https://github.com/KafScale/platform/issues
We aim to acknowledge new bug reports and enhancement requests within 7 days.
All source and documentation files must include the Apache 2.0 license header used in this repo. Generated files under pkg/gen/ are exempt and should not be edited manually. JSON files under docs/grafana/ are excluded because the format does not support comments.
The CI workflow checks for missing headers and fails if new files are added without them.
Pull requests must include strict test coverage for the changes they introduce. At a minimum:
- Add or extend unit tests for all non-trivial logic.
- Run
make commit-checkbefore opening or updating a PR. - Run the relevant e2e suite(s). Broker changes should run:
make test-produce-consumemake test-consumer-group(if group behavior is affected)
- Extend e2e coverage when fixing bugs so regressions are caught earlier.
CI will run go test ./... and enforce a coverage floor.
Kafscale builds and tests with FLOSS tools only:
- Build: Go toolchain + Makefiles (
make build) - Tests:
go test,go vet, Go race detector (make test) - CI: GitHub Actions workflows (
.github/workflows/ci.yml)
Common invocations:
make buildmake testmake commit-checkmake test-full
The policy above (tests for new functionality) is enforced in code review and CI.
We run go vet and the Go race detector in CI (make test) and treat warnings as
fix‑before‑merge. Optional linting is available via make lint for contributors
with golangci-lint installed.
Contributions must follow the coding standards described in docs/development.md
(see the "Coding Standards" section).
Each release should include a human-readable note in docs/releases/ that summarizes
major changes and explicitly lists any known CVE fixes (or "None").
See docs/development.md for build/test commands, environment variables, and local setup.
Before submitting a PR, run make commit-check and fix any reported issues.
By participating, you agree to follow CODE_OF_CONDUCT.md.