Skip to content
Snippets Groups Projects
Commit 768f041d authored by Daniel Dandanell's avatar Daniel Dandanell
Browse files

Merge branch 'frontend_varnish'

parents 44487911 ee04a99e
No related branches found
No related tags found
No related merge requests found
#!/bin/sh
VARNISH_ADDR=10.42.254.137:3244
VARNISH_MGMT_ADDR=localhost:6082
VARNISH_CONFIG=/etc/varnish/default.vcl
VARNISH_STORAGE=malloc,40G
VARNISH_JAIL=unix,user=_varnish,workuser=_vcache
VARNISH_OPTIONS='-p nuke_limit=999999999 -p idle_send_timeout=600 -p send_timeout=36000'
#!/bin/sh
VARNISH_ADDR=10.42.254.134:3244
VARNISH_MGMT_ADDR=localhost:6082
VARNISH_CONFIG=/etc/varnish/default.vcl
VARNISH_STORAGE=malloc,40G
VARNISH_JAIL=unix,user=_varnish,workuser=_vcache
VARNISH_OPTIONS='-p nuke_limit=999999999 -p idle_send_timeout=600 -p send_timeout=36000'
#!/bin/sh
VARNISH_ADDR=10.42.254.135:3244
VARNISH_MGMT_ADDR=localhost:6082
VARNISH_CONFIG=/etc/varnish/default.vcl
VARNISH_STORAGE=malloc,40G
VARNISH_JAIL=unix,user=_varnish,workuser=_vcache
VARNISH_OPTIONS='-p nuke_limit=999999999 -p idle_send_timeout=600 -p send_timeout=36000'
vcl 4.1;
acl purge {
"localhost";
# Hina
"130.236.254.195";
"2001:6b0:17:f0a0::c3";
# FTP-push
"130.236.254.138";
"2001:6b0:17:f0a0::8a";
# Infiniband-nät
"10.42.0.0/16";
}
backend dataserver {
.host = "localhost";
.port = "1447";
# Varnish suger (data för snabbt så sonden misslyckas)
# .probe = {
# .url = "/";
# .timeout = 1s;
# .interval = 5s;
# .window = 5;
# .threshold = 3;
# }
}
sub vcl_recv {
if (req.method == "PURGE")
{
if (!client.ip ~ purge)
{
return(synth(405, "Not allowed."));
}
return (purge);
}
if (req.method == "HEAD")
{
return(pass);
}
if (req.url ~ "-repodata$") {
return(pass);
}
if (req.url ~ "/repodata/") {
return(pass);
}
if (req.url ~ "Packages.(gz|bz2)$") {
return(pass);
}
if (req.url ~ "/pub/(archlinux|manjaro)/.*\.(db|db.tar.gz|extra|extra.tar.gz)$") {
return(pass);
}
}
sub vcl_backend_response {
if (beresp.status == 404) {
set beresp.uncacheable = true;
return(deliver);
}
set beresp.ttl = 120h;
}
sub vcl_deliver {
unset resp.http.Age;
unset resp.http.X-Varnish;
unset resp.http.Via;
}
sub vcl_hash {
hash_data(req.url);
return (lookup);
}
......@@ -60,5 +60,26 @@ class ftp::frontend
enable => true,
restart => 'sv reload haproxy',
}
file { '/etc/varnish/default.vcl':
ensure => file,
owner => 'root',
group => 'root',
mode => '0644',
source => 'puppet:///modules/ftp/frontend/varnish/default.vcl',
}
file { '/etc/sv/varnishd/conf':
ensure => file,
owner => 'root',
group => 'root',
mode => '0755',
source => "puppet:///modules/ftp/frontend/varnish/conf-${facts['hostname']}",
}
service { 'varnishd':
provider => 'runit',
enable => true,
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment