From e6952f6788672b07c2c3116b5cd1d846c4b1c6f0 Mon Sep 17 00:00:00 2001
From: Alain Takoudjou <talino@tiolive.com>
Date: Wed, 22 May 2013 16:06:12 +0000
Subject: [PATCH] Upgrade AjaxUpload, request missing frontend

---
 software/ajaxplorer/instance-apachephp.cfg |  67 +++++-
 software/ajaxplorer/instance-mariadb.cfg   | 224 ---------------------
 software/ajaxplorer/software.cfg           |  62 +++++-
 3 files changed, 108 insertions(+), 245 deletions(-)
 delete mode 100644 software/ajaxplorer/instance-mariadb.cfg

diff --git a/software/ajaxplorer/instance-apachephp.cfg b/software/ajaxplorer/instance-apachephp.cfg
index 7ea65c53b..9c957c2a4 100644
--- a/software/ajaxplorer/instance-apachephp.cfg
+++ b/software/ajaxplorer/instance-apachephp.cfg
@@ -10,7 +10,9 @@ parts =
   cron-entry-logrotate
   promise
 
-  frontend-promise
+  frontend-ajaxupload-promise
+  frontend-website2-promise
+  frontend-website-promise
   content-promise
   publish-connection-informations
 
@@ -196,9 +198,9 @@ document_root = $${rootdirectory:srv}/www/
 pid_file = $${basedirectory:run}/apache.pid
 lock_file = $${basedirectory:run}/apache.lock
 ip = $${slap-network-information:global-ipv6}
-port3 = 8090
-port2 = 8070
 port = 8080
+port2 = 8070
+port3 = 8090
 error_log = $${directory:httpd-log}/error.log
 access_log = $${directory:httpd-log}/access.log
 php_ini_dir = $${directory:php-ini-dir}
@@ -249,20 +251,44 @@ create = true
 
 #----------------
 #--
-#-- Request frontend.
+#-- Request frontends.
 
 [request-frontend]
 <= slap-connection
 recipe = slapos.cookbook:requestoptional
-name = Frontend
+name = Frontend-Website
 # XXX We have hardcoded SR URL here.
-software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
+software-url = $${slap-parameter:frontend-software-url}
 slave = true
 config = url custom_domain
 config-url = http://[$${apache-php:ip}]:$${apache-php:port}/
 return = site_url
 config-custom_domain = $${slap-parameter:domain}
 
+[request-frontend-ajaxupload]
+<= slap-connection
+recipe = slapos.cookbook:requestoptional
+name = Frontend-FileManager
+# XXX We have hardcoded SR URL here.
+software-url = $${slap-parameter:frontend-software-url}
+slave = true
+config = url custom_domain
+config-url = http://[$${httpd-conf:ip}]:$${httpd-conf:port2}/
+return = site_url
+config-custom_domain = $${slap-parameter:domain2}
+
+[request-frontend2]
+<= slap-connection
+recipe = slapos.cookbook:requestoptional
+name = Frontend-Website2
+# XXX We have hardcoded SR URL here.
+software-url = $${slap-parameter:frontend-software-url}
+slave = true
+config = url custom_domain
+config-url = http://[$${httpd-conf:ip}]:$${httpd-conf:port3}/
+return = site_url
+config-custom_domain = $${slap-parameter:domain3}
+
 
 #----------------
 #--
@@ -290,8 +316,10 @@ config-custom_domain = $${slap-parameter:domain}
 recipe = slapos.cookbook:publish
 website-backend-url = $${apache-php:url}
 website-url = $${request-frontend:connection-site_url}
-website2-url = http://[$${apache-php:ip}]:$${httpd-conf:port3}
-file-manager-url = http://[$${apache-php:ip}]:$${httpd-conf:port2}
+website2-backend-url = http://[$${apache-php:ip}]:$${httpd-conf:port3}
+website2-url  = $${request-frontend2:connection-site_url}
+filemanager-backend-url = http://[$${apache-php:ip}]:$${httpd-conf:port2}
+fileManager-url = $${request-frontend-ajaxupload:connection-site_url}
 mysql-username = $${mariadb-urlparse:username}
 mysql-password = $${mariadb-urlparse:password}
 mysql-database = $${mariadb-urlparse:path}
@@ -309,18 +337,32 @@ path = $${basedirectory:promises}/apache
 hostname = $${apache-php:ip}
 port = $${apache-php:port}
 
-[frontend-promise]
+[frontend-website-promise]
 recipe = slapos.cookbook:check_url_available
 path = $${basedirectory:promises}/frontend
 url = $${request-frontend:connection-site_url}
 dash_path = ${dash:location}/bin/dash
 curl_path = ${curl:location}/bin/curl
 
+[frontend-website2-promise]
+recipe = slapos.cookbook:check_url_available
+path = $${basedirectory:promises}/frontend
+url = $${request-frontend2:connection-site_url}
+dash_path = ${dash:location}/bin/dash
+curl_path = ${curl:location}/bin/curl
+
+[frontend-ajaxupload-promise]
+recipe = slapos.cookbook:check_url_available
+path = $${basedirectory:promises}/frontend
+url = $${request-frontend-ajaxupload:connection-site_url}
+dash_path = ${dash:location}/bin/dash
+curl_path = ${curl:location}/bin/curl
+
 [content-promise]
 recipe = slapos.cookbook:check_page_content
 path = $${basedirectory:promises}/content
-url = $${request-frontend:connection-site_url}
-pattern = ajaxplorer
+url = $${request-frontend-ajaxupload:connection-site_url}
+pattern = AjaXplorer
 dash_path = ${dash:location}/bin/dash
 curl_path = ${curl:location}/bin/curl
 
@@ -330,6 +372,9 @@ curl_path = ${curl:location}/bin/curl
 [slap-parameter]
 # Default value if no domain is specified
 domain =
+domain2 =
+domain3 =
+frontend-software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
 # Default value if no ssh parameter is specified
 logbox-ip =
 logbox-port =
