Toolbox
June 13

Yoke: An exploration into Infrastructure as Code for Kubernetes package management

Kubernetes (K8s) package management needs an overhaul. Text-based templating is not enough; together let us explore what an Infrastructure as Code (IaC) package management solution of the future for K8s might look like.

In our exploration, we delve into the limitations of text-based templating for managing Kubernetes resources. These include the absence of built-in testing, the lack of static typing, inconsistent support within integrated development environments (IDEs), and the existence of implicit contracts between packages and users.

To address these limitations, we highlight the benefits of Kubernetes Packages as Code. Such a solution effectively tackles the aforementioned issues. Moreover, it streamlines package definition, versioning, and distribution, as we transition our mental model from a collection of manifest templates to functions, libraries, and executables.

Nonetheless, challenges endure in packaging code. How can we execute code efficiently? How might we bundle runtimes and compilers? How do we facilitate compatibility across various programming languages and operating system architectures? And, crucially, how do we ensure the safety of executing arbitrary code against our infrastructure and clusters? Enter WebAssembly, offering a potential solution to these intricate dilemmas.

To illustrate these concepts, we introduce Yoke: The IaC Package Manager for Kubernetes.

David Desmarais-Michaud
Senior Platform Engineer, Nesto
David Desmarais-Michaud

Register for PlatformCon 2025

Connect with fellow platform practitioners, learn from the best in the industry and engage directly with speakers on Slack.
Community
Join over 20k platform engineers from all over the world
Slack
Share best practices, discuss new trends and tooling with 20k+ platform practitioners
Speakers
Engage with 100+ speakers in dedicated channels or directly in DMs