Skip to main content

operator-api-standards

Standards, conventions, and dos/don'ts for adding or changing CRD types in the operator API (`operator/api/v1`). Use this skill whenever editing or creating files under `operator/api/v1/` (any *_types.go), adding/removing/renaming a CRD field, introducing a new Kind/CRD, adding kubebuilder validation or defaulting markers, or designing an overrides/configuration field. Trigger even if the user doesn't mention "standards" — any change to operator CRD types should follow these conventions.

Quellinformationen

Repository
projectcalico/calico
Letzte Quellaktivität
3. September 2026 um 01:31
Erkannte Sprache von SKILL.md
Englisch
Sterne
7.403
Forks
1.620

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
operator-api-standards
description
Standards, conventions, and dos/don'ts for adding or changing CRD types in the operator API (`operator/api/v1`). Use this skill whenever editing or creating files under `operator/api/v1/` (any *_types.go), adding/removing/renaming a CRD field, introducing a new Kind/CRD, adding kubebuilder validation or defaulting markers, or designing an overrides/configuration field. Trigger even if the user doesn't mention "standards" — any change to operator CRD types should follow these conventions.
# Operator API Standards When adding or changing CRD types under `operator/api/v1/`: 1. **Read [`operator/docs/api_design.md`](../../../operator/docs/api_design.md)** — the API design principles plus the concrete Go/kubebuilder coding conventions (optional vs required fields, the `Enabled`/`Disabled` enum idiom, validation/CEL markers, the top-level Kind marker block, shared-type reuse, the Deployment override pattern) and the end-of-file **checklist**. Apply all of it, and run the checklist before you finish. 2. **Read [`DESIGN.md`](../../../operator/DESIGN.md)** for related rules ("Respect User Input", "Resource Ownership") when a judgement call isn't settled by `api_design.md`. 3. Follow the post-change workflow in `api_design.md` — `make gen-files`, verify scope didn't flip to `Namespaced`, update `convert` if relevant, and `make dirty-check`.
Auf GitHub ansehen