Commit ac6f4c37 authored by Cédric Le Ninivin's avatar Cédric Le Ninivin

apache-frontend: remove squid recipe

Remove squid recipe to offer better reactivity if modification are needed
parent 13ce0be9
...@@ -58,7 +58,7 @@ mode = 0644 ...@@ -58,7 +58,7 @@ mode = 0644
[template-apache-frontend] [template-apache-frontend]
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-apache-frontend.cfg url = ${:_profile_base_location_}/instance-apache-frontend.cfg
md5sum = 8ca00cbce7ea6b6817eb99564aa3172a md5sum = 9f3eec91f43ae0730e9bba93f83572fc
output = ${buildout:directory}/template-apache-frontend.cfg output = ${buildout:directory}/template-apache-frontend.cfg
mode = 0644 mode = 0644
...@@ -129,6 +129,12 @@ url = ${:_profile_base_location_}/templates/default-virtualhost.conf.in ...@@ -129,6 +129,12 @@ url = ${:_profile_base_location_}/templates/default-virtualhost.conf.in
md5sum = ac845c0fa3835832307a0e7323cb339d md5sum = ac845c0fa3835832307a0e7323cb339d
mode = 640 mode = 640
[template-squid-configuration]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/templates/squid.conf.jinja2
md5sum = 9f70474181372d34c8cd203f24ab546e
mode = 640
[template-empty] [template-empty]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/templates/empty.in url = ${:_profile_base_location_}/templates/empty.in
......
...@@ -7,7 +7,6 @@ parts = ...@@ -7,7 +7,6 @@ parts =
cron-entry-logrotate cron-entry-logrotate
ca-frontend ca-frontend
certificate-authority certificate-authority
squid-cache
logrotate-entry-apache logrotate-entry-apache
logrotate-entry-apache-cached logrotate-entry-apache-cached
logrotate-entry-squid logrotate-entry-squid
...@@ -16,7 +15,10 @@ parts = ...@@ -16,7 +15,10 @@ parts =
switch-apache-softwaretype switch-apache-softwaretype
frontend-apache-graceful frontend-apache-graceful
cached-apache-graceful cached-apache-graceful
squid-service
squid-prepare
squid-reload squid-reload
promise-squid
dynamic-template-default-vh dynamic-template-default-vh
not-found-html not-found-html
promise-apache-frontend-v4-https promise-apache-frontend-v4-https
...@@ -24,7 +26,6 @@ parts = ...@@ -24,7 +26,6 @@ parts =
promise-apache-frontend-v6-https promise-apache-frontend-v6-https
promise-apache-frontend-v6-http promise-apache-frontend-v6-http
promise-apache-cached promise-apache-cached
promise-squid
eggs-directory = ${buildout:eggs-directory} eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory} develop-eggs-directory = ${buildout:develop-eggs-directory}
...@@ -55,8 +56,6 @@ crontabs = $${:etc}/crontabs ...@@ -55,8 +56,6 @@ crontabs = $${:etc}/crontabs
cronstamps = $${:etc}/cronstamps cronstamps = $${:etc}/cronstamps
ca-dir = $${:srv}/ssl ca-dir = $${:srv}/ssl
squid-cache = $${:srv}/squid_cache
[switch-apache-softwaretype] [switch-apache-softwaretype]
recipe = slapos.cookbook:softwaretype recipe = slapos.cookbook:softwaretype
single-default = $${dynamic-default-template-slave-list:rendered} single-default = $${dynamic-default-template-slave-list:rendered}
...@@ -399,13 +398,19 @@ sharedscripts = true ...@@ -399,13 +398,19 @@ sharedscripts = true
notifempty = true notifempty = true
create = true create = true
######################
# Squid deployment
######################
[squid-directory]
recipe = slapos.cookbook:mkdirectory
squid-cache = $${directory:srv}/squid_cache
[squid-cache] [squid-cache]
recipe = slapos.cookbook:squid
prepare-path = $${directory:etc-run}/squid-prepare prepare-path = $${directory:etc-run}/squid-prepare
wrapper-path = $${directory:service}/squid wrapper-path = $${directory:service}/squid
binary-path = ${squid:location}/sbin/squid binary-path = ${squid:location}/sbin/squid
conf-path = $${directory:etc}/squid.cfg configuration-path = $${directory:etc}/squid.cfg
cache-path = $${directory:squid-cache} cache-path = $${squid-directory:squid-cache}
ip = $${instance-parameter:ipv4-random} ip = $${instance-parameter:ipv4-random}
port = $${apache-configuration:cache-port} port = $${apache-configuration:cache-port}
backend-ip = $${instance-parameter:ipv4-random} backend-ip = $${instance-parameter:ipv4-random}
...@@ -415,11 +420,44 @@ access-log-path = $${directory:log}/squid-access.log ...@@ -415,11 +420,44 @@ access-log-path = $${directory:log}/squid-access.log
cache-log-path = $${directory:log}/squid-cache.log cache-log-path = $${directory:log}/squid-cache.log
pid-filename-path = $${directory:run}/squid.pid pid-filename-path = $${directory:run}/squid.pid
[squid-configuration]
< = jinja2-template-base
template = ${template-squid-configuration:target}
rendered = $${squid-cache:configuration-path}
extra-context =
key ip squid-cache:ip
key port squid-cache:port
key backend_ip squid-cache:backend-ip
key backend_port squid-cache:backend-port
key cache_path squid-cache:cache-path
key access_log_path squid-cache:access-log-path
key cache_log_path squid-cache:cache-log-path
key pid_filename_path squid-cache:pid-filename-path
key open_port squid-cache:open-port
[squid-service]
recipe = slapos.cookbook:wrapper
command-line = $${squid-cache:binary-path} -N -f $${squid-configuration:rendered}
wrapper-path = $${squid-cache:wrapper-path}
[squid-prepare]
recipe = slapos.cookbook:wrapper
command-line = $${squid-cache:binary-path} -z -f $${squid-configuration:rendered}
wrapper-path = $${squid-cache:prepare-path}
[squid-reload] [squid-reload]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
command-line = ${buildout:bin-directory}/killpidfromfile $${squid-cache:pid-filename-path} SIGHUP command-line = ${buildout:bin-directory}/killpidfromfile $${squid-cache:pid-filename-path} SIGHUP
wrapper-path = $${directory:etc-run}/squid-reload wrapper-path = $${directory:etc-run}/squid-reload
[promise-squid]
recipe = slapos.cookbook:check_port_listening
path = $${directory:promise}/squid
hostname = $${instance-parameter:ipv4-random}
port = $${apache-configuration:cache-port}
# End of Squid part
[frontend-apache-graceful] [frontend-apache-graceful]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
command-line = ${buildout:bin-directory}/killpidfromfile $${apache-configuration:pid-file} SIGUSR1 command-line = ${buildout:bin-directory}/killpidfromfile $${apache-configuration:pid-file} SIGUSR1
...@@ -460,12 +498,6 @@ path = $${directory:promise}/apache_cached ...@@ -460,12 +498,6 @@ path = $${directory:promise}/apache_cached
hostname = $${instance-parameter:ipv4-random} hostname = $${instance-parameter:ipv4-random}
port = $${apache-configuration:cache-through-port} port = $${apache-configuration:cache-through-port}
[promise-squid]
recipe = slapos.cookbook:check_port_listening
path = $${directory:promise}/squid
hostname = $${instance-parameter:ipv4-random}
port = $${apache-configuration:cache-port}
[slap_connection] [slap_connection]
# Kept for backward compatiblity # Kept for backward compatiblity
computer_id = $${slap-connection:computer-id} computer_id = $${slap-connection:computer-id}
......
refresh_pattern . 0 20% 4320 max-stale=604800
# Dissallow cachemgr access
http_access deny manager
# Squid service configuration
http_port {{ ip }}:{{ port }} accel defaultsite={{ ip }}
cache_peer {{ backend_ip }} parent {{ backend_port }} 0 no-query originserver name=backend
acl our_sites port {{ open_port }}
http_access allow our_sites
cache_peer_access backend allow our_sites
cache_peer_access backend deny all
# Drop squid headers
# via off
# reply_header_access X-Cache-Lookup deny all
# reply_header_access X-Squid-Error deny all
# reply_header_access X-Cache deny all
header_replace X-Forwarded-For
follow_x_forwarded_for allow all
forwarded_for on
# Use 1Go of RAM
cache_mem 1024 MB
# But do not keep big object in RAM
maximum_object_size_in_memory 2048 KB
# Log
access_log {{ access_log_path }}
cache_log {{ cache_log_path }}
pid_filename {{ pid_filename_path }}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment