Operational guidance for AI agents working in the druid-operator repository.
| Path | Purpose |
|---|---|
apis/druid/v1alpha1/ | API types for Druid and DruidIngestion. |
controllers/druid/ | Reconciler logic for the Druid custom resource. |
controllers/ingestion/ | Reconciler logic for the DruidIngestion custom resource. |
pkg/ | Shared libraries such as the Druid API client, HTTP helpers, and utilities. |
config/ | Kustomize config for CRDs, RBAC, manager, samples, and deployment manifests. |
chart/ | Helm chart for the operator, including generated CRDs under chart/crds/. |
e2e/ | End-to-end test scripts and manifests. |
docs/ | Project docs, including generated API reference docs. |
hack/ | Boilerplate, templates, and tooling support files. |
make rat excludes some paths, including shell scripts, zz_generated.*.go, PROJECT, .asf.yaml, and some binary or checksum artifacts.make fmt and make vet when validating code changes.*_types.go, run both make manifests and make generate.apis/druid/v1alpha1/zz_generated.deepcopy.go is generated by make generate.config/crd/bases/*.yaml and config/rbac/role.yaml are generated by make manifests.chart/crds/*.yaml is generated output and must not be edited by hand.make manifests prepends Apache headers to the generated YAML files it owns. Do not add those headers manually.make help: list available targets.make test: runs manifests, generate, fmt, vet, envtest setup, and go test ./....make build: lighter local compile path, but still runs manifests, generate, fmt, and vet first.make docker-build: heavyweight verification plus image build because it depends on make test.make kind: bootstrap a local kind cluster.make e2e: run end-to-end tests; assumes a working kind cluster.make api-docs: regenerate docs/api_specifications/druid.md after CRD API changes.make rat: run the Apache RAT license audit.*_types.go, run make manifests and make generate.make fmt vet.make test.make rat.make api-docs..github/pull_request_template.md and ensure the change:*_types.go without regenerating manifests and DeepCopy code.config/crd/bases/, config/rbac/role.yaml, or chart/crds/.make docker-build as a cheap local smoke test.