diff --git a/software/ajaxplorer/instance-mariadb.cfg b/software/ajaxplorer/instance-mariadb.cfg
deleted file mode 100644
index 2257ba8ea..000000000
--- a/software/ajaxplorer/instance-mariadb.cfg
+++ /dev/null
@@ -1,224 +0,0 @@
-[buildout]
-parts =
-  urls
-  mariadb
-  stunnel
-  certificate-authority
-  ca-stunnel
-  logrotate
-  logrotate-entry-mariadb
-  logrotate-entry-stunnel
-  logrotate-entry-cron
-  cron
-  cron-entry-logrotate
-  slapmonitor
-  slapreport
-
-gzip-binary = ${gzip:location}/bin/gzip
-
-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/
-
-[basedirectory]
-recipe = slapos.cookbook:mkdirectory
-log = $${rootdirectory:var}/log/
-scripts = $${rootdirectory:etc}/run/
-services = $${rootdirectory:etc}/service/
-run = $${rootdirectory:var}/run/
-backup = $${rootdirectory:srv}/backup/
-promises = $${rootdirectory:etc}/promise/
-
-[directory]
-recipe = slapos.cookbook:mkdirectory
-cron-entries = $${rootdirectory:etc}/cron.d/
-crontabs = $${rootdirectory:etc}/crontabs/
-cronstamps = $${rootdirectory:etc}/cronstamps/
-ca-dir = $${rootdirectory:srv}/ssl/
-mariadb-data = $${rootdirectory:srv}/mariadb/
-logrotate-backup = $${basedirectory:backup}/logrotate/
-stunnel-conf = $${rootdirectory:etc}/stunnel/
-logrotate-entries = $${rootdirectory:etc}/logrotate.d/
-
-[urls]
-recipe = slapos.cookbook:publish
-url = mysqls://$${mariadb:user}:$${mariadb:password}@[$${stunnel:remote-host}]:$${stunnel:remote-port}/$${mariadb:database}
-
-[mariadb]
-recipe = slapos.cookbook:mysql
-
-# Options
-recovering = false
-user = dbuser
-port = 3306
-password = $${mysql-password:passwd}
-ip = $${slap-network-information:local-ipv4}
-database = mydb
-
-# Paths
-wrapper = $${basedirectory:services}/mariadb
-update-wrapper = $${basedirectory:scripts}/mariadb_update
-logrotate-post = $${rootdirectory:bin}/mariadb_post_logrotate
-data-directory = $${directory:mariadb-data}
-pid-file = $${basedirectory:run}/mariadb.pid
-socket = $${basedirectory:run}/mariadb.sock
-error-log = $${basedirectory:log}/mariadb_error.log
-conf-file = $${rootdirectory:etc}/mariadb.cnf
-promise = $${basedirectory:promises}/mysql
-
-# Binary information
-mysql-base-directory = ${mariadb:location}
-mysql-binary = ${mariadb:location}/bin/mysql
-mysql-install-binary = ${mariadb:location}/scripts/mysql_install_db
-mysql-upgrade-binary = ${mariadb:location}/bin/mysql_upgrade
-mysqld-binary = ${mariadb:location}/bin/mysqld
-
-[mysql-password]
-recipe = slapos.cookbook:generate.password
-storage-path = $${rootdirectory:etc}/.passwd
-bytes = 4
-
-[slapmonitor]
-recipe = slapos.cookbook:slapmonitor
-pid-file = $${basedirectory:run}/mariadb.pid
-database-path = $${basedirectory:log}/slapmonitor.db
-shell-path = ${dash:location}/bin/dash
-slapmonitor-path = ${buildout:bin-directory}/slapmonitor
-path = $${basedirectory:scripts}/slapmonitor
-
-[slapreport]
-recipe = slapos.cookbook:slapreport
-pid-file = $${basedirectory:run}/mariadb.pid
-consumption-log-path = $${basedirectory:log}/instance_consumption.log
-database-path = $${basedirectory:log}/slapmonitor.db
-logbox-ip = 87.98.152.12
-logbox-port = 5122
-logbox-user = admin
-logbox-passwd = passer
-shell-path = ${dash:location}/bin/dash
-slapreport-path = ${buildout:bin-directory}/slapreport
-path = $${basedirectory:scripts}/slapreport
-
-[certificate-authority]
-recipe = slapos.cookbook:certificate_authority
-openssl-binary = ${openssl:location}/bin/openssl
-ca-dir = $${directory:ca-dir}
-requests-directory = $${cadirectory:requests}
-wrapper = $${basedirectory:services}/ca
-ca-private = $${cadirectory:private}
-ca-certs = $${cadirectory:certs}
-ca-newcerts = $${cadirectory:newcerts}
-ca-crl = $${cadirectory:crl}
-
-[cadirectory]
-recipe = slapos.cookbook:mkdirectory
-requests = $${directory:ca-dir}/requests/
-private = $${directory:ca-dir}/private/
-certs = $${directory:ca-dir}/certs/
-newcerts = $${directory:ca-dir}/newcerts/
-crl = $${directory:ca-dir}/crl/
-
-[ca-stunnel]
-<= certificate-authority
-recipe = slapos.cookbook:certificate_authority.request
-executable = $${stunnel:wrapper}
-wrapper = $${basedirectory:services}/stunnel
-key-file = $${stunnel:key-file}
-cert-file = $${stunnel:cert-file}
-
-[stunnel]
-recipe = slapos.cookbook:stunnel
-stunnel-binary = ${stunnel:location}/bin/stunnel
-wrapper = $${rootdirectory:bin}/stunnel
-log-file = $${basedirectory:log}/stunnel.log
-config-file = $${directory:stunnel-conf}/stunnel.conf
-key-file = $${directory:stunnel-conf}/stunnel.key
-cert-file = $${directory:stunnel-conf}/stunnel.crt
-pid-file = $${basedirectory:run}/stunnel.pid
-local-host = $${mariadb:ip}
-local-port = $${mariadb:port}
-remote-host = $${slap-network-information:global-ipv6}
-remote-port = 6446
-client = false
-post-rotate-script = $${rootdirectory:bin}/stunnel_post_rotate
-
-[logrotate]
-recipe = slapos.cookbook:logrotate
-# Binaries
-logrotate-binary = ${logrotate:location}/usr/sbin/logrotate
-gzip-binary = $${buildout:gzip-binary}
-gunzip-binary = ${gzip:location}/bin/gunzip
-# Directories
-wrapper = $${rootdirectory:bin}/logrotate
-conf = $${rootdirectory:etc}/logrotate.conf
-logrotate-entries = $${directory:logrotate-entries}
-backup = $${directory:logrotate-backup}
-state-file = $${rootdirectory:srv}/logrotate.status
-
-[logrotate-entry-mariadb]
-<= logrotate
-recipe = slapos.cookbook:logrotate.d
-name = mariadb
-log = $${mariadb:error-log}
-frequency = daily
-rotate-num = 30
-post = $${mariadb:logrotate-post}
-sharedscripts = true
-notifempty = true
-create = true
-
-[logrotate-entry-stunnel]
-<= logrotate
-recipe = slapos.cookbook:logrotate.d
-name = stunnel
-log = $${stunnel:log-file}
-frequency = daily
-rotate-num = 30
-notifempty = true
-create = true
-post = $${stunnel:post-rotate-script}
-
-[logrotate-entry-cron]
-<= logrotate
-recipe =slapos.cookbook:logrotate.d
-name = crond
-log = $${cron-simplelogger:log}
-frequency = daily
-rotate-num = 30
-notifempty = true
-create = true
-
-[cron]
-recipe = slapos.cookbook:cron
-dcrond-binary = ${dcron:location}/sbin/crond
-cron-entries = $${directory:cron-entries}
-crontabs = $${directory:crontabs}
-cronstamps = $${directory:cronstamps}
-catcher = $${cron-simplelogger:wrapper}
-binary = $${basedirectory:services}/crond
-
-[cron-simplelogger]
-recipe = slapos.cookbook:simplelogger
-wrapper = $${rootdirectory:bin}/cron_simplelogger
-log = $${basedirectory:log}/crond.log
-
-[cron-entry-logrotate]
-<= cron
-recipe = slapos.cookbook:cron.d
-name = logrotate
-frequency = 0 0 * * *
-command = $${logrotate:wrapper}
-
-[slap-parameter]
-#Default  value if no ssh parameters specified
-logbox-ip =
-logbox-port =
-logbox-user =
-logbox-passwd =
\ No newline at end of file
diff --git a/software/ajaxplorer/software.cfg b/software/ajaxplorer/software.cfg
index 19c7f2e58..1a537c2f1 100644
--- a/software/ajaxplorer/software.cfg
+++ b/software/ajaxplorer/software.cfg
@@ -40,14 +40,13 @@ md5sum = 4c7936accb3658871b635158198b7905
 recipe = slapos.recipe.template
 url = ${:_profile_base_location_}/instance-apachephp.cfg
 output = ${buildout:directory}/template-apachephp.cfg
