CRDs are great! Until they're not. Need an advanced validation rule? You're going to need an admission webhook for that. Oh, and if you want to do multi-version CRDs, good luck, there's another special type of webhook just for that! Once you start using webhooks, your CRD must be bundled with a binary containing all the webhooks plus webhook configuration resources to activate the webhooks. Things get complicated fast. What if we could make all that go away? Imagine if somehow this could all be done declaratively in a single, self contained CRD? Using the CEL expression language in Kubernetes, we added advanced CRD validation rules (Beta in Kubernetes 1.25) and have plans for additional enhancements. Learn about the future of CRDs from a sig-api machinery contributor who helped introduce CEL to Kubernetes. Can CRDs really be made entirely self-contained? What does this mean for extension authors or cluster administrators? Is CEL sufficiently powerful to eliminate the need for webhooks? What features are available now and when are the rest planned?