8 logrotate-entry-stunnel
17 publish-connection-informations
19 eggs-directory = ${buildout:eggs-directory}
20 develop-eggs-directory = ${buildout:develop-eggs-directory}
26 #-- Creation of all needed directories.
29 recipe = slapos.cookbook:mkdirectory
30 etc = $${buildout:directory}/etc
31 var = $${buildout:directory}/var
32 srv = $${buildout:directory}/srv
33 bin = $${buildout:directory}/bin
34 tmp = $${buildout:directory}/tmp
37 recipe = slapos.cookbook:mkdirectory
38 log = $${rootdirectory:var}/log
39 services = $${rootdirectory:etc}/run
40 run = $${rootdirectory:var}/run
41 backup = $${rootdirectory:srv}/backup
42 promises = $${rootdirectory:etc}/promise
45 recipe = slapos.cookbook:mkdirectory
46 cron-entries = $${rootdirectory:etc}/cron.d
47 crontabs = $${rootdirectory:etc}/crontabs
48 cronstamps = $${rootdirectory:etc}/cronstamps
49 ca-dir = $${rootdirectory:srv}/ssl
50 httpd-log = $${basedirectory:log}/apache
51 php-ini-dir = $${rootdirectory:etc}/php
52 tmp-php = $${rootdirectory:tmp}/php
53 logrotate-entries = $${rootdirectory:etc}/logrotate.d
54 logrotate-backup = $${basedirectory:backup}/logrotate
55 report = $${rootdirectory:etc}/report
56 stunnel-conf = $${rootdirectory:etc}/stunnel
57 xml-report = $${rootdirectory:var}/xml_report
60 recipe = slapos.cookbook:mkdirectory
61 requests = $${directory:ca-dir}/requests
62 private = $${directory:ca-dir}/private
63 certs = $${directory:ca-dir}/certs
64 newcerts = $${directory:ca-dir}/newcerts
65 crl = $${directory:ca-dir}/crl
73 recipe = slapos.cookbook:cron
74 dcrond-binary = ${dcron:location}/sbin/crond
75 cron-entries = $${directory:cron-entries}
76 crontabs = $${directory:crontabs}
77 cronstamps = $${directory:cronstamps}
78 catcher = $${cron-simplelogger:wrapper}
79 binary = $${basedirectory:services}/crond
82 recipe = slapos.cookbook:simplelogger
83 wrapper = $${rootdirectory:bin}/cron_simplelogger
84 log = $${basedirectory:log}/crond.log
91 [cron-entry-logrotate]
93 recipe = slapos.cookbook:cron.d
96 command = $${logrotate:wrapper}
99 recipe = slapos.cookbook:logrotate
101 logrotate-binary = ${logrotate:location}/usr/sbin/logrotate
102 gzip-binary = ${gzip:location}/bin/gzip
103 gunzip-binary = ${gzip:location}/bin/gunzip
105 wrapper = $${rootdirectory:bin}/logrotate
106 conf = $${rootdirectory:etc}/logrotate.conf
107 logrotate-entries = $${directory:logrotate-entries}
108 backup = $${directory:logrotate-backup}
109 state-file = $${rootdirectory:srv}/logrotate.status
117 recipe = slapos.cookbook:stunnel
119 stunnel-binary = ${stunnel:location}/bin/stunnel
120 remote-host = $${mariadb-urlparse:host}
121 remote-port = $${mariadb-urlparse:port}
122 local-host = $${slap-network-information:local-ipv4}
124 log-file = $${basedirectory:log}/stunnel.log
125 config-file = $${directory:stunnel-conf}/stunnel.conf
126 key-file = $${directory:stunnel-conf}/stunnel.key
127 cert-file = $${directory:stunnel-conf}/stunnel.crt
128 pid-file = $${basedirectory:run}/stunnel.pid
129 wrapper = $${rootdirectory:bin}/raw_stunnel
130 post-rotate-script = $${rootdirectory:bin}/stunnel_post_rotate
132 [logrotate-entry-stunnel]
134 recipe = slapos.cookbook:logrotate.d
136 log = $${stunnel:log-file}
141 post = $${stunnel:post-rotate-script}
146 #-- Certificate stuff.
148 [certificate-authority]
149 recipe = slapos.cookbook:certificate_authority
150 openssl-binary = ${openssl:location}/bin/openssl
151 ca-dir = $${directory:ca-dir}
152 requests-directory = $${cadirectory:requests}
153 wrapper = $${basedirectory:services}/ca
154 ca-private = $${cadirectory:private}
155 ca-certs = $${cadirectory:certs}
156 ca-newcerts = $${cadirectory:newcerts}
157 ca-crl = $${cadirectory:crl}
160 <= certificate-authority
161 recipe = slapos.cookbook:certificate_authority.request
162 executable = $${stunnel:wrapper}
163 wrapper = $${basedirectory:services}/stunnel
164 key-file = $${stunnel:key-file}
165 cert-file = $${stunnel:cert-file}
170 #-- Request MariaDB instance and parse its URL.
174 recipe = slapos.cookbook:request
176 software-url = $${slap-connection:software-release-url}
177 software-type = mariadb
180 sla-computer_guid = $${slap-connection:computer-id}
183 recipe = slapos.cookbook:urlparse
184 url = $${request-mariadb:connection-url}
189 #-- Deploy Apache + PHP application.
192 recipe = slapos.cookbook:apachephp
193 source = ${application:location}
194 template = ${application-template:location}/${application-template:filename}
195 configuration = ${application-configuration:location}
197 htdocs = $${rootdirectory:srv}/www/
198 pid-file = $${basedirectory:run}/apache.pid
199 lock-file = $${basedirectory:run}/apache.lock
200 ip = $${slap-network-information:global-ipv6}
202 url = http://[$${:ip}]:$${:port}/
203 error-log = $${directory:httpd-log}/error.log
204 access-log = $${directory:httpd-log}/access.log
205 php-ini-dir = $${directory:php-ini-dir}
206 tmp-dir = $${directory:tmp-php}
207 httpd-conf = $${rootdirectory:etc}/apache.conf
208 wrapper = $${basedirectory:services}/apache
210 httpd-binary = ${apache:location}/bin/httpd
212 mysql-username = $${mariadb-urlparse:username}
213 mysql-password = $${mariadb-urlparse:password}
214 mysql-database = $${mariadb-urlparse:path}
215 mysql-host = $${stunnel:local-host}
216 mysql-port = $${stunnel:local-port}
218 [logrotate-entry-apache]
220 recipe = slapos.cookbook:logrotate.d
222 log = $${apache-php:error-log} $${apache-php:access-log}
232 #-- Request frontend.
236 recipe = slapos.cookbook:requestoptional
238 # XXX We have hardcoded SR URL here.
239 software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
241 config = url custom_domain
242 config-url = http://[$${apache-php:ip}]:$${apache-php:port}/
244 config-custom_domain = $${slap-parameter:domain}
249 #-- Deploy slapmonitor.
252 recipe = slapos.cookbook:slapmonitor
253 pid-file = $${basedirectory:run}/apache.pid
254 database-path = $${basedirectory:log}/slapmonitor.db
255 slapmonitor-path = ${buildout:bin-directory}/slapmonitor
256 path = $${basedirectory:services}/slapmonitor
259 recipe = slapos.cookbook:slapmonitor-xml
260 database-path = $${basedirectory:log}/slapmonitor.db
261 slapmonitor-xml-path = ${buildout:bin-directory}/slapmonitor-xml
262 path = $${directory:report}/slapmonitor-xml
267 #-- Publish instance parameters.
269 [publish-connection-informations]
270 recipe = slapos.cookbook:publish
271 backend_url = $${apache-php:url}
272 url = $${request-frontend:connection-site_url}
277 #-- Deploy promises scripts.
280 recipe = slapos.cookbook:check_port_listening
281 path = $${basedirectory:promises}/apache
282 hostname = $${apache-php:ip}
283 port = $${apache-php:port}
286 recipe = slapos.cookbook:check_url_available
287 path = $${basedirectory:promises}/frontend
288 url = $${request-frontend:connection-site_url}
289 dash_path = ${dash:location}/bin/dash
290 curl_path = ${curl:location}/bin/curl
293 recipe = slapos.cookbook:check_page_content
294 path = $${basedirectory:promises}/content
295 url = $${request-frontend:connection-site_url}
296 dash_path = ${dash:location}/bin/dash
297 curl_path = ${curl:location}/bin/curl
303 # Default value if no domain is specified
305 # Default value if no ssh parameter is specified