<div dir="ltr"><div>TL;DR: here's a bunch of examples building vmods from source so you can get better at it: <a href="https://github.com/varnish/docker-varnish/tree/master/vmod-examples">https://github.com/varnish/docker-varnish/tree/master/vmod-examples</a></div><div><br></div><div>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.<br></div><div><br></div><div>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 <a href="https://github.com/varnish/toolbox/tree/master/install-vmod">https://github.com/varnish/toolbox/tree/master/install-vmod</a> and 
<a href="https://github.com/xcir/vmod-packager">https://github.com/xcir/vmod-packager</a> to help install/package do make things a bit easier, but we are not there yet.<br></div><div><br></div><div>With that context in mind, I've created a new vmod-examples/ directory in <a href="https://github.com/varnish/docker-varnish/">https://github.com/varnish/docker-varnish/</a> 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:</div><div>- putting the examples in a central, fairly visible location</div><div>- using docker as a base, since the containers are easy to build/trash, I hope it'll encourage people to experiment more</div><div>- 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</div><div>- 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.</div><div><br></div><div>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.</div><div><br></div><div>Lastly, I really need to thank the maintainers of the the featured vmods, without them there wouldn;t be anything to showcase:</div><div>- UPLEX (<a href="https://code.uplex.de/uplex-varnish">https://code.uplex.de/uplex-varnish</a> and <a href="https://gitlab.com/uplex">https://gitlab.com/uplex</a>)<br></div><div>- Carlos Abalde (<a href="https://github.com/carlosabalde">https://github.com/carlosabalde</a>)</div><div>- Shohei Tanaka (<a href="https://github.com/xcir/">https://github.com/xcir/</a>)</div><div>- otto-de (<a href="https://github.com/otto-de">https://github.com/otto-de</a>)</div><div>- varnishcache-friends (<a href="https://github.com/varnishcache-friends">https://github.com/varnishcache-friends</a>)</div><div><br></div><div>That's it for me, as usual, comments, questions and PRs are more than welcome!<br></div><div><br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>-- <br></div><div>Guillaume Quintard<br></div></div></div></div></div></div>