8 logrotate-entry-stunnel
16 publish-connection-informations
18 eggs-directory = ${buildout:eggs-directory}
19 develop-eggs-directory = ${buildout:develop-eggs-directory}
25 #-- Creation of all needed directories.
28 recipe = slapos.cookbook:mkdirectory
29 etc = $${buildout:directory}/etc
30 var = $${buildout:directory}/var
31 srv = $${buildout:directory}/srv
32 bin = $${buildout:directory}/bin
33 tmp = $${buildout:directory}/tmp
36 recipe = slapos.cookbook:mkdirectory
37 log = $${rootdirectory:var}/log
38 services = $${rootdirectory:etc}/run
39 run = $${rootdirectory:var}/run
40 backup = $${rootdirectory:srv}/backup
41 promises = $${rootdirectory:etc}/promise
44 recipe = slapos.cookbook:mkdirectory
45 ca-dir = $${rootdirectory:srv}/ssl
46 httpd-log = $${basedirectory:log}/apache
47 php-ini-dir = $${rootdirectory:etc}/php
48 tmp-php = $${rootdirectory:tmp}/php
49 logrotate-entries = $${rootdirectory:etc}/logrotate.d
50 logrotate-backup = $${basedirectory:backup}/logrotate
51 stunnel-conf = $${rootdirectory:etc}/stunnel
52 cronstamps = $${rootdirectory:etc}/cronstamps
53 cron-entries = $${rootdirectory:etc}/cron.d
54 crontabs = $${rootdirectory:etc}/crontabs
57 recipe = slapos.cookbook:mkdirectory
58 requests = $${directory:ca-dir}/requests
59 private = $${directory:ca-dir}/private
60 certs = $${directory:ca-dir}/certs
61 newcerts = $${directory:ca-dir}/newcerts
62 crl = $${directory:ca-dir}/crl
70 recipe = slapos.cookbook:cron
71 dcrond-binary = ${dcron:location}/sbin/crond
72 cron-entries = $${directory:cron-entries}
73 crontabs = $${directory:crontabs}
74 cronstamps = $${directory:cronstamps}
75 catcher = $${cron-simplelogger:wrapper}
76 binary = $${basedirectory:services}/crond
79 recipe = slapos.cookbook:simplelogger
80 wrapper = $${rootdirectory:bin}/cron_simplelogger
81 log = $${basedirectory:log}/crond.log
88 [cron-entry-logrotate]
90 recipe = slapos.cookbook:cron.d
93 command = $${logrotate:wrapper}
96 recipe = slapos.cookbook:logrotate
98 logrotate-binary = ${logrotate:location}/usr/sbin/logrotate
99 gzip-binary = ${gzip:location}/bin/gzip
100 gunzip-binary = ${gzip:location}/bin/gunzip
102 wrapper = $${rootdirectory:bin}/logrotate
103 conf = $${rootdirectory:etc}/logrotate.conf
104 logrotate-entries = $${directory:logrotate-entries}
105 backup = $${directory:logrotate-backup}
106 state-file = $${rootdirectory:srv}/logrotate.status
114 recipe = slapos.cookbook:stunnel
116 stunnel-binary = ${stunnel:location}/bin/stunnel
117 remote-host = $${mariadb-urlparse:host}
118 remote-port = $${mariadb-urlparse:port}
119 local-host = $${slap-network-information:local-ipv4}
121 log-file = $${basedirectory:log}/stunnel.log
122 config-file = $${directory:stunnel-conf}/stunnel.conf
123 key-file = $${directory:stunnel-conf}/stunnel.key
124 cert-file = $${directory:stunnel-conf}/stunnel.crt
125 pid-file = $${basedirectory:run}/stunnel.pid
126 wrapper = $${rootdirectory:bin}/raw_stunnel
127 post-rotate-script = $${rootdirectory:bin}/stunnel_post_rotate
129 [logrotate-entry-stunnel]
131 recipe = slapos.cookbook:logrotate.d
133 log = $${stunnel:log-file}
138 post = $${stunnel:post-rotate-script}
143 #-- Certificate stuff.
145 [certificate-authority]
146 recipe = slapos.cookbook:certificate_authority
147 openssl-binary = ${openssl:location}/bin/openssl
148 ca-dir = $${directory:ca-dir}
149 requests-directory = $${cadirectory:requests}
150 wrapper = $${basedirectory:services}/ca
151 ca-private = $${cadirectory:private}
152 ca-certs = $${cadirectory:certs}
153 ca-newcerts = $${cadirectory:newcerts}
154 ca-crl = $${cadirectory:crl}
157 <= certificate-authority
158 recipe = slapos.cookbook:certificate_authority.request
159 executable = $${stunnel:wrapper}
160 wrapper = $${basedirectory:services}/stunnel
161 key-file = $${stunnel:key-file}
162 cert-file = $${stunnel:cert-file}
167 #-- Request MariaDB instance and parse its URL.
171 recipe = slapos.cookbook:request
173 software-url = $${slap-connection:software-release-url}
174 software-type = mariadb
177 sla-computer_guid = $${slap-connection:computer-id}
180 recipe = slapos.cookbook:urlparse
181 url = $${request-mariadb:connection-url}
186 #-- Deploy Apache + PHP application.
189 recipe = slapos.cookbook:apachephp
190 source = ${application:location}
191 template = ${application-template:location}/${application-template:filename}
192 configuration = ${application-configuration:location}
194 htdocs = $${rootdirectory:srv}/www/
195 pid-file = $${basedirectory:run}/apache.pid
196 lock-file = $${basedirectory:run}/apache.lock
197 ip = $${slap-network-information:global-ipv6}
199 url = http://[$${:ip}]:$${:port}/
200 error-log = $${directory:httpd-log}/error.log
201 access-log = $${directory:httpd-log}/access.log
202 php-ini-dir = $${directory:php-ini-dir}
203 tmp-dir = $${directory:tmp-php}
204 httpd-conf = $${rootdirectory:etc}/apache.conf
205 wrapper = $${basedirectory:services}/apache
207 httpd-binary = ${apache:location}/bin/httpd
209 mysql-username = $${mariadb-urlparse:username}
210 mysql-password = $${mariadb-urlparse:password}
211 mysql-database = $${mariadb-urlparse:path}
212 mysql-host = $${stunnel:local-host}
213 mysql-port = $${stunnel:local-port}
215 [logrotate-entry-apache]
217 recipe = slapos.cookbook:logrotate.d
219 log = $${apache-php:error-log} $${apache-php:access-log}
229 #-- Request frontend.
233 recipe = slapos.cookbook:requestoptional
235 # XXX We have hardcoded SR URL here.
236 software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
238 config = url custom_domain
239 config-url = http://[$${apache-php:ip}]:$${apache-php:port}/
241 config-custom_domain = $${slap-parameter:domain}
246 #-- Deploy slapmonitor.
249 recipe = slapos.cookbook:slapmonitor
250 pid-file = $${basedirectory:run}/apache.pid
251 database-path = $${basedirectory:log}/slapmonitor.db
252 shell-path = ${dash:location}/bin/dash
253 slapmonitor-path = ${buildout:bin-directory}/slapmonitor
254 path = $${basedirectory:services}/slapmonitor
257 recipe = slapos.cookbook:slapreport
258 pid-file = $${basedirectory:run}/apache.pid
259 database-path = $${basedirectory:log}/slapmonitor.db
260 consumption-log-path = $${basedirectory:log}/instance_consumption.log
261 logbox-ip = 87.98.152.12
264 logbox-passwd = passer
265 shell-path = ${dash:location}/bin/dash
266 slapreport-path = ${buildout:bin-directory}/slapreport
267 path = $${basedirectory:services}/slapreport
272 #-- Publish all instance parameters (url of instance).
274 [publish-connection-informations]
275 recipe = slapos.cookbook:publish
276 backend_url = $${apache-php:url}
277 url = $${request-frontend:connection-site_url}
282 #-- Deploy promises scripts.
285 recipe = slapos.cookbook:check_port_listening
286 path = $${basedirectory:promises}/apache
287 hostname = $${apache-php:ip}
288 port = $${apache-php:port}
291 recipe = slapos.cookbook:check_url_available
292 path = $${basedirectory:promises}/frontend
293 url = $${request-frontend:connection-site_url}
294 dash_path = ${dash:location}/bin/dash
295 curl_path = ${curl:location}/bin/curl
298 recipe = slapos.cookbook:check_page_content
299 path = $${basedirectory:promises}/content
300 url = $${request-frontend:connection-site_url}
301 dash_path = ${dash:location}/bin/dash
302 curl_path = ${curl:location}/bin/curl
308 # Default value if no domain is specified
310 # Default value if no ssh parameter is specified