Skip to content

Commit

Permalink
Merge pull request #42 from voxpupuli/add_proxy_socket
Browse files Browse the repository at this point in the history
Add Support for Sockets in Varnish Proxy Listening
  • Loading branch information
bastelfreak authored Dec 4, 2023
2 parents b75fffc + e022159 commit f96f4d5
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 0 deletions.
18 changes: 18 additions & 0 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ The following parameters are available in the `varnish` class:
* [`varnish_listen_port`](#-varnish--varnish_listen_port)
* [`varnish_proxy_listen_address`](#-varnish--varnish_proxy_listen_address)
* [`varnish_proxy_listen_port`](#-varnish--varnish_proxy_listen_port)
* [`varnish_proxy_listen_socket`](#-varnish--varnish_proxy_listen_socket)
* [`varnish_proxy_listen_socket_mode`](#-varnish--varnish_proxy_listen_socket_mode)
* [`varnish_admin_listen_address`](#-varnish--varnish_admin_listen_address)
* [`varnish_admin_listen_port`](#-varnish--varnish_admin_listen_port)
* [`varnish_min_threads`](#-varnish--varnish_min_threads)
Expand Down Expand Up @@ -229,6 +231,22 @@ port varnish binds to in proxy mode

Default value: `undef`

##### <a name="-varnish--varnish_proxy_listen_socket"></a>`varnish_proxy_listen_socket`

Data type: `Optional[Stdlib::Absolutepath]`

socket varnish binds to in proxy mode

Default value: `undef`

##### <a name="-varnish--varnish_proxy_listen_socket_mode"></a>`varnish_proxy_listen_socket_mode`

Data type: `Stdlib::Filemode`

Filemode for socket varnish binds to in proxy mode

Default value: `'666'`

##### <a name="-varnish--varnish_admin_listen_address"></a>`varnish_admin_listen_address`

Data type: `String`
Expand Down
6 changes: 6 additions & 0 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@
# address varnish binds to in proxy mode
# @param varnish_proxy_listen_port
# port varnish binds to in proxy mode
# @param varnish_proxy_listen_socket
# socket varnish binds to in proxy mode
# @param varnish_proxy_listen_socket_mode
# Filemode for socket varnish binds to in proxy mode
# @param varnish_admin_listen_address
# address varnish binds to in admin mode
# @param varnish_admin_listen_port
Expand Down Expand Up @@ -109,6 +113,8 @@
Stdlib::Port $varnish_listen_port = 6081,
String $varnish_proxy_listen_address = '127.0.0.1',
Optional[Stdlib::Port] $varnish_proxy_listen_port = undef,
Optional[Stdlib::Absolutepath] $varnish_proxy_listen_socket = undef,
Stdlib::Filemode $varnish_proxy_listen_socket_mode = '666',
String $varnish_admin_listen_address = 'localhost',
Stdlib::Port $varnish_admin_listen_port = 6082,
String $varnish_min_threads = '5',
Expand Down
11 changes: 11 additions & 0 deletions spec/classes/varnish_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
it { is_expected.to contain_file('varnish-conf').with_content(%r{VARNISH_STORAGE="malloc,\${VARNISH_STORAGE_SIZE}"}) }
it { is_expected.to contain_file('varnish-conf').with_content(%r{VARNISH_TTL=120}) }
it { is_expected.to contain_file('varnish-conf').with_content(%r{DAEMON_OPTS="-a :6081 }) }
it { is_expected.not_to contain_file('varnish-conf').with_content(%r{-a /tmp/varnish.sock,PROXY,user=varnish,group=varnish,mode=666}) }

it {
is_expected.to contain_file('storage-dir').with(
Expand Down Expand Up @@ -89,6 +90,16 @@

it { is_expected.to compile }
it { is_expected.to contain_file('varnish-conf').with_content(%r{-a 127.0.0.1:8443,PROXY}) }
it { is_expected.not_to contain_file('varnish-conf').with_content(%r{-a /tmp/varnish.sock,PROXY,user=varnish,group=varnish,mode=666}) }
end

context 'enable proxy socket' do
let :params do
{ varnish_proxy_listen_socket: '/tmp/varnish.sock' }
end

it { is_expected.to compile }
it { is_expected.to contain_file('varnish-conf').with_content(%r{-a /tmp/varnish.sock,PROXY,user=varnish,group=varnish,mode=666}) }
end

context 'with custom configfile' do
Expand Down
3 changes: 3 additions & 0 deletions templates/varnish-conf.erb
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@ VARNISH_TTL=<%= scope.lookupvar('varnish_ttl') %>
DAEMON_OPTS="-a <%= scope.lookupvar('varnish_listen_address') %>:<%= scope.lookupvar('varnish_listen_port') %> \
<% if @varnish_proxy_listen_port -%>
-a <%= scope.lookupvar('varnish_proxy_listen_address') %>:<%= scope.lookupvar('varnish_proxy_listen_port') %>,PROXY \
<% end -%>
<% if @varnish_proxy_listen_socket -%>
-a <%= scope.lookupvar('varnish_proxy_listen_socket') %>,PROXY,user=<%= scope.lookupvar('varnish_user') -%>,group=<%= scope.lookupvar('varnish_group') -%>,mode=<%= scope.lookupvar('varnish_proxy_listen_socket_mode') %> \
<% end -%>
-f <%= scope.lookupvar('varnish_vcl_conf') %> \
-T <%= scope.lookupvar('varnish_admin_listen_address') %>:<%= scope.lookupvar('varnish_admin_listen_port') %> \
Expand Down

0 comments on commit f96f4d5

Please sign in to comment.