-md5sum = 75cca199ae36fc0568006e51f209f09f
+md5sum = e89aed0fe9697e18bd210a82b82f3b27
 mode = 0644
 
 [instance-mariadb]
 recipe = slapos.recipe.template
-url = ${:_profile_base_location_}/instance-mariadb.cfg
+url = ${:_profile_base_location_}/../../stack/lamp/mariadb/instance-mariadb.cfg.in
 output = ${buildout:directory}/template-mariadb.cfg
-md5sum = d77020d91849e9b3d3716069874a1dd9
 mode = 0644
 
 [application]
@@ -61,6 +60,7 @@ recipe = z3c.recipe.mkdir
 paths =
   ${application:location}/data/files/website
   ${application:location}/data/files/website2
+mode = 0700
 
 [template-httpd-conf]
 recipe = slapos.recipe.download
@@ -72,13 +72,10 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
 
 # Local development
 [slapos.cookbook-repository]
-recipe = plone.recipe.command
-stop-on-error = true
+recipe = slapos.recipe.build:gitclone
+repository = http://git.erp5.org/repos/slapos.git
 branch = grid-computing
-revision =
-location = ${buildout:parts-directory}/${:_buildout_section_name_}
-command = "${git:location}/bin/git" clone --branch "${:branch}" --quiet http://git.erp5.org/repos/slapos.git "${:location}" && if [ -n "${:revision}" ]; then cd "${:location}" && "${git:location}/bin/git" reset --quiet --hard "${:revision}" ; fi
-update-command = cd "${:location}" && "${git:location}/bin/git" fetch --quiet && if [ -n "${:revision}" ]; then "${git:location}/bin/git" reset --hard "${:revision}"; else "${git:location}/bin/git" reset --quiet --hard @{upstream} ; fi
+git-executable = ${git:location}/bin/git
 
 [check-recipe]
 recipe = plone.recipe.command
@@ -210,4 +207,49 @@ numpy = 1.6.2
 # websockify 0.4.1 doesn't install well
 websockify = 0.3.0
 
-setuptools = 0.6c12dev-r88846
\ No newline at end of file
+setuptools = 0.6c12dev-r88846
+
+Jinja2 = 2.7
+MarkupSafe = 0.18
+Werkzeug = 0.8.3
+buildout-versions = 1.7
+inotifyx = 0.2.0-1
+meld3 = 0.6.10
+netaddr = 0.7.10
+plone.recipe.command = 1.1
+pytz = 2013b
+slapos.core = 0.35.1
+slapos.recipe.build = 0.11.6
+slapos.recipe.cmmi = 0.1.1
+slapos.recipe.download = 1.0.dev-r4053
+slapos.recipe.template = 2.4.2
+xml-marshaller = 0.9.7
+z3c.recipe.mkdir = 0.5
+
+# Required by:
+# slapos.core==0.35.1
+Flask = 0.9
+
+# Required by:
+# slapos.cookbook==0.78.1.dev
+lock-file = 2.0
+
+# Required by:
+# slapos.core==0.35.1
+netifaces = 0.8-1
+
+# Required by:
+# slapos.core==0.35.1
+pyflakes = 0.7.2
+
+# Required by:
+# slapos.core==0.35.1
+supervisor = 3.0b1
+
+# Required by:
+# slapos.core==0.35.1
+unittest2 = 0.5.1
+
+# Required by:
+# slapos.core==0.35.1
+zope.interface = 4.0.5
\ No newline at end of file
-- 
2.30.9