You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- adds new DB entities Foundation and StaffMember so staff are stored
separately from maintainers and linked to a foundation (CNCF or LF):
model/main.go:134.
- Bootstrap now migrates and seeds staff data: - Auto-migrates
Foundation + StaffMember: db/bootstrap.go:56 - Loads staff from
Staff!A:F and associates each row with a Foundation: db/bootstrap.go:242
- Generalized readSheetRows to accept an explicit sheet range and
configurable “carry-forward” columns: db/bootstrap.go:342
- Fixed a GORM migration bug by defining FoundationOfficer.Services as
an explicit many-to-many relationship: model/main.go:203.
- Authorization updates for onboarding issue commands:
- Added SQLStore.IsStaffGitHubAccount to check if a GitHub login is a
staff member: db/store_impl.go:195
- /label can be run by staff as well as maintainers: onboarding/
server.go:323 - /fossa-invite accepted can be run by staff as well as
maintainers/ assignees (via a shared helper): onboarding/server.go:70,
onboarding/server.go:137 - Tests updated/added to include staff models +
verify staff authorization: onboarding/test_helpers.go:22, onboarding/
server_test.go:410
Copy file name to clipboardExpand all lines: AGENTS.MD
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,4 +34,19 @@ This document gives agents instructions and tips for working in this repository.
34
34
- Keep changes minimal and focused. Match existing Go style and module layout.
35
35
- Avoid unrelated refactors in the same change. Update docs/Makefile if deployment surface changes.
36
36
- Use the "The Friends method" of writing commit messages to describe patches where each commit message is notionally pre-fixed with the sentence, "This is the change that " and then the commit message continues this sentence, for example, (this is the change that) "adds the repo being monitored to log output at loglevel INFO"
37
+
38
+
## CRD Workflow (Generated)
39
+
- CRDs and deepcopy files are generated; do not hand-edit `config/crd/bases/*.yaml`, `config/kcp/*.yaml`, or `apis/maintainers/v1alpha1/zz_generated.deepcopy.go`.
40
+
- When changing existing CRDs: update Go types and kubebuilder markers in `apis/maintainers/v1alpha1/types.go`, then regenerate.
41
+
- When adding new CRDs: add the new type + kubebuilder markers in `apis/maintainers/v1alpha1/types.go`, include it in `addKnownTypes`, then regenerate.
42
+
- Regeneration command: `make kcp-generate` (requires `controller-gen` and `apigen`; run `make kcp-install` if needed).
43
+
- CRDs are generated from `apis/maintainers/v1alpha1/types.go`, not from `model/main.go`. DB model changes do not automatically reflect in CRDs; update API types explicitly when you want schema changes exposed.
44
+
45
+
## Model → CRD Exposure Checklist
46
+
- Decide whether the DB change should be exposed via CRD or remain internal.
47
+
- If exposed, update `apis/maintainers/v1alpha1/types.go` (fields + kubebuilder markers). Add to `addKnownTypes` for new resources.
48
+
- Update the sync/mapping layer to populate the new fields (e.g., `cmd/sync/main.go` or store accessors).
49
+
- Regenerate artifacts: `make kcp-generate`.
50
+
- Review generated diffs under `config/crd/bases/` and `config/kcp/`.
51
+
- Run CI (at least `make ci-local` or lint + tests).
0 commit comments