Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Gwenaël Samain
slapos
Commits
37e10364
Commit
37e10364
authored
Jul 03, 2013
by
Kazuhiko Shiozaki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
install stunnel in generic_varnish to support https backend.
parent
13a81682
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
44 additions
and
3 deletions
+44
-3
slapos/recipe/generic_varnish/__init__.py
slapos/recipe/generic_varnish/__init__.py
+20
-1
slapos/recipe/generic_varnish/template/stunnel.conf.in
slapos/recipe/generic_varnish/template/stunnel.conf.in
+10
-0
slapos/recipe/generic_varnish/template/stunnel.in
slapos/recipe/generic_varnish/template/stunnel.in
+3
-0
stack/erp5/buildout.cfg
stack/erp5/buildout.cfg
+5
-2
stack/erp5/instance-varnish.cfg.in
stack/erp5/instance-varnish.cfg.in
+5
-0
stack/erp5/instance.cfg.in
stack/erp5/instance.cfg.in
+1
-0
No files found.
slapos/recipe/generic_varnish/__init__.py
View file @
37e10364
...
@@ -39,9 +39,28 @@ class Recipe(GenericSlapRecipe):
...
@@ -39,9 +39,28 @@ class Recipe(GenericSlapRecipe):
ip
=
self
.
options
[
'ip'
]
ip
=
self
.
options
[
'ip'
]
backend_url
=
self
.
parameter_dict
[
'tidstorage-url'
]
backend_url
=
self
.
parameter_dict
[
'tidstorage-url'
]
backend_server
,
backend_port
=
self
.
_getBackendServer
(
backend_url
)
backend_server
,
backend_port
=
self
.
_getBackendServer
(
backend_url
)
path_list
=
[]
if
backend_url
.
startswith
(
'https://'
):
config
=
dict
(
stunnel_binary
=
self
.
options
[
'stunnel-binary'
],
stunnel_server
=
ip
,
stunnel_port
=
int
(
self
.
options
[
'stunnel-port'
]),
stunnel_pid_file
=
self
.
options
[
'stunnel-pid-file'
],
stunnel_conf_file
=
self
.
options
[
'stunnel-conf-file'
],
shell_path
=
self
.
options
[
'shell-path'
],
backend_server
=
backend_server
.
replace
(
'['
,
''
).
replace
(
']'
,
''
),
backend_port
=
backend_port
,
)
path_list
.
append
(
self
.
createExecutable
(
self
.
options
[
'stunnel-wrapper'
],
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'stunnel.in'
),
config
)))
path_list
.
append
(
self
.
createFile
(
self
.
options
[
'stunnel-conf-file'
],
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'stunnel.conf.in'
),
config
)))
backend_server
=
ip
backend_port
=
int
(
self
.
options
[
'stunnel-port'
])
varnishd_manager_port
=
int
(
self
.
options
[
'manager-port'
])
varnishd_manager_port
=
int
(
self
.
options
[
'manager-port'
])
varnishd_server_port
=
int
(
self
.
options
[
'server-port'
])
varnishd_server_port
=
int
(
self
.
options
[
'server-port'
])
path_list
=
[]
config
=
dict
(
config
=
dict
(
varnishd_binary
=
self
.
options
[
'varnishd-binary'
],
varnishd_binary
=
self
.
options
[
'varnishd-binary'
],
varnish_ip
=
ip
,
varnish_ip
=
ip
,
...
...
slapos/recipe/generic_varnish/template/stunnel.conf.in
0 → 100644
View file @
37e10364
foreground = yes
output = /dev/stdout
pid = %(stunnel_pid_file)s
debug = 4
[remote]
accept = %(stunnel_server)s:%(stunnel_port)s
client = yes
connect = %(backend_server)s:%(backend_port)s
sni = %(stunnel_server)s
slapos/recipe/generic_varnish/template/stunnel.in
0 → 100644
View file @
37e10364
#!%(shell_path)s
DAEMON_OPTS="%(stunnel_conf_file)s"
exec %(stunnel_binary)s ${DAEMON_OPTS} 2>&1
stack/erp5/buildout.cfg
View file @
37e10364
...
@@ -48,6 +48,7 @@ extends =
...
@@ -48,6 +48,7 @@ extends =
../../component/python-2.7/buildout.cfg
../../component/python-2.7/buildout.cfg
../../component/python-ldap-python/buildout.cfg
../../component/python-ldap-python/buildout.cfg
../../component/rdiff-backup/buildout.cfg
../../component/rdiff-backup/buildout.cfg
../../component/stunnel/buildout.cfg
../../component/subversion/buildout.cfg
../../component/subversion/buildout.cfg
../../component/tesseract/buildout.cfg
../../component/tesseract/buildout.cfg
../../component/varnish/buildout.cfg
../../component/varnish/buildout.cfg
...
@@ -76,6 +77,7 @@ parts =
...
@@ -76,6 +77,7 @@ parts =
graphviz
graphviz
haproxy
haproxy
jsl
jsl
stunnel
varnish-3.0
varnish-3.0
w3m
w3m
poppler
poppler
...
@@ -235,7 +237,7 @@ mode = 640
...
@@ -235,7 +237,7 @@ mode = 640
# XXX: "template.cfg" is hardcoded in instanciation recipe
# XXX: "template.cfg" is hardcoded in instanciation recipe
filename = template.cfg
filename = template.cfg
template = ${:_profile_base_location_}/instance.cfg.in
template = ${:_profile_base_location_}/instance.cfg.in
md5sum =
fbb7ea50d7ea6d4e25725801cc3fd5f9
md5sum =
a1a5a9983207e4a8128bab331cbd3cd5
extra-context =
extra-context =
key apache_location apache:location
key apache_location apache:location
key aspell_location aspell:location
key aspell_location aspell:location
...
@@ -274,6 +276,7 @@ extra-context =
...
@@ -274,6 +276,7 @@ extra-context =
key openssl_location openssl:location
key openssl_location openssl:location
key poppler_location poppler:location
key poppler_location poppler:location
key sed_location sed:location
key sed_location sed:location
key stunnel_location stunnel:location
key template_cloudooo template-cloudooo:target
key template_cloudooo template-cloudooo:target
key template_erp5_single template-erp5-single:target
key template_erp5_single template-erp5-single:target
key template_erp5_cluster template-erp5-cluster:target
key template_erp5_cluster template-erp5-cluster:target
...
@@ -316,7 +319,7 @@ mode = 640
...
@@ -316,7 +319,7 @@ mode = 640
[template-varnish]
[template-varnish]
recipe = slapos.recipe.build:download
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-varnish.cfg.in
url = ${:_profile_base_location_}/instance-varnish.cfg.in
md5sum =
728650f5d20ad637d8d824d1968865ca
md5sum =
ae0465591c22c0cb316c1706965c6b18
mode = 640
mode = 640
[bt5-repository]
[bt5-repository]
...
...
stack/erp5/instance-varnish.cfg.in
View file @
37e10364
...
@@ -28,18 +28,23 @@ recipe = slapos.cookbook:generic.varnish
...
@@ -28,18 +28,23 @@ recipe = slapos.cookbook:generic.varnish
ip = ${slap-network-information:local-ipv4}
ip = ${slap-network-information:local-ipv4}
server-port = 6001
server-port = 6001
manager-port = 6002
manager-port = 6002
stunnel-port = 6003
# Paths: Running wrappers
# Paths: Running wrappers
varnishd-wrapper = ${basedirectory:services}/varnishd
varnishd-wrapper = ${basedirectory:services}/varnishd
varnishlog-wrapper = ${rootdirectory:bin}/varnishlog
varnishlog-wrapper = ${rootdirectory:bin}/varnishlog
stunnel-wrapper = ${basedirectory:services}/stunnel
# Binary information
# Binary information
varnishd-binary = {{ parameter_dict['varnish'] }}/sbin/varnishd
varnishd-binary = {{ parameter_dict['varnish'] }}/sbin/varnishd
varnishlog-binary = {{ parameter_dict['varnish'] }}/bin/varnishlog
varnishlog-binary = {{ parameter_dict['varnish'] }}/bin/varnishlog
shell-path = {{ parameter_dict['dash'] }}/bin/dash
shell-path = {{ parameter_dict['dash'] }}/bin/dash
stunnel-binary = {{ parameter_dict['stunnel'] }}/bin/stunnel
# Configuration by VCL
# Configuration by VCL
vcl-file = ${rootdirectory:etc}/default.vcl
vcl-file = ${rootdirectory:etc}/default.vcl
pid-file = ${basedirectory:run}/varnishd.pid
pid-file = ${basedirectory:run}/varnishd.pid
stunnel-conf-file = ${rootdirectory:etc}/stunnel.conf
stunnel-pid-file = ${basedirectory:run}/stunnel.pid
varnish-data = ${directory:varnish-data}
varnish-data = ${directory:varnish-data}
# this will pass at -n option
# this will pass at -n option
varnish-instance-name = ${directory:varnish-instance}
varnish-instance-name = ${directory:varnish-instance}
...
...
stack/erp5/instance.cfg.in
View file @
37e10364
...
@@ -99,6 +99,7 @@ dash = {{ dash_location }}
...
@@ -99,6 +99,7 @@ dash = {{ dash_location }}
dcron = {{ dcron_location }}
dcron = {{ dcron_location }}
gzip = {{ gzip_location }}
gzip = {{ gzip_location }}
logrotate = {{ logrotate_location }}
logrotate = {{ logrotate_location }}
stunnel = {{ stunnel_location }}
varnish = {{ varnish_location }}
varnish = {{ varnish_location }}
wget = {{ wget_location }}
wget = {{ wget_location }}
buildout-bin-directory = {{ buildout_bin_directory }}
buildout-bin-directory = {{ buildout_bin_directory }}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment