varnish / varnish-modules

Collection of Varnish Cache modules (vmods) by Varnish Software
Other
182 stars 86 forks source link

CircleCI

Varnish module collection by Varnish Software

This is a collection of modules ("vmods") extending Varnish VCL used for describing HTTP request/response policies with additional capabilities.

Included:

Modules in this repository are feature-complete and are maintained to stay compatible with new Varnish releases and to fix bugs. We'll also gladly considering pull requests for new features but we recommend opening an issue first to discuss implementation plans.

Installation

Source releases can be downloaded from the github release page of the project.

Each release only targets one version of Varnish (visible in the realease title) and the git repository sports a branch dedicated to each version, starting from 6.0. This means that if you want to compile modules for Varnish 6.3, you need to git checkout the 6.3 branch of this repository

Compiling, testing and installing relies on the autotools suite and requires:

Note that packages names given here are purely indicative and may vary depending on the OS you are using.

To compile:

./bootstrap
./configure   # run "configure -h" first to list options
make
make check    # optional (tests)
make rst-docs # optional (docs)
make install  # optional (installation), run as root

Note: If you downloaded/cloned the source code and not the release archive, you need to run make rst-docs before being able to install.

A Dockerfile is available as example.

Usage

Each module has a different set of functions and usage, described in each src/vmod_*.vcc file.

Note that make rst-docs will generate reStructuredText docs in the docs/ directory.

Moved or replaced VMODs

VMODs in this category are no longer maintained because their functionality is covered by other functionality or newer VMODs.

In this repository there is only two such vmods:

Administrativa

The goals of this collection are:

Expressed non-goals are:

Addition of further vmods is decided on a case-by-case basis. Code quality and maintenance requirements will be important in this decision.

Contact

This code is maintained by Varnish Software. (https://www.varnish-software.com/)

Issues can be reported via the Github issue tracker.

Other inquires can be sent to opensource@no_spam_pleasevarnish-software.com.