Mailing List Archive

Making vmods more approachable.
TL;DR: here's a bunch of examples building vmods from source so you can get
better at it:
https://github.com/varnish/docker-varnish/tree/master/vmod-examples

Varnish is great, stable and very versatile, however part of that
versatility comes from vmods, and those tend to not be packaged by
distributions. Some are, of course, but they are few and far between,
mostly relying on the judgement (for selection) and good will (for actual
packaging) of a few packagers. And this obviously limits access to that
versatility, hurting Varnish's reach.

I do package a couple of vmods for a couple of distributions, but the
benefits are fairly limited because fragmentation sucks. So, truly, the
best way to distribute vmods is through source code. Sadly, it still seems
like people are afraid of compiling C code (can't blame them, it's a scary
new experience), and efforts like
https://github.com/varnish/toolbox/tree/master/install-vmod and
https://github.com/xcir/vmod-packager to help install/package do make
things a bit easier, but we are not there yet.

With that context in mind, I've created a new vmod-examples/ directory in
https://github.com/varnish/docker-varnish/ which shows how to build 14
vmods (for now) on a docker container. Hopefully, we can reach a few more
people, and reassure them, showing that compiling vmods is easy and viable.
We do this by:
- putting the examples in a central, fairly visible location
- using docker as a base, since the containers are easy to build/trash, I
hope it'll encourage people to experiment more
- providing the actual instructions to build for a specific distributions,
rather that pointing at libraries that your system may or may not package,
and possibly under a weird, badly discoverable name
- targeting the latest Varnish, guaranteeing users will at least have
something that compiles on the first try without losing time tracking the
right branch/commit/tarball.

Hopefully, we can grow that list and make more vmods accessible to more
users. If you want more vmods in there, please let me know, either here or
in the discord channel, I'll be happy to push more of them as long as they
are maintained (or at least compile) and that there's no clear better
alternative.

Lastly, I really need to thank the maintainers of the the featured vmods,
without them there wouldn;t be anything to showcase:
- UPLEX (https://code.uplex.de/uplex-varnish and https://gitlab.com/uplex)
- Carlos Abalde (https://github.com/carlosabalde)
- Shohei Tanaka (https://github.com/xcir/)
- otto-de (https://github.com/otto-de)
- varnishcache-friends (https://github.com/varnishcache-friends)

That's it for me, as usual, comments, questions and PRs are more than
welcome!

--
Guillaume Quintard