A file for guiding coding agents.
- Build:
go build ./...make buildbuilds the KWOK controller image withko— only needed for deploying to a cluster, not for checking compilation.
- Test:
make test- Tests are Ginkgo suites; the full run is slow. Prefer targeting a package:
go test ./pkg/controllers/disruption/... -race - Focus a single spec:
FOCUS="<spec text>" make testor pass--ginkgo.focus="<spec text>"togo test.
- Tests are Ginkgo suites; the full run is slow. Prefer targeting a package:
- Lint/codegen:
make verify- Runs
go generate, CRD validation scripts,go vet, and golangci-lint. Fails if it leaves a diff, so run it after changing APIs inpkg/apis.
- Runs
- Everything (pre-commit):
make presubmit - E2E:
TEST_SUITE=<suite> make e2etests(needs a cluster with the KWOK provider installed:make install-kwok apply)
- CRD APIs (NodePool, NodeClaim):
pkg/apis/ - Core controllers (provisioning, disruption, etc.):
pkg/controllers/ - Cloud provider interface + fake:
pkg/cloudprovider/ - Scheduling library:
pkg/scheduling/, cluster state:pkg/state/ - Test fixtures and expectation helpers:
pkg/test/ - KWOK reference provider (local dev):
kwok/ - E2E suites:
test/suites/
- Never create an issue.
- Never create a PR.
- Never create or reply to comments.