[buildout] parts = etherpad-lite publish-connection-informations # frontend-etherpad eggs-directory = ${buildout:eggs-directory} develop-eggs-directory = ${buildout:develop-eggs-directory} offline = true [rootdirectory] recipe = slapos.cookbook:mkdirectory etc = $${buildout:directory}/etc/ var = $${buildout:directory}/var/ srv = $${buildout:directory}/srv/ bin = $${buildout:directory}/bin/ tmp = $${buildout:directory}/tmp/ [basedirectory] recipe = slapos.cookbook:mkdirectory log = $${rootdirectory:var}/log/ services = $${rootdirectory:etc}/run/ run = $${rootdirectory:etc}/run/ backup = $${rootdirectory:srv}/backup/ promises = $${rootdirectory:etc}/promise/ [directory] recipe = slapos.cookbook:mkdirectory etherpad-conf = $${rootdirectory:etc}/etherpad/ etherpad-repository-location = $${buildout:directory}/parts/etherpad-lite-repository [publish-connection-informations] recipe = slapos.cookbook:publish url = $${request-frontend:connection-site_url} [etherpad-conf-generation] recipe = slapos.recipe.template url = ${template-conf:location}/${template-conf:filename} ip = $${slap-network-information:global-ipv6} dirtydb-location = $${rootdirectory:var}/dirty.db port = 9001 mode = 0644 output = $${directory:etherpad-conf}/settings.json [etherpad-run-script] recipe = slapos.recipe.template url = ${template-run-script:location}/${template-run-script:filename} etherpad-location = ${etherpad-lite-repository:location} etherpad-repository-location = $${directory:etherpad-repository-location} nodejs-location = ${nodejs:location} etherpad-deps-script-location = ${template-deps-script:output} etherpad-conf-location = $${etherpad-conf-generation:output} etherpad-conf-name = settings-$${slap-connection:partition-id}.json mode = 0755 output = $${rootdirectory:bin}/run.sh # Command line comes from the run script of etherpad-lite [etherpad-lite] recipe = slapos.cookbook:wrapper wrapper-path = $${basedirectory:run}/etherpad-lite command-line = $${etherpad-run-script:output} -s $${etherpad-run-script:etherpad-conf-name} [request-frontend] <= slap-connection recipe = slapos.cookbook:request name = Frontend # XXX We have hardcoded SR URL here. software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg slave = true config = url config-url = http://$${etherpad-conf-generation:ip}:$${etherpad-conf-generation:port} return = site_url [frontend-etherpad] recipe = slapos.cookbook:check_url_available path = $${basedirectory:promises}/frontend-etherpad url = $${request-frontend:connection-site_url} dash_path = ${dash:location}/bin/dash curl_path = ${curl:location}/bin/curl