Versioning CRDs: The good, the bad and the ugly
04-17, 16:50–17:20 (Europe/Amsterdam), The Warehouse

This talk will go over the hard obstacles we face when going through breaking API changes in ESO API. What are the available CRD versioning patterns? What are the tradeoffs we had to take? What are important aspects to consider when designing CRD versioning?

Kubernetes Operators are becoming the de facto way to create applications that need to interact with a Kubernetes Cluster. When it comes to the lifecycle of this operator, inevitably a breaking change in the API version for the CRDs will happen. Attendees will get an overview on how to design, test and deliver long-term maintainable operators.

External Secrets Operator is a community endeavor that emerged from different open source projects that all tried to solve one problem: pull secrets from a secret management API into Kubernetes. We joined our efforts in 2020 to find a common denominator across projects to build the best solution to that problem and even go beyond that.
Today, we've built a vendor-neutral community around the project and provide a consistent custom resource API across different cloud vendors and secret management APIs.


key takeaways:

  • learn how to properly version CRDs for a good UX
  • understand available patterns to do a migration
  • understand why you don’t want to keep multiple versions live

Lucas is a Software Engineer at Red Hat and one of the developers involved in the Descheduler Framework effort. Lucas is passionate about Open Source and the community around it and is also involved as the maintainer of some other projects in the Cloud Native space. Lucas is also one of the creators of External Secrets Operator and worked as an Sys Admin and later SRE before getting his foot into OSS contribution.

This speaker also appears in: