Welcome to SpinKube

SpinKube Documentation

A new open source project that streamlines the experience of developing, deploying, and operating Wasm workloads on Kubernetes.

SpinKube comprises the following open source projects.



Containerd Shim Spin

The Containerd Shim Spin repository provides shim implementations for running WebAssembly (Wasm) / Wasm System Interface (WASI) workloads using runwasi as a library, whereby workloads built using the Spin framework can function similarly to container workloads in a Kubernetes environment.



Runtime Class Manager

The Runtime Class Manager, also known as the Containerd Shim Lifecycle Operator, is designed to automate and manage the lifecycle of containerd shims in a Kubernetes environment. This includes tasks like installation, update, removal, and configuration of shims, reducing manual errors and improving reliability in managing WebAssembly (Wasm) workloads and other containerd extensions.



Spin Plugin for Kubernetes

The Spin plugin for Kubernetes, known as spin kube, faciliates the translation of existing Spin applications into the Kubernetes custom resource that will be deployed and managed on your cluster. This plugin works by taking your spin application manifest and scaffolding it into a Kubernetes yaml, which can be deployed and managed with kubectl. This allows Kubernetes to manage and run Wasm workloads in a way similar to traditional container workloads.



Spin Operator

The Spin Operator enables deploying Spin applications to Kubernetes. The foundation of this project is built using the kubebuilder framework. Spin Operator defines Spin App Custom Resource Definitions (CRDs). Spin Operator watches SpinApp Custom Resources e.g. Spin app image, replicas, schedulers and other user-defined values and realizes the desired state in the Kubernetes cluster. Spin Operator introduces a host of functionality such as resource-based scaling, event-driven scaling, and much more.