Skip to main content

Kerbside, a SPICE VDI proxy

Kerbside is a SPICE VDI protocol proxy: a pure-Python control plane (the REST API and the daemon) that supervises a Rust SPICE proxy. It sits out the front of your cloud and provides VDI access to VMs running inside the cluster, determining what VM to proxy your traffic to based on the password you provide when connecting. Unlike layer 4 proxies that pass through unparsed traffic, Kerbside understands the SPICE protocol itself — the proxy terminates TLS, drives the SPICE link handshake, and is an enforcing SPICE application firewall, on by default.

Kerbside currently knows how to proxy console sessions for Shaken Fist, OpenStack, and oVirt. It will mostly be of interest to operators of those clouds who want to offer users rich native SPICE desktops (high resolution, multi-monitor, USB passthrough, audio) instead of HTML5-transcoded consoles. OpenStack is probably the best documented integration at the moment because there are patches to add deployment support for Kerbside to Kolla-Ansible in the kerbside-patches repository.

Kerbside is currently considered experimental: it works, but it has not yet seen large scale deployment.

Installation

pip install kerbside

This installs the Python control plane and a matching prebuilt kerbside-proxy binary wheel automatically (x86_64 and aarch64). See docs/installation.md for the packaging details, OS-level dependencies, and deployment pointers.

Documentation

In the docs/ directory:

  • Documentation Index - What Kerbside is, the broker model, and the connection flow
  • Kerbside for oVirt - The first of the per-deployment guides: what Kerbside replaces in an oVirt deployment, and how to set it up
  • Installation - Packages, OS dependencies, and deployment
  • Configuration - Configuration reference, including the SPICE firewall knobs
  • Console Sources - Configuring sources.yaml for Shaken Fist, OpenStack, and oVirt
  • Proxy Architecture - Internal proxy design, state machine, and firewall
  • Database Schema - Tables, columns, and relationships
  • SPICE Protocol Documentation - Protocol fundamentals, link handshake, per-channel message formats, compression, capabilities, USB redirection, and the VD agent protocol (under docs/spice/)
  • Development - Migrations, building and packaging the Rust proxy, dependency pinning, review tracking, vendored web assets, and debugging
  • Testing - Running the test suite, CI tiers and lane mechanics, Ryll harnesses, the oVirt console probe, Tempest, and load-test images

Project reference files:

  • ARCHITECTURE.md - High-level system architecture
  • AGENTS.md - AI agent guidelines for working on this codebase
  • .claude/ - Claude Code project instructions and skills (database migrations, adding source types)

License

Apache-2.0

Release files for kerbside 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kerbside 0.5.0
File Size Uploaded
kerbside-0.5.0.tar.gz 2.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for kerbside 0.5.0
File Interpreter ABI Platform
kerbside-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 4.3 MB

Release files / kerbside-0.5.0.tar.gz

Download URL kerbside-0.5.0.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
c3db4147048fcd3e6d3d72239bd35eae587b3ae205eba49cd63e154d6efb4199
BLAKE2b-256 checksum
How to use checksums
3601f316696fc28d2fa9e406fb013dc2c1059c852b2cdfa770aa08f10e3664ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.

Transparency log

Release files / kerbside-0.5.0-py3-none-any.whl

Download URL kerbside-0.5.0-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1a1a0c97d0b46862a44afa4bcfb4283348dc8b63e65e861471b9527ed4fdf799
BLAKE2b-256 checksum
How to use checksums
05d13a7cf8cd982f5cc2ad751f315d2e0b07ddf475e2c5f344ebffec69b10c57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.0

2 release files

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page