aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 3affbfc9aaade73413493fe0f5918dbcf55a2f1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Vmod_dict README
See the end of file for copying conditions.

* Introduction

This file contains brief information about configuring, testing
and using vmod_dict. It is *not* intended as a replacement
for the documentation, and is provided as a brief reference only.
For accessing complete documentation, please see the section
'Documentation' below.

* Overview

This module adds to Varnish Cache the ability to look up values in
a textual dictionary. A dictionary is a disk file containing on
each line a keyword-value pair, separated by arbitrary amount of
whitespace. Leading and trailing whitespace is ignored. Empty lines
and comments (beginning with '#' as the first non-whitespace
character) are allowed.

The dictionary is loaded into a hash table using the dict.load
function. Normally it is done in vcl_init:

  import dict;

  sub vcl_init {
     dict.load("/var/lib/cache/input.dict", false, 0);
  }

The second argument (a boolean) specifies whether the keyword matching
is case-insensitive (true) or case-sensitive (false). The 3rd argument
gives the maximum allowed number of collisions in the loaded hash
table. The module will adjust the load factor to meet this number.

Once loaded, the value corresponding to a given key can be retrieved
as follows:

   set req.http.X-Value = dict.lookup("key");

The module has been tested with Varnish versions 6.0.2 -- 6.3.2.

* Installation

In order to compile the package you need to have installed
varnishd and varnishapi package.

Supposing that condition is met, run:

  ./configure

It should be able to automatically find the necessary components. In case 
it doesn't, tweak the configuration variables as necessary. The most 
important one is PKG_CONFIG_PATH, which contains a path (in the UNIX sense)
where the .pc files are located. It should contain a directory where the
'varnishapi.pc' file lives. Example usage:

  ./configure PKG_CONFIG_PATH=/usr/local/varnish/lib/pkgconfig:$PKG_CONFIG_PATH

Please read the file INSTALL for a detailed discussion of available variables
and command line options.

Once configured, do

  make

This will build the module.  After this step you can optionally run
'make test' to test the package.

Finally, run the following command as root:

  make install

* Documentation

The manual page vmod_dict(3) will be available after a successful
install.  To read it without actually installing the module, run
`man src/vmod_dict.3'.

An online copy of the documentation is available from
http://ps.gnu.org.ua/software/vmod-dict.

* Bug reporting

Send bug reports and suggestions to <gray@gnu.org>


Local Variables:
mode: outline
paragraph-separate: "[ 	]*$"
version-control: never
End:

Return to:

Send suggestions and report system problems to the System administrator.