diff --git a/templates/sysconfig.erb b/templates/sysconfig.erb index fbfacd8..7b205fe 100644 --- a/templates/sysconfig.erb +++ b/templates/sysconfig.erb @@ -1,42 +1,45 @@ ############################################ # WARNING: # Managed by Puppet - DO NOT modify locally! ############################################ START=yes NFILES=131072 MEMLOCK=82000 RELOAD_VCL=1 VARNISH_VCL_CONF=<%= scope['::varnish::vcl_conf'] %> -VARNISH_LISTEN_ADDRESS=<%= scope['::varnish::listen'] %> -VARNISH_LISTEN_PORT=<%= scope['::varnish::listen_port'] %> +<% if scope['::varnish::listen'].is_a?(Array) -%> +VARNISH_LISTEN=<% scope['::varnish::listen'].each_with_index do |addr, idx| %><%= addr %><% unless addr.include?(':') %>:<%= scope['::varnish::listen_port'] %><% end -%><% if idx != (scope['::varnish::listen'].length-1) -%>,<% end -%><% end %> +<% else -%> +VARNISH_LISTEN=<%= scope['::varnish::listen'] %>:<%= scope['::varnish::listen_port'] %> +<% end -%> VARNISH_ADMIN_LISTEN_ADDRESS=<%= scope['::varnish::admin_listen'] %> VARNISH_ADMIN_LISTEN_PORT=<%= scope['::varnish::admin_port'] %> VARNISH_SECRET_FILE=<%= scope['::varnish::secret_file'] %> VARNISH_MIN_THREADS=<%= scope['::varnish::min_threads'] %> VARNISH_MAX_THREADS=<%= scope['::varnish::max_threads'] %> VARNISH_THREAD_TIMEOUT=<%= scope['::varnish::thread_timeout'] %> VARNISH_STORAGE=<%= scope['::varnish::storage_type'] %>,<% if scope['::varnish::storage_type'] == 'file' -%><%= scope['::varnish::storage_file'] %>,<% end -%><%= scope['::varnish::storage_size'] %> VARNISH_TTL=120 DAEMON_OPTS="<% if scope['::varnish::params::service_provider'] == 'sysvinit' -%><%= scope['::varnish::config::jail_opt'] %> \<% end %> - -a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \ + -a ${VARNISH_LISTEN} \ <% if scope['::varnish::instance_name'] != :undefined -%> -n <%= scope['::varnish::instance_name'] %> \ <% end -%> -f ${VARNISH_VCL_CONF} \ -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \ -t ${VARNISH_TTL} \ <% if scope['::varnish::version_major'] == '3' -%> -w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \ <% else -%> -p thread_pool_min=${VARNISH_MIN_THREADS} \ -p thread_pool_max=${VARNISH_MAX_THREADS} \ -p thread_pool_timeout=${VARNISH_THREAD_TIMEOUT} \ <% end -%> <% scope['::varnish::runtime_params'].each do |k,v| -%> -p <%= k %>=<%= v %> \ <% end -%> -S ${VARNISH_SECRET_FILE} \ -s ${VARNISH_STORAGE}" diff --git a/templates/varnish.service.erb b/templates/varnish.service.erb index 980d8d3..5eac350 100644 --- a/templates/varnish.service.erb +++ b/templates/varnish.service.erb @@ -1,35 +1,39 @@ [Unit] Description=Varnish HTTP accelerator [Service] Type=forking LimitNOFILE=131072 LimitMEMLOCK=82000 LimitCORE=infinity PrivateTmp=true ExecReload=<%= scope['::varnish::vcl_reload'] %> ExecStart=/usr/sbin/varnishd <%= scope['::varnish::config::jail_opt'] %> \ -P /var/run/varnish.pid \ -t 120 \ <% if scope['::varnish::instance_name'] != :undefined -%> -n <%= scope['::varnish::instance_name'] %> \ <% end -%> -f <%= scope['::varnish::vcl_conf'] %> \ - -a <%= scope['::varnish::listen'] %>:<%= scope['::varnish::listen_port'] %> \ + <% if scope['::varnish::listen'].is_a?(Array) -%> + -a <% scope['::varnish::listen'].each_with_index do |addr, idx| %><%= addr %><% unless addr.include?(':') %>:<%= scope['::varnish::listen_port'] %><% end -%><% if idx != (scope['::varnish::listen'].length-1) -%>,<% end -%><% end %> \ + <% else -%> + -a %= scope['::varnish::listen'] %>:<%= scope['::varnish::listen_port'] %> \ + <% end -%> -T <%= scope['::varnish::admin_listen'] %>:<%= scope['::varnish::admin_port'] %> \ <% if scope['::varnish::version_major'] == '3' -%> -w <%= scope['::varnish::min_threads'] %>,<%= scope['::varnish::max_threads'] %>,<%= scope['::varnish::thread_timeout'] %> \ <% else -%> -p thread_pool_min=<%= scope['::varnish::min_threads'] %> \ -p thread_pool_max=<%= scope['::varnish::max_threads'] %> \ -p thread_pool_timeout=<%= scope['::varnish::thread_timeout'] %> \ <% end -%> <% scope['::varnish::runtime_params'].each do |k,v| -%> -p <%= k %>=<%= v %> \ <% end -%> -S <%= scope['::varnish::secret_file'] %> \ -s <%= scope['::varnish::storage_type'] %>,<% if scope['::varnish::storage_type'] == 'file' -%><%= scope['::varnish::storage_file'] %>,<% end -%><%= scope['::varnish::storage_size'] %> [Install] WantedBy=multi-user.target