Thanks for considering a contribution. Orkano is maintained by one person in their spare time (~10–15 hrs/week); everything below is shaped by that reality.
git clone https://github.com/orkanoio/orkano && cd orkano
make all # lint + test + build; must be green before you startThe pinned Go toolchain downloads automatically; golangci-lint installs into ./bin. Alternatively, open the repo in the provided devcontainer; it runs make all on create.
Every commit must carry a Signed-off-by line certifying the Developer Certificate of Origin:
git commit -sPRs with unsigned commits cannot be merged. No CLA. See ADR-0002.
- One issue per PR; small PRs get reviewed, large ones wait.
- Reference the issue in the description, and note any implementation calls you made.
- Prefer integration tests over heavily mocked unit tests, especially around the Kubernetes API.
- Match the existing code style: idiomatic Go,
gofmt, errors wrapped with%w, contexts threaded through, comments only where the why is non-obvious. - Anything touching architecture, public API, security posture, or scope needs an ADR. Open an issue to discuss before writing code.
Doctor checks are the designated good-first-issue surface: each check is a small, self-contained probe with a clear contract (api/check). Look for good-first-issue labels.
- Check the out-of-scope list at the end of "What you get"; feature requests outside v1 scope will be closed with a pointer there.
- Search existing issues, including closed ones.
- For bugs: include the Orkano commit/version, platform (k3s or BYO, amd64/arm64), and what you expected.
- For security issues: never open a public issue. See SECURITY.md.
kind/{bug,feature,docs,security,question} · area/{api,operator,receiver,dashboard,cli,build,ci,security} · triage/{needs-triage,accepted} · good-first-issue · help-wanted · blocked
Triage happens roughly weekly, not 24/7. A slow response means the maintainer is busy, not that your contribution is unwelcome.