In order to install Varnish-Broadcaster on either Debian/Ubuntu or Redhat Enterprise, access to Varnish Plus is required. Please get in touch via email@example.com for more information on Varnish Plus.
If you are installing on Debian or Ubuntu, use the prebuilt packages:
Add the Varnish Plus repository for Varnish-Broadcaster
Update and install:
$ apt-get update $ apt-get install varnish-broadcaster
Currently only RPMs for RHEL6 and RHEL7 and compatible derivatives are available.
Add the Varnish-Broadcaster yum repository as per Varnish Plus instruction.
$ yum update $ yum install varnish-broadcaster
The broadcaster will start with its default configuration file pointing to
the log level set to INFO.
$ service broadcaster start
If succesfully started, the broadcaster will expose two ports:
See below section for other available options.
Start the broadcaster with any of the below options. All of them have been preconfigured with default values, except the cfg option which points to the file containing the nodes to broadcast against.
The broadcaster does not have a specific requirement of running in its own VM, however, if running on the same node with Varnish and Hitch it is worth taking into account the broadcaster’s https configuration in order to avoid port collision with Hitch.
||The port under which the broadcaster is exposed.||8088|
||Listening port for the broadcaster’s management.||8089|
||Path to a file containing configured nodes.||X|
||Enable async mode. If true, any incoming request will return imediatelly with a X-Job-Id header.||false|
||The ttl of a finished invalidation request. When done, every invalidation request is kept in memory for the specified amount of time. This due to status purposes only.||10 minutes|
||Set log level. Available options: debug, info, warning, error, quiet.||info|
||Broadcaster https listening port.||8443|
||CRT file used for HTTPS support.||For HTTPS|
||KEY file used for HTTPS support.||For HTTPS|
||Show current version and exit.|
||Set the broadcaster’s running host.||0.0.0.0|
||Connection keep-alive duration.||1 minute|
||A flag which tells whether keep-alive should be disabled.||false|
||Path to a file where the broadcaster writes its pid.||/run/varnish-broadcaster/broadcaster.pid|
||Proxy host for the user interface|
||Proxy port for the user interface.|
||Proxy proto fpr the user interface.|
||Connection timeout between the broadcaster and the configured nodes.||10 seconds|
By default, the broadcaster starts listening on the port, however - if both
key options are set, it will automatically switch onto https and listen to the
https-port (default: 8443).
The Broadcaster requires a file which contains the nodes to broadcast against. The format of the file is similar to the ini format.
Below you have a couple of snippets from a valid configuration file.
This configuration has two clusters (Europe/US) each with its own nodes:
# this is a comment [Europe] First = 220.127.116.11:9090 Second = 18.104.22.168:6081 Third = example.com [US] Alpha = http://[1::2] Beta = 22.214.171.124
The following configuration has all the nodes available in the local cluster.
alpha = 126.96.36.199 bravo = [1:2::3]:45 charlie = https://188.8.131.52:90 delta = http://[1::2]
Note that a combination of the two configurations is not allowed. The following configuration is invalid:
alpha = 184.108.40.206 bravo = [1:2::3]:45 [US] charlie = https://220.127.116.11:90 delta = http://[1::2]
If the broadcaster receives a
SIGHUP notification, it will trigger a configuration reload from disk.