Community
Where to ask questions, how to contribute, and how the project is governed. GitHub Discussions is the front door.
k3sm is an early, small project with a discussions board, an issue tracker, and an email address; all three are read.
Start with Discussions#
GitHub Discussions is the front door. Questions, “is this the right tool for what I am doing”, design arguments, and half-formed ideas all belong there. Answering a question in the open is worth more than answering it privately, so please prefer it to email.
Use the issue tracker when you have a specific reproducible bug or a concrete change to propose. Issues live in the repository the problem is in:
| repository | file an issue here when |
|---|---|
| k3sm | the CLI, install, the control plane, the node, packaging, and anything you are not sure how to place |
| runtimed | Pod execution, the Seatbelt sandbox, images, resource limits |
| darwin-net | Pod IPs, Services, DNS, the multi-Mac mesh |
| apis | the shared gRPC, CRD, and Go contracts |
Security problems do not go in any of those. See security.
Before You Open Anything#
Two pages save everyone time. limitations lists the behaviors that diverge by
design: restartPolicy, CPU limits, NetworkPolicy, how volume mounts resolve without a mount
namespace, which addresses a Service answers on. Read it and you can tell a bug from a documented trade.
troubleshooting covers the failures that come up most often during
bring-up.
If a documented trade seems wrong to you, open a discussion. If a documented limitation surprised you, open an issue saying the page did not warn you clearly enough.
Contributing#
Contributions are welcome, and the requirements are written down.
The code is four Go repositories that build together as one Go workspace: apis (the shared
contracts), runtimed, darwin-net, and k3sm. They target Apple silicon on macOS 26 or later
with Go 1.26. k3sm and runtimed build with CGO_ENABLED=1, because they call macOS system
interfaces through cgo; apis and darwin-net are pure Go. Each repository’s hack/ci.sh runs the
checks a commit must pass: gofmt, go vet, build, tests, the license-header check, and a pinned
staticcheck. Each repository has its own contributing guide:
k3sm,
runtimed,
darwin-net, and
apis.
- CONTRIBUTING covers the build and test commands, the commit-message format, and what a reviewable pull request looks like.
- Every commit needs a Developer Certificate of Origin sign-off (
git commit -s). An unsigned commit does not merge. - The Go conventions every repository shares are checked in, identical across all four, and linked
from
CONTRIBUTING. - Docs count. A correction to a page that was wrong, unclear, or too generous about what k3sm does is as valuable as code here.
Good first contributions: reproduce a documented limitation on your own hardware and say what you saw; improve a troubleshooting entry; port a real workload and write up where it broke.
Governance and Conduct#
- GOVERNANCE sets out roles, decision-making, and how maintainers are added. It describes a maintainer-council model the project is growing into, and the thresholds become meaningful as the council grows.
- MAINTAINERS currently lists a single founding maintainer, @kitsumiko.
- The Code of Conduct governs all participation, in every repository and every discussion. Report a violation to kitsumiko@k3sm.io.
Contact#
- Write to kitsumiko@k3sm.io for anything general.
- The maintainer is @kitsumiko on GitHub.
- Report a vulnerability through security rather than by email.
k3sm is Apache-2.0 licensed. If you want to help fund the hardware the project needs, see support.