k8s-crd-lifecycle
Installation
SKILL.md
CRD Lifecycle Management
Design, validate, and evolve Custom Resource Definitions for Kubernetes control planes. Covers type definitions, validation with CEL (not webhooks), code generation, and version management.
Type Definition Patterns
Spec/Status Separation
Every CRD follows the Spec/Status convention:
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.conditions[-1:].type`
// MyResource defines a managed resource.
type MyResource struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`