diff --git a/component/gettext/buildout.cfg b/component/gettext/buildout.cfg index 833ff242460134672449412b9e75f361e65f212c..9bb28dc61308dccf00f6eca5a25fd546e78a1f25 100644 --- a/component/gettext/buildout.cfg +++ b/component/gettext/buildout.cfg @@ -8,8 +8,8 @@ extends = [gettext] recipe = slapos.recipe.cmmi -url = http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.3.1.tar.gz -md5sum = 3fc808f7d25487fc72b5759df7419e02 +url = http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.3.2.tar.gz +md5sum = 241aba309d07aa428252c74b40a818ef configure-options = --disable-static diff --git a/component/grep/buildout.cfg b/component/grep/buildout.cfg index de1c998e566e6a4d522577f1e9c5852579cc4193..d5d60520389a4b34d949b51aa98a39dd92c5bbe8 100644 --- a/component/grep/buildout.cfg +++ b/component/grep/buildout.cfg @@ -8,8 +8,8 @@ parts = [grep] recipe = slapos.recipe.cmmi -url = http://ftp.gnu.org/gnu/grep/grep-2.15.tar.xz -md5sum = 8cab8ca52bcae735af40278423c7c942 +url = http://ftp.gnu.org/gnu/grep/grep-2.16.tar.xz +md5sum = 502350a6c8f7c2b12ee58829e760b44d environment = PATH=${xz-utils:location}/bin:%(PATH)s CPPFLAGS=-I${pcre:location}/include diff --git a/component/openssl/buildout.cfg b/component/openssl/buildout.cfg index c19e834d5830805bcabce21407040192e544449e..9216a0ed20d726b3ebc3b8599f6f7f3bf814adca 100644 --- a/component/openssl/buildout.cfg +++ b/component/openssl/buildout.cfg @@ -30,8 +30,8 @@ download-only = true [openssl] recipe = slapos.recipe.cmmi -url = https://www.openssl.org/source/openssl-1.0.1e.tar.gz -md5sum = 66bf6f10f060d561929de96f9dfe5b8c +url = https://www.openssl.org/source/openssl-1.0.1f.tar.gz +md5sum = f26b09c028a0541cab33da697d522b25 patch-binary = ${patch:location}/bin/patch patches = ${openssl-nodoc.patch:location}/${openssl-nodoc.patch:filename} diff --git a/component/python-setuptools/buildout.cfg b/component/python-setuptools/buildout.cfg index ce7b958684cb6499697637143073d26ce9b06516..287a4b3be66045bc79b594ed205b9500a72d53e1 100644 --- a/component/python-setuptools/buildout.cfg +++ b/component/python-setuptools/buildout.cfg @@ -4,9 +4,10 @@ parts = python-setuptools [setuptools-download] recipe = hexagonit.recipe.download download-only = true -filename = setuptools-0.6c11-py2.7.egg -url = http://pypi.python.org/packages/2.7/s/setuptools/${:filename} -md5sum = fe1f997bc722265116870bc7919059ea +package_suffix = setuptools-1.4.2 +filename = ${:package_suffix}.tar.gz +url = https://pypi.python.org/packages/source/s/setuptools/${:filename} +md5sum = 13951be6711438073fbe50843e7f141f mode = 0644 [python-setuptools] @@ -16,9 +17,10 @@ mode = 0644 # To be able to use it, you should in your instance do an: # export PYTHONPATH=${:location} (defined in ${:environment}) location = ${buildout:parts-directory}/${:_buildout_section_name_} -environment = export PATH=${python2.7:location}/bin:$PATH; export PYTHONPATH=${:location}; +pythonpath = ${:location}/${setuptools-download:package_suffix} +environment = export PATH=${python2.7:location}/bin:$PATH; export PYTHONPATH=${:pythonpath}; stop-on-error = true recipe = plone.recipe.command update = true # chmod is a hack, but the mode of hexagonit.recipe.download above didn't worked yet (there was new version recently) -command = ${:environment} (mkdir ${:location}; chmod 644 ${setuptools-download:location}/${setuptools-download:filename} ; sh ${setuptools-download:location}/${setuptools-download:filename} --install-dir ${:location}) || (rm -fr ${:location}; exit 1) +command = ${:environment} (mkdir ${:location}; cd ${:location} && tar -xzvf ${setuptools-download:location}/${setuptools-download:filename} && cd ${:pythonpath} && ${buildout:executable} setup.py build) || (rm -fr ${:location}; exit 1) diff --git a/component/slapos/buildout.cfg b/component/slapos/buildout.cfg index 5b0f4db3a0e1deb174aa29c0f09aedc0577ffb51..d0bb4149c6720dcefe3d847a57c9b386c8d674c6 100644 --- a/component/slapos/buildout.cfg +++ b/component/slapos/buildout.cfg @@ -159,7 +159,7 @@ netaddr = 0.7.10 prettytable = 0.7.2 pyOpenSSL = 0.13.1 pyparsing = 2.0.1 -setuptools = 2.0.2 +setuptools = 1.1.6 slapos.libnetworkcache = 0.13.4 slapos.recipe.cmmi = 0.1.1 xml-marshaller = 0.9.7 diff --git a/software/jio/instance.cfg.in b/software/jio/instance.cfg.in index 16bebef289bf9a06d145714c1fa39362c1771a2f..235172dc0294a89a75be441c920d9f62cd23c7f6 100644 --- a/software/jio/instance.cfg.in +++ b/software/jio/instance.cfg.in @@ -39,7 +39,7 @@ environment = environment [environment] CPPFLAGS = -I${python2.7:location}/include/python2.7 -I${libxml2:location}/include -I${libxslt:location}/include LDFLAGS = -L${python2.7:location}/lib -L${libxml2:location}/lib -L${libxslt:location}/lib -L${zlib:location}/lib -L${fontconfig:location}/lib -L${libexpat:location}/lib -L${freetype:location}/lib -PYTHONPATH = ${python-setuptools:location} +PYTHONPATH = ${python-setuptools:pythonpath} LD_LIBRARY_PATH = ${libxslt:location}/lib:${libxml2:location}/lib:${zlib:location}/lib:${fontconfig:location}/lib:${libexpat:location}/lib:${freetype:location}/lib [phantomjs-wrapper] diff --git a/software/jio/software.cfg b/software/jio/software.cfg index c9c7039b75513266806985b9197a479ff31414f8..2f2c6956eda9e51df971ce446d6e27fcf0642de8 100644 --- a/software/jio/software.cfg +++ b/software/jio/software.cfg @@ -30,7 +30,7 @@ recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance.cfg.in output = ${buildout:directory}/instance.cfg # MD5 checksum can be skipped for development, but must be filled for production -md5sum = fa9193534c44717eaad226b552523932 +md5sum = fa50ec507dafffedd1c7367195d4e214 mode = 0644 [jio-repository] @@ -88,7 +88,7 @@ pytz = 2013b # supervisor==3.0b1 # zc.buildout==1.6.0-dev-SlapOS-010 # zope.interface==4.0.5 -setuptools = 0.6c12dev-r88846 +setuptools = 1.4.2 # Required by: # slapos.cookbook==0.76.0 diff --git a/software/slapos-testing/instance.cfg b/software/slapos-testing/instance.cfg index 6abc7cd3264f9528c6b9439b7744bc1694507822..7762bb7a8fd1c0af1fba65fb721cd25d10479362 100644 --- a/software/slapos-testing/instance.cfg +++ b/software/slapos-testing/instance.cfg @@ -50,7 +50,7 @@ environment = environment CPPFLAGS = -I${python2.7:location}/include/python2.7 -I${libxml2:location}/include -I${libxslt:location}/include LDFLAGS = -L${python2.7:location}/lib -L${libxml2:location}/lib -L${libxslt:location}/lib -L${libxslt:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${python2.7:location}/lib -Wl,-rpath=${libxml2:location}/lib -Wl,-rpath=${libxslt:location}/lib -Wl,-rpath=${zlib:location}/lib LD_LIBRARY_PATH = ${python2.7:location}/lib:${libxml2:location}/lib:${libxslt:location}/lib:${libxslt:location}/lib:${zlib:location}/lib -PYTHONPATH = ${python-setuptools:location} +PYTHONPATH = ${python-setuptools:pythonpath} [sh-environment] # Section exposes testing default environment as sh file. It is thus easy diff --git a/software/slapos-testing/software.cfg b/software/slapos-testing/software.cfg index 22249db867ced3aedd0960f653c24a9be115b4d0..5d7f5c2d26e2ebe82ef8a1f3c62e45aa8f49f603 100644 --- a/software/slapos-testing/software.cfg +++ b/software/slapos-testing/software.cfg @@ -61,7 +61,7 @@ branch = master [template] recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance.cfg -md5sum = 1dba62d737ef76dfac50febd61357041 +md5sum = 7a8be25961238f8e11d5de95d2f05598 output = ${buildout:directory}/template.cfg mode = 640 @@ -98,68 +98,86 @@ signature-certificate-list = -----END CERTIFICATE----- [versions] -Jinja2 = 2.6 -Werkzeug = 0.8.3 +setuptools = 1.4.2 +Jinja2 = 2.7.1 +MarkupSafe = 0.18 +Pygments = 1.6 +Werkzeug = 0.9.4 buildout-versions = 1.7 -erp5.util = 0.4.7 -hexagonit.recipe.cmmi = 1.6 -lxml = 2.3.6 -meld3 = 0.6.8 +cmd2 = 0.6.7 +collective.recipe.template = 1.10 +erp5.util = 0.4.36 +itsdangerous = 0.23 +lxml = 3.3.0beta3 +meld3 = 0.6.10 plone.recipe.command = 1.1 -slapos.cookbook = 0.65 -slapos.libnetworkcache = 0.13.2 -slapos.recipe.build = 0.11.2 -slapos.recipe.download = 1.0.dev-r4053 -slapos.recipe.template = 2.4.2 +psutil = 1.2.1 +pyparsing = 2.0.1 +slapos.cookbook = 0.85 +slapos.recipe.build = 0.12 +slapos.recipe.cmmi = 0.2 +slapos.recipe.template = 2.5 # Required by: -# slapos.core==0.28.5 -Flask = 0.9 +# slapos.core==1.0.0 +Flask = 0.10.1 # Required by: -# slapos.cookbook==0.65 -PyXML = 0.8.4 +# slapos.core==1.0.0 +bpython = 0.12 # Required by: -# hexagonit.recipe.cmmi==1.6 -hexagonit.recipe.download = 1.6nxd002 +# slapos.core==1.0.0 +cliff = 1.5.2 # Required by: -# slapos.cookbook==0.65 -inotifyx = 0.2.0 +# slapos.cookbook==0.85 +inotifyx = 0.2.0-1 # Required by: -# slapos.cookbook==0.65 +# slapos.core==1.0.0 +ipython = 1.1.0 + +# Required by: +# slapos.cookbook==0.85 +lock-file = 2.0 + +# Required by: +# slapos.cookbook==0.85 netaddr = 0.7.10 # Required by: -# slapos.core==0.28.5 -netifaces = 0.8 +# slapos.core==1.0.0 +netifaces = 0.8-1 # Required by: -# erp5.util==0.4.7 -# slapos.cookbook==0.65 -# slapos.core==0.28.5 -# zc.buildout==1.6.0-dev-SlapOS-006 -# zc.recipe.egg==1.3.2 -setuptools = 0.6c12dev-r88846 +# slapos.cookbook==0.85 +pytz = 2013.9 # Required by: -# slapos.cookbook==0.65 -slapos.core = 0.28.5 +# slapos.core==1.0.0 +requests = 2.1.0 # Required by: -# slapos.core==0.28.5 -supervisor = 3.0a12 +# cliff==1.5.2 +six = 1.5.2 # Required by: -# slapos.cookbook==0.65 -xml-marshaller = 0.9.7 +# slapos.cookbook==0.85 +slapos.core = 1.0.0 # Required by: -# slapos.cookbook==0.65 -zc.recipe.egg = 1.3.2 +# cliff==1.5.2 +stevedore = 0.13 + +# Required by: +# slapos.core==1.0.0 +supervisor = 3.0 + +# Required by: +# slapos.cookbook==0.85 +xml-marshaller = 0.9.7 # Required by: -# slapos.core==0.28.5 -zope.interface = 4.0.1 +# slapos.core==1.0.0 +zope.interface = 4.0.5 diff --git a/software/slaprunner/common.cfg b/software/slaprunner/common.cfg index 3b380f6f2b14b69b0463ecc3dbd37d0d629b3e4d..5233f9e6f22d49f4b26f85e88c081fb9aa872d72 100644 --- a/software/slaprunner/common.cfg +++ b/software/slaprunner/common.cfg @@ -2,11 +2,12 @@ extends = ../../component/bash/buildout.cfg ../../component/busybox/buildout.cfg - ../../component/cloud9/buildout.cfg ../../component/curl/buildout.cfg ../../component/dash/buildout.cfg + ../../component/dcron/buildout.cfg ../../component/dropbear/buildout.cfg ../../component/git/buildout.cfg + ../../component/logrotate/buildout.cfg ../../component/lxml-python/buildout.cfg ../../component/nano/buildout.cfg ../../component/nginx/buildout.cfg @@ -24,10 +25,6 @@ parts = template eggs nginx - simple-proxy - node-frontend-template - http-proxy - npm-modules instance-runner-import instance-runner-export slapos-cookbook @@ -36,47 +33,6 @@ parts = rdiff-backup collective.recipe.template-egg -#################### -## Node JS proxy -#################### -[simple-proxy] -recipe = slapos.recipe.download -url = ${:_profile_base_location_}/simple-proxy.js -location = ${buildout:parts-directory}/${:_buildout_section_name_} -md5sum = 86e2231b3f65587b56d9be63e21a4e05 -filename = simple-proxy.js -mode = 0644 - -[node-frontend-template] -recipe = slapos.recipe.download -url = ${:_profile_base_location_}/node-frontend.in -location = ${buildout:parts-directory}/${:_buildout_section_name_} -filename = node-frontend.in -md5sum = 72904152860dddb30ca936dac5bbf4cd -mode = 0644 - -[http-proxy] -# https://github.com/nodejitsu/node-http-proxy -recipe = slapos.recipe.build:download-unpacked -#XXX-Cedric : use upstream when merged -url = https://github.com/desaintmartin/node-http-proxy/archive/20120621.zip -md5sum = 621e5fca448cbea137c5d847d780d84d - -[npm-modules] -recipe = plone.recipe.command -destination = ${buildout:parts-directory}/${:_buildout_section_name_} -location = ${buildout:parts-directory}/${:_buildout_section_name_} -command = - export HOME=${:location}; - rm -fr ${:destination} && - mkdir -p ${:destination} && - cd ${:destination} && - ${nodejs:location}/bin/node ${nodejs:location}/bin/npm install colors@0.6.0-1 && - ${nodejs:location}/bin/node ${nodejs:location}/bin/npm install socket.io@0.8.7 && - ${nodejs:location}/bin/node ${nodejs:location}/bin/npm install socket.io-client@0.8.7 && - ${nodejs:location}/bin/node ${nodejs:location}/bin/npm install optimist@0.3.1 && - ${nodejs:location}/bin/node ${nodejs:location}/bin/npm install pkginfo@0.2.3 - [template] recipe = slapos.recipe.template @@ -89,27 +45,27 @@ mode = 0644 recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance-runner.cfg output = ${buildout:directory}/template-runner.cfg.in -md5sum = 098ec22334dc6d0cd8fe747e733c86d8 +md5sum = b3288126400c4ca8469c255ef130dec9 mode = 0644 [instance-runner-import] recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance-runner-import.cfg.in output = ${buildout:directory}/instance-runner-import.cfg -md5sum = 93e3c496c0955a0f7e09570bbe44e3ea +md5sum = 82f2d0be111617eac9849cb7b8baac5d mode = 0644 [instance-runner-export] recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance-runner-export.cfg.in output = ${buildout:directory}/instance-runner-export.cfg -md5sum = 3a69ef9a2743dbb4ab0708a7675d100c +md5sum = 9a8cdf65bca8a562accb710a7c3b6595 mode = 0644 [template-resilient] recipe = slapos.recipe.download url = ${:_profile_base_location_}/instance-resilient.cfg.jinja2 -md5sum = 932c506779cef5b20576a57d97877742 +md5sum = f8758a5a2f886d649ad02157d76550ba filename = instance-resilient.cfg.jinja2 mode = 0644 @@ -117,7 +73,7 @@ mode = 0644 recipe = hexagonit.recipe.download url = ${:_profile_base_location_}/instance-resilient-test.cfg.jinja2 download-only = true -md5sum = 18269f9c88f9c3bb1c2b535e44f64f56 +md5sum = b231383bb63edc0009fb6e0ff5c54d8e filename = instance-resilient-test.cfg.jinja2 mode = 0644 @@ -125,7 +81,7 @@ mode = 0644 recipe = hexagonit.recipe.download url = ${:_profile_base_location_}/nginx_conf.in download-only = true -md5sum = e169a8f217fab490ffb435d4b2d07ef3 +md5sum = 67d2ce92b4ad6dca6eaf69eeb2c2734c filename = nginx_conf.in mode = 0644 @@ -140,7 +96,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_} [slapos-cfg-template] recipe = hexagonit.recipe.download url = ${:_profile_base_location_}/template/${:filename} -md5sum = 6e90b4d037ba549640345827370f8dc3 +md5sum = 8207e74c7b97a4a3f3be390ea4f97ae1 location = ${buildout:parts-directory}/${:_buildout_section_name_} filename = slapos.cfg.in download-only = true @@ -150,19 +106,21 @@ mode = 0644 recipe = z3c.recipe.scripts eggs = ${lxml-python:egg} + collective.recipe.environment cns.recipe.symlink erp5.util hexagonit.recipe.download inotifyx lock-file netaddr + plone.recipe.command + pytz slapos.cookbook slapos.libnetworkcache + slapos.recipe.build slapos.toolbox[flask_auth] slapos.core xml_marshaller - pytz - collective.recipe.environment Gunicorn # Add slapos.libnetworkcache to path of slapos.core so that slaprunner can build SRs using cache diff --git a/software/slaprunner/instance-resilient-test.cfg.jinja2 b/software/slaprunner/instance-resilient-test.cfg.jinja2 index f56389f374c4a86947828243cbb4cb409b17c57a..ba24e679a092c7c47b068caf4576c4c5f89ef659 100644 --- a/software/slaprunner/instance-resilient-test.cfg.jinja2 +++ b/software/slaprunner/instance-resilient-test.cfg.jinja2 @@ -42,14 +42,13 @@ software-url = ${slap-connection:software-release-url} software-type = resilient name = Resilient Instance (Root Instance) {% set cluster_parameter_dict = slapparameter_dict.get('cluster', {}) -%} -config = resiliency-backup-periodicity frontend-domain cloud9-frontend-domain {{ cluster_parameter_dict.keys() | join(' ') }} +config = resiliency-backup-periodicity frontend-domain {{ cluster_parameter_dict.keys() | join(' ') }} {% for key, value in cluster_parameter_dict.items() -%} config-{{ key }} = {{ dumps(value) }} {% endfor -%} config-resiliency-backup-periodicity = * * * * * # XXX hardcoded config-frontend-domain = google.com -config-cloud9-frontend-domain = google.com # XXX Hack to deploy Root Instance on the same computer as the type-test Instance sla = computer_guid sla-computer_guid = ${slap-connection:computer-id} diff --git a/software/slaprunner/instance-resilient.cfg.jinja2 b/software/slaprunner/instance-resilient.cfg.jinja2 index b35766696675e4756f9c84e20e69e764182d0b32..865a709807ab7e743000256756d17cdeb61c204a 100644 --- a/software/slaprunner/instance-resilient.cfg.jinja2 +++ b/software/slaprunner/instance-resilient.cfg.jinja2 @@ -17,7 +17,7 @@ parts += # Bubble up the parameters [request-runner] -return = url ssh-public-key ssh-url notification-id ip backend_url url cloud9_url ssh_command password_recovery_code cloud9_backend_url shell_password access_url 1_info +return = url ssh-public-key ssh-url notification-id ip backend_url url ssh_command password_recovery_code shell_password access_url 1_info [publish-connection-informations] recipe = slapos.cookbook:publish @@ -25,8 +25,6 @@ recipe = slapos.cookbook:publish backend_url = ${request-runner:connection-backend_url} access_url = ${request-runner:connection-access_url} url = ${request-runner:connection-url} -cloud9_url = ${request-runner:connection-cloud9_url} -cloud9_backend_url = ${request-runner:connection-cloud9_backend_url} ssh_command = ${request-runner:connection-ssh_command} password_recovery_code = ${request-runner:connection-password_recovery_code} shell_password = ${request-runner:connection-shell_password} diff --git a/software/slaprunner/instance-runner-export.cfg.in b/software/slaprunner/instance-runner-export.cfg.in index 8793c2f6b14c120e357e27571f13ad53d784f758..f044ded07e5abc3888533725b3a8cc1a6ae39888 100644 --- a/software/slaprunner/instance-runner-export.cfg.in +++ b/software/slaprunner/instance-runner-export.cfg.in @@ -5,10 +5,8 @@ extends = template-runner.cfg parts += nginx_conf nginx-launcher - cloud9 certificate-authority ca-nginx - ca-node-frontend ca-shellinabox gunicorn-launcher gunicorn-graceful @@ -19,14 +17,9 @@ parts += publish-connection-informations slaprunner-promise slaprunner-frontend-promise - cloud9-promise - cloud9-frontend-promise dropbear-promise shellinabox-promise symlinks - request-cloud9-frontend - node-frontend-promise - nginx-promise shellinabox slapos-cfg slapos-repo-config diff --git a/software/slaprunner/instance-runner-import.cfg.in b/software/slaprunner/instance-runner-import.cfg.in index 1c61fb016c9f8d667642fac9058251855879eefb..4e4cdaa80631ddf6ef9628c325f89dcb9565c469 100644 --- a/software/slaprunner/instance-runner-import.cfg.in +++ b/software/slaprunner/instance-runner-import.cfg.in @@ -5,10 +5,8 @@ extends = template-runner.cfg parts += nginx_conf nginx-launcher - cloud9 certificate-authority ca-nginx - ca-node-frontend ca-shellinabox gunicorn-launcher gunicorn-graceful @@ -17,13 +15,10 @@ parts += dropbear-server-add-authorized-key sshkeys-authority slaprunner-promise - cloud9-promise dropbear-promise shellinabox-promise - nginx-promise shellinabox symlinks - nginx-promise slapos-cfg slapos-repo-config prepare-software diff --git a/software/slaprunner/instance-runner.cfg b/software/slaprunner/instance-runner.cfg index 56dc86a5236da86cb23484f9ad3c163a4821e964..a9065baca7e7aee02ecc70dd6c112d13a33c483f 100644 --- a/software/slaprunner/instance-runner.cfg +++ b/software/slaprunner/instance-runner.cfg @@ -2,10 +2,8 @@ parts = nginx_conf nginx-launcher - cloud9 certificate-authority ca-nginx - ca-node-frontend ca-shellinabox gunicorn-launcher gunicorn-graceful @@ -16,14 +14,9 @@ parts = publish-connection-informations slaprunner-promise slaprunner-frontend-promise - cloud9-promise - cloud9-frontend-promise dropbear-promise shellinabox-promise symlinks - request-cloud9-frontend - node-frontend-promise - nginx-promise shellinabox slapos-cfg slapos-repo-config @@ -118,17 +111,6 @@ recipe = slapos.cookbook:generate.password storage-path = $${directory:etc}/.rcode bytes = 8 -# Deploy cloud9 and slaprunner -[cloud9] -recipe = slapos.cookbook:cloud9 -ip = $${slap-network-information:local-ipv4} -port = 4443 -wrapper = $${directory:services}/cloud9 -working-directory = $${runnerdirectory:home} -git-binary = ${git:location}/bin/git -node-binary = ${nodejs-0.6:location}/bin/node -cloud9 = ${cloud9:executable} - [slaprunner] slaprunner = ${buildout:directory}/bin/slaprunner slapgrid_sr = ${buildout:directory}/bin/slapgrid-sr @@ -152,7 +134,6 @@ ipv6 = $${slap-network-information:global-ipv6} proxy_port = 50000 runner_port = 50005 partition-amount = $${slap-parameter:instance-amount} -cloud9-url = $${cloud9:access-url} wrapper = $${directory:services}/slaprunner debug = $${slap-parameter:debug} access-url = https://[$${:ipv6}]:$${:runner_port} @@ -214,33 +195,6 @@ wrapper = $${directory:services}/runner_sshd recipe = slapos.cookbook:dropbear.add_authorized_key key = $${slap-parameter:authorized-key} -#--------------------- -#-- -#-- Set node frontend - -[node-frontend] -launcher = $${directory:bin}/node-frontend -ip = $${slap-network-information:global-ipv6} -port = $${cloud9:port} -access-url = https://[$${:ip}]:$${:port} - -[node-frontend-launcher] -recipe = slapos.recipe.template:jinja2 -template = ${node-frontend-template:location}/${node-frontend-template:filename} -rendered = $${node-frontend:launcher} -mode = 700 -context = - key ip node-frontend:ip - key port node-frontend:port - key key ca-node-frontend:key-file - key certificate ca-node-frontend:cert-file - key backend_ip nginx-frontend:local-ip - key backend_port nginx-frontend:port - raw shell_path ${bash:location}/bin/bash - raw node_env ${buildout:parts-directory}:${npm-modules:location}/node_modules - raw node_path ${nodejs-0.6:location}/bin/node - raw conf_path ${simple-proxy:location}/${simple-proxy:filename} - #--------------------------- #-- #-- Set nginx frontend @@ -262,8 +216,6 @@ port = 30001 global-ip = $${slap-network-information:global-ipv6} global-port = $${slaprunner:runner_port} # Backend -cloud9-ip = $${cloud9:ip} -cloud9-port = $${cloud9:port} runner-ip = $${slaprunner:ipv4} runner-port = $${slaprunner:runner_port} # SSL @@ -360,16 +312,6 @@ wrapper = $${directory:services}/nginx-frontend # Put domain name name = example.com -[ca-node-frontend] -<= certificate-authority -recipe = slapos.cookbook:certificate_authority.request -key-file = $${cadirectory:certs}/nodejs.key -cert-file = $${cadirectory:certs}/nodejs.crt -executable = $${node-frontend-launcher:rendered} -wrapper = $${directory:services}/node-frontend -# Put domain name -name = example.com - [ca-shellinabox] <= certificate-authority recipe = slapos.cookbook:certificate_authority.request @@ -393,29 +335,16 @@ config-url = $${slaprunner:access-url} config-domain = $${slap-parameter:frontend-domain} return = site_url domain -[request-cloud9-frontend] -<= slap-connection -recipe = slapos.cookbook:requestoptional -name = Cloud9 Frontend -software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg -slave = true -config = url domain -config-url = $${node-frontend:access-url} -config-domain = $${slap-parameter:cloud9-frontend-domain} -return = site_url domain - #-------------------------------------- #-- #-- Send informations to SlapOS Master [publish-connection-informations] recipe = slapos.cookbook:publish -1_info = On your first run, Use "access_url" to setup you account.Then you can use both "url" or "access_url". Or "backend_url" if you want to use ipv6. Moreover, you have to setup your account in slaprunner in order to access cloud9. +1_info = On your first run, Use "access_url" to setup you account.Then you can use both "url" or "access_url". Or "backend_url" if you want to use ipv6. backend_url = $${slaprunner:access-url} access_url = $${:url}/login url = https://$${request-frontend:connection-domain} -cloud9_backend_url = $${node-frontend:access-url} -cloud9_url = https://$${request-cloud9-frontend:connection-domain} ssh_command = ssh $${dropbear-runner-server:host} -p $${dropbear-runner-server:port} shell_password = $${shellinabox:password} password_recovery_code = $${recovery-code:passwd} @@ -437,33 +366,6 @@ url = https://$${request-frontend:connection-domain}/login dash_path = ${dash:location}/bin/dash curl_path = ${curl:location}/bin/curl -[cloud9-promise] -recipe = slapos.cookbook:check_url_available -path = $${directory:promises}/cloud9 -url = http://$${cloud9:ip}:$${cloud9:port} -dash_path = ${dash:location}/bin/dash -curl_path = ${curl:location}/bin/curl - -[cloud9-frontend-promise] -recipe = slapos.cookbook:check_url_available -path = $${directory:promises}/cloud9-frontend-promise -url = $${publish-connection-informations:cloud9_url} -check-secure = 1 -dash_path = ${dash:location}/bin/dash -curl_path = ${curl:location}/bin/curl - -[node-frontend-promise] -recipe = slapos.cookbook:check_port_listening -path = $${directory:promises}/node-frontend -hostname = $${node-frontend:ip} -port = $${node-frontend:port} - -[nginx-promise] -recipe = slapos.cookbook:check_port_listening -path = $${directory:promises}/nginx -hostname = $${nginx-frontend:local-ip} -port = $${nginx-frontend:port} - [dropbear-promise] recipe = slapos.cookbook:check_port_listening path = $${directory:promises}/dropbear @@ -487,7 +389,6 @@ authorized-key = # Default value of instances number in slaprunner instance-amount = 10 debug = false -cloud9-frontend-domain = frontend-domain = slapos-repository = http://git.erp5.org/repos/slapos.git slapos-software = @@ -520,7 +421,6 @@ context = key public_key slaprunner:public_key key private_key slaprunner:private_key key git slaprunner:git-binary - key cloud9_url slaprunner:cloud9-url key run_dir slaprunner:run_dir key log_dir slaprunner:log_dir key console slaprunner:console diff --git a/software/slaprunner/nginx_conf.in b/software/slaprunner/nginx_conf.in index 0adab07b0b04a837f8f959f12002c5eac30a8b1b..080e5502f66550daf92fdd41ae083b552d3d58d6 100644 --- a/software/slaprunner/nginx_conf.in +++ b/software/slaprunner/nginx_conf.in @@ -17,31 +17,6 @@ http { default upgrade; '' close; } - server { - listen {{ param_nginx_frontend['local-ip'] }}:{{ param_nginx_frontend['port'] }}; - server_name _; - - keepalive_timeout 90s; - client_body_temp_path {{ param_tempdir['client_body_temp_path'] }}; - proxy_temp_path {{ param_tempdir['proxy_temp_path'] }}; - fastcgi_temp_path {{ param_tempdir['fastcgi_temp_path'] }}; - uwsgi_temp_path {{ param_tempdir['uwsgi_temp_path'] }}; - scgi_temp_path {{ param_tempdir['scgi_temp_path'] }}; - location / { - auth_basic "Restricted"; - auth_basic_user_file {{ param_nginx_frontend['etc_dir'] }}/.htpasswd; - proxy_pass http://{{ param_nginx_frontend['cloud9-ip'] }}:{{ param_nginx_frontend['cloud9-port'] }}; - proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; - proxy_redirect off; - proxy_buffering off; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - } server { listen [{{ param_nginx_frontend['global-ip'] }}]:{{ param_nginx_frontend['global-port'] }} ssl; server_name _; diff --git a/software/slaprunner/simple-proxy.js b/software/slaprunner/simple-proxy.js deleted file mode 100644 index d152a24905afd24dfae6b842f65b49e1763a0a46..0000000000000000000000000000000000000000 --- a/software/slaprunner/simple-proxy.js +++ /dev/null @@ -1,87 +0,0 @@ -/***************************************************************************** -* -* Copyright (c) 2013 Vifib SARL and Contributors. All Rights Reserved. -* -* WARNING: This program as such is intended to be used by professional -* programmers who take the whole responsibility of assessing all potential -* consequences resulting from its eventual inadequacies and bugs -* End users who are looking for a ready-to-use solution with commercial -* guarantees and support are strongly adviced to contract a Free Software -* Service Company -* -* This program is Free Software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 3 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -* -*****************************************************************************/ - -var fs = require('fs'), - util = require('util'), - colors = require('colors'), - http = require('http'), - httpProxy = require('http-proxy'); - - -var listenInterface = process.argv[2], - port = process.argv[3], - sslKeyFile = process.argv[4], - sslCertFile = process.argv[5], - backendIp = process.argv[6], - backendPort = process.argv[7]; - -if (process.argv.length < 8) { - console.error("Too few arguments. Exiting."); - process.exit(1); -} - -var middleware = function (req, res, proxy) { - return proxy.proxyRequest(req, res,{ - host: backendIp, - port: backendPort - }); -}; - -middleware.proxyWebSocketRequest = function (req, socket, head, proxy) { - return proxy.proxyWebSocketRequest(req, socket, head,{ - host: backendIp, - port: backendPort - }); -}; - -/** - * Create server - */ -var proxyServer = httpProxy.createServer( - middleware, - { - https: { - key: fs.readFileSync( - sslKeyFile, - 'utf8' - ), - cert: fs.readFileSync( - sslCertFile, - 'utf8' - ) - }, - source: { - host: listenInterface, - port: port - }} -); - -console.log('HTTPS server starting and trying to listen on ' + - listenInterface + ':' + port); - -// Release the beast. -proxyServer.listen(port, listenInterface); diff --git a/software/slaprunner/template/slapos.cfg.in b/software/slaprunner/template/slapos.cfg.in index e36ec04b1fced1d9507073d3d50ac9f232ca930e..5c68e63bc4708a599274b87f528d2d1a8bce1422 100644 --- a/software/slaprunner/template/slapos.cfg.in +++ b/software/slaprunner/template/slapos.cfg.in @@ -41,4 +41,3 @@ private_key = {{ private_key }} git = {{ git }} [cloud9_IDE] -cloud9 = {{ cloud9_url }} diff --git a/stack/erp5/buildout.cfg b/stack/erp5/buildout.cfg index 0b0d353a27781e55df1fce25ab212dcdf2c4a211..3e8e044fec49f37d8fc3b7de03f02cd586975dc1 100644 --- a/stack/erp5/buildout.cfg +++ b/stack/erp5/buildout.cfg @@ -161,6 +161,7 @@ context = key bin_directory buildout:bin-directory key develop_eggs_directory buildout:develop-eggs-directory key eggs_directory buildout:eggs-directory + key slapos_core_version versions:slapos.core ${:extra-context} [template-mariadb] @@ -183,7 +184,7 @@ extra-context = [template-zope] recipe = slapos.recipe.build:download url = ${:_profile_base_location_}/instance-zope.cfg.in -md5sum = 69556ddc9773fb95896b7762e998bb9b +md5sum = 23baedc096a3ee046d2efe2195e19b96 mode = 640 [template-kumofs] @@ -220,7 +221,7 @@ mode = 640 # XXX: "template.cfg" is hardcoded in instanciation recipe filename = template.cfg template = ${:_profile_base_location_}/instance.cfg.in -md5sum = a1a5a9983207e4a8128bab331cbd3cd5 +md5sum = 4504529abf707c4a5cd6ccacc761ec71 extra-context = key apache_location apache:location key aspell_location aspell:location @@ -290,13 +291,13 @@ extra-context = [template-erp5-single] recipe = slapos.recipe.build:download url = ${:_profile_base_location_}/instance-erp5-single.cfg.in -md5sum = 2a4312202a3160f874c4fa3ee9155a1d +md5sum = becf4faf3df849bb90ddf5f587f02d5e mode = 640 [template-erp5-cluster] recipe = slapos.recipe.build:download url = ${:_profile_base_location_}/instance-erp5-cluster.cfg.in -md5sum = eecde68b9a266d8883042540ac077839 +md5sum = f4c9cdbbac82232b84db080461bd0007 mode = 640 [template-varnish] @@ -559,10 +560,14 @@ Products.DCWorkflow = 2.2.4nxd001 cloudooo = 1.2.5-dev # use newer version than specified in ZTK -Jinja2 = 2.6 +Jinja2 = 2.7.1 +PasteDeploy = 1.5.2 +Pygments = 1.6 argparse = 1.2.1 -coverage = 3.6 -lxml = 2.3.6 +coverage = 3.7.1 +lxml = 3.2.5 +mr.developer = 1.26 +setuptools = 2.1 # Known version with works numpy = 1.6.2 @@ -583,9 +588,6 @@ pytz = # we are still using this old stable version. rdiff-backup = 1.0.5 -# use dev version -setuptools = 0.6c12dev-r88846 - # use newest version of slapos.cookbook slapos.cookbook = @@ -614,18 +616,16 @@ GitPython = 0.3.2.RC1 MySQL-python = 1.2.5 PIL = 1.1.7 PyXML = 0.8.5 -PasteDeploy = 1.5.0 Products.CMFActionIcons = 2.1.3 Products.DCWorkflowGraph = 0.4.1 Products.ExternalEditor = 1.1.0 -Products.GenericSetup = 1.7.3 +Products.GenericSetup = 1.7.4 Products.LongRequestLogger = 1.1.0 -Products.MimetypesRegistry = 2.0.4 +Products.MimetypesRegistry = 2.0.5 Products.PluginRegistry = 1.3 -Products.TIDStorage = 5.4.8 +Products.TIDStorage = 5.4.9 Products.ZSQLMethods = 2.13.4 PyPDF2 = 1.19 -Pygments = 1.6 StructuredText = 2.11.1 WSGIUtils = 0.7 Werkzeug = 0.8.3 @@ -633,7 +633,7 @@ apache-libcloud = 0.12.4 async = 0.6.1 atomize = 0.1.1 cElementTree = 1.0.5-20051216 -chardet = 2.1.1 +chardet = 2.2.1 csp-eventlet = 0.7.0 elementtree = 1.2.7-20070827-preview erp5.recipe.cmmiforcei686 = 0.1.3 @@ -653,10 +653,8 @@ inotifyx = 0.2.0 ipdb = 0.8 ipython = 1.1.0 meld3 = 0.6.10 -mr.developer = 1.26 netaddr = 0.7.10 netifaces = 0.8_1 -ordereddict = 1.1 paramiko = 1.12.0 plone.recipe.command = 1.1 ply = 3.4 @@ -687,4 +685,4 @@ xupdate-processor = 0.4 zope.app.debug = 3.4.1 zope.app.dependable = 3.5.1 zope.app.form = 4.0.2 -pylint = 1.0.0 +pylint = 1.1.0 diff --git a/stack/erp5/instance-erp5-cluster.cfg.in b/stack/erp5/instance-erp5-cluster.cfg.in index 531852e49cc6556077919fc5f80164a08068fb2c..4e491a7aab4662605693a0e6cc2b49550c013357 100644 --- a/stack/erp5/instance-erp5-cluster.cfg.in +++ b/stack/erp5/instance-erp5-cluster.cfg.in @@ -13,6 +13,7 @@ parts = eggs-directory = {{ eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }} offline = true +versions = versions [request-common] recipe = slapos.cookbook:request @@ -106,3 +107,6 @@ smtp-url = smtp://localhost:25/ recipe = slapos.cookbook:mkdirectory etc = ${buildout:directory}/etc/run {% endif %} + +[versions] +slapos.core = {{ slapos_core_version }} diff --git a/stack/erp5/instance-erp5-single.cfg.in b/stack/erp5/instance-erp5-single.cfg.in index 15aa6ebd9541cda1f0e998b690a2dbe012b9a621..7587c6c494e7f1e9138a8f6403b4faa91af5d161 100644 --- a/stack/erp5/instance-erp5-single.cfg.in +++ b/stack/erp5/instance-erp5-single.cfg.in @@ -20,6 +20,7 @@ parts += eggs-directory = {{ eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }} offline = true +versions = versions [slap-parameter] # default site id @@ -135,3 +136,6 @@ path = ${basedirectory:promises}/erp5site url = http://${zope-instance:ip}:${zope-instance:port}/${slap-parameter:site-id} dash_path = {{ dash_location }}/bin/dash curl_path = {{ curl_location }}/bin/curl + +[versions] +slapos.core = {{ slapos_core_version }} diff --git a/stack/erp5/instance-zope.cfg.in b/stack/erp5/instance-zope.cfg.in index 1d6ee1b62b4a0f8298d82a9a84642f9ef66ae776..f14e030e5d09bf5577ff6550cd1d6d87ac717b26 100644 --- a/stack/erp5/instance-zope.cfg.in +++ b/stack/erp5/instance-zope.cfg.in @@ -18,6 +18,7 @@ parts = eggs-directory = {{ eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }} offline = true +versions = versions {% if 'frontend-software-url' in slapparameter_dict -%} [request-slave-frontend] @@ -307,3 +308,5 @@ path = ${basedirectory:promises}/apache-backend hostname = ${apache-zope-backend-instance:ip} port = ${apache-zope-backend-instance:port} +[versions] +slapos.core = {{ slapos_core_version }} diff --git a/stack/erp5/instance.cfg.in b/stack/erp5/instance.cfg.in index 945345284b1e2a0554acb828e149d4be47ef495c..535a3e9b0fba8bbe29c83582845584fb5d131ccc 100644 --- a/stack/erp5/instance.cfg.in +++ b/stack/erp5/instance.cfg.in @@ -23,6 +23,7 @@ context = key develop_eggs_directory buildout:develop-eggs-directory key slap_software_type slap-parameters:slap-software-type key slapparameter_dict slap-parameters:configuration + raw slapos_core_version {{ slapos_core_version }} ${:extra-context} [dynamic-template-tidstorage-parameters]