The TinyKVM VMOD processes data in Varnish at native performance using your servers CPU capabilities safely with sandboxing.
You can find the complete VMOD documentation here.
The build dependencies for this VMOD can be found in CI, but briefly:
varnish-dev
libcurl4-openssl-dev
libpcre3-dev
libarchive-dev
libjemalloc-dev
This VMOD does not have an installation procedure. Simply build it from source, and copy the final libvmod_*.so
into your VMOD folder (usually /usr/lib/varnish/vmods/
):
./build.sh
Or manually:
# Create a .build folder and build the VMOD in it
mkdir -p .build
pushd .build
cmake .. -DCMAKE_BUILD_TYPE=Release -DVARNISH_PLUS=OFF
make -j6
popd
# Copy VMODs into Varnish VMOD folder
sudo cp .build/libvmod_*.so /usr/lib/varnish/vmods/
If during building you are seeing errors with a Python script, try setting the Python 3 executable directly using a CMake define:
cmake .. -DCMAKE_BUILD_TYPE=Release -DVARNISH_PLUS=OFF -DPython3_EXECUTABLE=$(which python3)
There is a build-merge-release CI system that currently only builds for Ubuntu 22.04:
Demonstration VCL here. Use run.sh
in the same directory to try it out.
Programs and examples repository.
TinyKVM and VMOD-TinyKVM are released under a dual licensing model:
- Open Source License: GPL‑3.0 (see LICENSE).
- Commercial License: Available under terms controlled by Varnish Software.
For commercial licensing inquiries, please contact: [email protected].
We welcome contributions! By submitting a pull request or other contribution, you agree to our Contributor License Agreement and our Code of Conduct.
For details on how to contribute, please refer to this document.