March 31, 2016
2 min read time

New ways of using Varnish modules (VMODs)

Varnish Software (VS) writes and maintains a fair number of VMODs for Varnish Cache. This also includes major VMODs that can be considered as part of - or very close to - core Varnish functionality.

How did VMODs get used before?

The normal way of using a VMOD (in the Varnish community) was to do a git checkout from Github, build it from source and run it. This procedure was totally fine when only a single VMOD was required, but this formula got very hairy and time consuming as soon as more than a single VMOD was required. Developers, maintaining or shaping new features, were also affected by this way of building a VMOD, which left something to be desired.

How are VMODs used now?

To make both parties (VS and users) happier, we have decided to combine the simple VMODs (with no third-party/library dependencies) into a single-collection source package.

The following VMODs have been merged into a single project:
  • Cookie
  • Header
  • Saintmode
  • Softpurge
  • Tcp
  • Var
  • Vsthrottle
  • Xkey

Hopefully this will significantly simplify the installation of VMODs, both for users installing from source and those using pre-packaged versions.

Important info:

Tarball distribution is here.

Package available for Debian/Ubuntu distro: https://packages.debian.org/stretch/varnish-modules.
The authoritative location for development of these VMODs is now varnish-modules. Releases of this tree will be a tarball with a proper changelog.

Here are more details on how releases for this and future development will work: https://www.varnish-cache.org/lists/pipermail/varnish-dev/2016-March/008800.html

Ready to learn more about VMODs and Varnish? Download the Varnish Book.

Download the Varnish Book