Hyper-efficient serverless on Kubernetes, powered by WebAssembly.

Get Started

SpinKube is an open source project that streamlines developing, deploying and operating WebAssembly workloads in Kubernetes - resulting in delivering smaller, more portable applications and incredible compute performance benefits.

SpinKube combines the Spin operator, containerd Spin shim, and the runtime class manager (formerly KWasm) open source projects with contributions from Microsoft, SUSE, Liquid Reply, and Fermyon. By running applications at the Wasm abstraction layer, SpinKube gives developers a more powerful, efficient and scalable way to optimize application delivery on Kubernetes.

Made with Contributions from:

MicrosoftLiquid ReplySUSEFermyon

Overview

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 is designed to enhance Kubernetes by enabling the execution of Wasm modules directly within a Kubernetes cluster. This plugin works by integrating with containerd shims, allowing 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.

Spin Trigger MQTT Spin Trigger MQTT is an MQTT trigger designed specifically for Spin. It enables seamless integration between Spin and MQTT-based systems, allowing you to automate workflows and trigger actions based on MQTT messages.