k8s-crd-lifecycle

Automate Kubernetes CRD design, validation, and lifecycle management with kubebuilder markers and CEL validation.

3|Updated Mar 8, 2026
One-click install
npx skills add https://github.com/missBerg/envoy-skills --skill k8s-crd-lifecycle
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: k8s-crd-lifecycle
Source: https://github.com/missBerg/envoy-skills/tree/main/shared/contributors/skills/k8s-crd-lifecycle
Command: npx skills add https://github.com/missBerg/envoy-skills --skill k8s-crd-lifecycle

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

CRD design, validation, and lifecycle management for Kubernetes control planes, focusing on CEL-based validation (no webhooks), consistent type definitions, and a robust versioning and code-generation workflow.

Core Features & Use Cases

  • Type Definition Patterns: Enforce standard Spec/Status separation and structured resources with kubebuilder markers.
  • CEL Validation: Declarative, webhook-free validation rules embedded in the CRD schema.
  • Code Generation & Versioning: Guidance for generating deepcopy, client code, and converting between versions.

Quick Start

Scaffold a new Kubernetes CRD with kubebuilder, apply CEL validation, and generate the necessary code and manifests.

Frequently Asked Questions about k8s-crd-lifecycle

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add validation to a Kubernetes CRD without using webhooks?

You can add validation to a Kubernetes CRD without webhooks by using CEL-based validation rules. This approach embeds declarative validation directly into the CRD schema via kubebuilder markers, ensuring resource correctness without running separate webhook services.

What is the best way to manage multiple versions of a Kubernetes CRD?

Managing multiple versions of a Kubernetes CRD involves defining a robust versioning workflow and using code-generation pipelines. This process generates conversion logic and client code, ensuring API stability across different versions without relying on webhooks.

How do I enforce Spec and Status separation when building Kubernetes CRDs?

To enforce Spec and Status separation when building Kubernetes CRDs, you should use standard type definition patterns with kubebuilder markers. This structured approach ensures consistent resource definitions and automates code generation for your custom resources.

Can I use kubebuilder markers for CEL validation in Kubernetes?

Yes, you can use kubebuilder markers for CEL validation in Kubernetes. This allows you to declaratively embed webhook-free validation rules directly into your CRD schema, ensuring type definitions and validation constraints are consistent.

What code-generation pipelines are needed for Kubernetes CRD lifecycle management?

Kubernetes CRD lifecycle management requires code-generation pipelines to produce deepcopy functions, client code, and CRD manifests. This automated generation ensures type definitions, validation rules, and versioning logic remain consistent across your control plane.

Does Kubernetes CRD lifecycle design require writing custom conversion webhooks?

Kubernetes CRD lifecycle design does not require writing custom conversion webhooks. By leveraging CEL-based validation and kubebuilder code-generation pipelines, you can enforce validation rules and handle version conversion declaratively without webhook dependencies.