diff --git a/CHANGES.txt b/CHANGES.txt index 5be87ef42c97c15a4f2ff5f376ccddcaee62fc6d..7392bdb68f03e6141577f475e72f943ab0534683 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,10 +1,15 @@ Changes ======= -0.58 (Unreleased) +0.59 (Unreleased) ----------------- +0.58 (2012-07-06) +----------------- + + * Agent rewrite. [Vincent Pelletier] + 0.57 (2012-06-22) ----------------- diff --git a/component/cloud9/buildout.cfg b/component/cloud9/buildout.cfg index 95258281e44e0968b0e6dc0514d0f32e7fc1b091..746e21bc92cd048fef821d0f0df3daf7a7baae82 100644 --- a/component/cloud9/buildout.cfg +++ b/component/cloud9/buildout.cfg @@ -28,13 +28,13 @@ environment = # NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location} recipe = plone.recipe.command stop-on-error = true -commit = 4bde3206ac0dc1e5736cb18a42851e203a6cc68f +commit = ab689c5d3cc29d02d788506c0f1b2ab0742a0f05 repository = https://github.com/ajaxorg/cloud9.git location = ${buildout:parts-directory}/${:_buildout_section_name_} git-binary = ${git:location}/bin/git npm-binary = ${nodejs:location}/bin/node ${nodejs:location}/bin/npm -environment = export GIT_SSL_NO_VERIFY=true; export PATH=${nodejs:location}/bin:$PATH; export LDFLAGS=-L${libxml2:location}/lib; -command = ${:environment} (${:git-binary} clone --quiet ${:repository} ${:location} && cd ${:location} && ${:git-binary} reset --hard ${:commit} && ${node-sm:location}/node_modules/.bin/sm install && ${:npm-binary} install) || (rm -fr ${:location}; exit 1) +environment = export GIT_SSL_NO_VERIFY=true; export PATH=${nodejs:location}/bin:${node-sm:location}/node_modules/sm/bin/:$PATH; export LDFLAGS=-L${libxml2:location}/lib; export HOME=${:location}; +command = ${:environment} (${:git-binary} clone --quiet ${:repository} ${:location} && cd ${:location} && ${:git-binary} reset --hard ${:commit} && ${node-sm:location}/node_modules/.bin/sm install) || (rm -fr ${:location}; exit 1) update-command = [cloud9-npm] @@ -50,4 +50,4 @@ packages = cloud9==0.7 # Specify environment jsDAV (dependency of cloud9) needs libxml2 environment = - LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib + LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib \ No newline at end of file diff --git a/component/libreoffice-bin/buildout.cfg b/component/libreoffice-bin/buildout.cfg index b624367700e7ea18372417387901631a9b215102..c3b2a558df8dcbdc6604635c976c1d81023fbed9 100644 --- a/component/libreoffice-bin/buildout.cfg +++ b/component/libreoffice-bin/buildout.cfg @@ -12,12 +12,12 @@ find-links = [libreoffice-bin] recipe = slapos.recipe.build # here, two %s are used, first one is for directory name (eg. x86_64), and second one is for filename (eg. x86-64). -version = 3.5.4 +version = 3.5.5 url = http://download.documentfoundation.org/libreoffice/stable/${:version}/rpm/%s/LibO_${:version}_Linux_%s_install-rpm_en-US.tar.gz # supported architectures md5sums -md5sum_x86 = f0a09171389d54ef96458a3ec67c0201 -md5sum_x86-64 = 72662a587e98eb34d359455184bec797 +md5sum_x86 = 88434a91af56a751fad2e737c2ad6bba +md5sum_x86-64 = a8c2c35af75807c3ed6c8d04fe6c6419 # where office code can be found? officedir = libreoffice3.5 diff --git a/component/nodejs/buildout.cfg b/component/nodejs/buildout.cfg index c19d668f81843504c37c75183ff0b55c954a74d9..81dddee7b86b9b760b905c5ff8354b759c7e49b3 100644 --- a/component/nodejs/buildout.cfg +++ b/component/nodejs/buildout.cfg @@ -18,6 +18,7 @@ configure-options = --openssl-includes=${openssl:location}/include --openssl-libpath=${openssl:location}/lib environment = + HOME=${buildout:parts-directory}/${:_buildout_section_name_} PATH=${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig/ CPPFLAGS=-I${zlib:location}/include @@ -47,4 +48,4 @@ origin = https://github.com/isaacs/npm.git git-bin = ${git:location}/bin/git node-bin = ${nodejs-0.4:location}/bin/node command = (GIT_SSL_NO_VERIFY=true ${:git-bin} clone --quiet ${:origin} ${:location} && cd ${:location} && ${:git-bin} reset --hard ${:commit} && ${:location}/configure --prefix=${:location} && GIT_SSL_NO_VERIFY=true ${:git-bin} submodule update --init --recursive && ${:node-bin} cli.js install npm@1.0.106 -g -f) || (rm -fr ${:location}; exit 1) -update-command = +update-command = \ No newline at end of file diff --git a/component/slapos/buildout.cfg b/component/slapos/buildout.cfg index 94e3573cfad6e0c6403fc60b65a12f49f20a7d61..12c37dbc14de0ca733b83159fb479f9f75fc53a0 100644 --- a/component/slapos/buildout.cfg +++ b/component/slapos/buildout.cfg @@ -112,47 +112,51 @@ scripts = slapproxy = slapos.proxy:main [versions] -zc.buildout = 1.6.0-dev-SlapOS-004 +zc.buildout = 1.6.0-dev-SlapOS-006 +hexagonit.recipe.download = 1.5.1-dev-slapos-002 # Generated by buildout-versions Jinja2 = 2.6 +Pygments = 1.5 Werkzeug = 0.8.3 buildout-versions = 1.7 collective.recipe.template = 1.9 -hexagonit.recipe.cmmi = 1.5.0 +docutils = 0.9.1 +hexagonit.recipe.cmmi = 1.6 +ipython = 0.13 lxml = 2.3.4 meld3 = 0.6.8 -netaddr = 0.7.6 -slapos.core = 0.25 +netaddr = 0.7.7 +slapos.core = 0.26.1 slapos.libnetworkcache = 0.12 xml-marshaller = 0.9.7 z3c.recipe.scripts = 1.0.1 zc.recipe.egg = 1.3.2 # Required by: -# slapos.core==0.25 -Flask = 0.8 +# slapos.core==0.26.1 +Flask = 0.9 # Required by: -# hexagonit.recipe.cmmi==1.5.0 -hexagonit.recipe.download = 1.5.0 +# netaddr==0.7.7 +Sphinx = 1.1.3 # Required by: -# slapos.core==0.25 +# slapos.core==0.26.1 netifaces = 0.8 # Required by: -# slapos.core==0.25 +# slapos.core==0.26.1 # slapos.libnetworkcache==0.12 # supervisor==3.0a12 -# zc.buildout==1.6.0-dev-SlapOS-004 -# zope.interface==3.8.0 +# zc.buildout==1.6.0-dev-SlapOS-006 +# zope.interface==4.0.1 setuptools = 0.6c12dev-r88846 # Required by: -# slapos.core==0.25 +# slapos.core==0.26.1 supervisor = 3.0a12 # Required by: -# slapos.core==0.25 -zope.interface = 3.8.0 +# slapos.core==0.26.1 +zope.interface = 4.0.1 diff --git a/setup.py b/setup.py index 9e85e7ccde5f1eee6be584988c1d4b1c807ed18b..1cf964d9f13ebafe69d9f5b1e97a02b3acd407fb 100755 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages import glob import os -version = '0.58-dev' +version = '0.59-dev' name = 'slapos.cookbook' long_description = open("README.txt").read() + "\n" + \ open("CHANGES.txt").read() + "\n" diff --git a/slapos/recipe/agent/__init__.py b/slapos/recipe/agent/__init__.py index 1f1f82947c595f4b36911d25b00dd90535da4745..d9639a84d4455d9caea9c761252e2a0bc8da6b9d 100644 --- a/slapos/recipe/agent/__init__.py +++ b/slapos/recipe/agent/__init__.py @@ -34,76 +34,45 @@ from slapos.recipe.librecipe import GenericSlapRecipe import json import ConfigParser +# XXX: BaseSlapRecipe and GenericSlapRecipe are deprecated, use +# GenericBaseRecipe and move partition parameter fetching to software release. class Recipe(BaseSlapRecipe, GenericSlapRecipe): def install(self): self.path_list = [] - self.crond = self.installCrond() + crond = self.installCrond() slap = slapos.slap.slap() - computer_id = self.computer_id - computer_partition_id = self.computer_partition_id - server_url = self.server_url - key_file = self.key_file - cert_file = self.cert_file - slap.initializeConnection(server_url, key_file, cert_file) - self.computer_partition = slap.registerComputerPartition( - computer_id, computer_partition_id) - self.parameter_dict = self.computer_partition.getInstanceParameterDict() + slap.initializeConnection(self.server_url, self.key_file, self.cert_file) + parameter_dict = slap.registerComputerPartition( + self.computer_id, + self.computer_partition_id, + ).getInstanceParameterDict() + # XXX: should probably expect one more (SR-originating) parameter instead + # of using self.work_directory . configuration_path = os.path.join(self.work_directory, "agent.cfg") - configuration = ConfigParser.SafeConfigParser() - configuration.add_section("agent") - configuration.set("agent", "portal_url", self.parameter_dict["portal_url"]) - configuration.set("agent", "master_url", self.parameter_dict["master_url"]) - configuration.set("agent", "report_url", self.parameter_dict["report_url"]) - key_filepath = os.path.join(self.work_directory, "key") - key_file = open(key_filepath, "w") - key_file.write(self.parameter_dict["key"]) - key_file.close() - configuration.set("agent", "key_file", key_filepath) - cert_filepath = os.path.join(self.work_directory, "cert") - cert_file = open(cert_filepath, "w") - cert_file.write(self.parameter_dict["cert"]) - cert_file.close() - configuration.set("agent", "cert_file", cert_filepath) - configuration.set("agent", "maximum_software_installation_duration", - self.parameter_dict["maximum_software_installation_duration"]) - configuration.set("agent", "software_live_duration", - self.parameter_dict["software_live_duration"]) - configuration.set("agent", "computer_list", - self.parameter_dict["computer_list"]) - configuration.set("agent", "software_list", - self.parameter_dict["software_list"]) - configuration.set("agent", "log_directory", self.options["log_directory"]) - configuration.set("agent", "state_file", self.options["state_file"]) - state = open(self.options["state_file"], "w") - state.write('') - state.close() - configuration.add_section("software_uri") - software_list = json.loads(self.parameter_dict["software_list"]) - for software in software_list: - configuration.set("software_uri", software, self.parameter_dict[software]) + with open(configuration_path, "w") as configuration: + configuration.write(parameter_dict["configuration"]) + agent_crond_path = os.path.join(crond, "agent") + with open(agent_crond_path, "w") as agent_crond: + agent_crond.write("*/5 * * * * %s -S %s --pidfile=%s --log=%s " + "%s 2>&1 > /dev/null\n" % ( + self.options["python_binary"], + self.options["agent_binary"], + self.options["pidfile"], + self.options["log"], + configuration_path, + )) - configuration.write(open(configuration_path, "w")) - - agent_crond_path = os.path.join(self.crond, "agent") - agent_crond = open(agent_crond_path, "w") - agent_crond.write("*/3 * * * * %s -S %s" % \ - (self.options["python_binary"], - "%s --pidfile=%s %s" % \ - (self.options["agent_binary"], self.options["pidfile"], - configuration_path))) - agent_crond.close() - - return self.path_list + [configuration_path, key_filepath, cert_filepath, agent_crond_path] + return self.path_list + [configuration_path, agent_crond_path] def installCrond(self): - _, self.ws = self.egg.working_set() + _, ws = self.egg.working_set() timestamps = self.createDataDirectory('cronstamps') cron_output = os.path.join(self.log_directory, 'cron-output') self._createDirectory(cron_output) catcher = zc.buildout.easy_install.scripts([('catchcron', - __name__ + '.catdatefile', 'catdatefile')], self.ws, sys.executable, + __name__ + '.catdatefile', 'catdatefile')], ws, sys.executable, self.bin_directory, arguments=[cron_output])[0] self.path_list.append(catcher) cron_d = os.path.join(self.etc_directory, 'cron.d') @@ -111,7 +80,7 @@ class Recipe(BaseSlapRecipe, GenericSlapRecipe): self._createDirectory(cron_d) self._createDirectory(crontabs) wrapper = zc.buildout.easy_install.scripts([('crond', - 'slapos.recipe.librecipe.execute', 'execute')], self.ws, sys.executable, + 'slapos.recipe.librecipe.execute', 'execute')], ws, sys.executable, self.wrapper_directory, arguments=[ self.options['dcrond_binary'].strip(), '-s', cron_d, '-c', crontabs, '-t', timestamps, '-f', '-l', '5', '-M', catcher] diff --git a/slapos/recipe/erp5_bootstrap/template/erp5_bootstrap.in b/slapos/recipe/erp5_bootstrap/template/erp5_bootstrap.in index c3087f8dc581a2edc4e5f3f1d9c04a6b23c35b43..6627807adc9ecaa605a26a3822bd557162abd303 100644 --- a/slapos/recipe/erp5_bootstrap/template/erp5_bootstrap.in +++ b/slapos/recipe/erp5_bootstrap/template/erp5_bootstrap.in @@ -22,6 +22,9 @@ result = zope_connection.getresponse() if result.status == 204: # and (result.read() == "False"): + # Use a new connection + zope_connection = httplib.HTTPConnection(host) + # Create the expected ERP5 instance zope_connection.request( 'POST', '/manage_addProduct/ERP5/manage_addERP5Site', @@ -32,4 +35,11 @@ if result.status == 204: # and (result.read() == "False"): 'cmf_activity_sql_connection_string': mysql_url, }), headers=header_dict) + # Wait for the erp5 response, to prevent multiple requests + # been done by the same script. + result = zope_connection.getresponse() + # Read result make sure the site really finished to + #created the ERP5 site. + result.read() + print "ERP5 site created." diff --git a/slapos/recipe/erp5_update/__init__.py b/slapos/recipe/erp5_update/__init__.py index 1f702b8904a0d1f51d1042493696f877f87a4183..a1d474175c19973f136e0ada375a1454c6152cc3 100644 --- a/slapos/recipe/erp5_update/__init__.py +++ b/slapos/recipe/erp5_update/__init__.py @@ -29,6 +29,7 @@ from slapos.recipe.librecipe import GenericSlapRecipe class Recipe(GenericSlapRecipe): def _install(self): + self.logger.warn('DEPRECATED: Please update your configuration to use erp5.promise and erp5.bootstrap instead.') conversion_server = None if 'cloudooo-url' in self.options and self.options['cloudooo-url']: parsed = urlparse.urlparse(self.options['cloudooo-url']) diff --git a/software/agent/instance.cfg b/software/agent/instance.cfg index 15ef5a0e46746f2dab8b5dce4aadf934555211f5..f949ed97ea1191442a16847e8a59284ac168ae86 100644 --- a/software/agent/instance.cfg +++ b/software/agent/instance.cfg @@ -1,6 +1,5 @@ [buildout] parts = - rootdirectory instance eggs-directory = ${buildout:eggs-directory} @@ -9,17 +8,16 @@ develop-eggs-directory = ${buildout:develop-eggs-directory} [instance] recipe = ${instance-recipe:egg}:${instance-recipe:module} agent_binary = ${buildout:directory}/bin/agent +report_start = ${buildout:directory}/bin/report_start +report_stop = ${buildout:directory}/bin/report_stop dcrond_binary = ${dcron:location}/sbin/crond python_binary = ${python2.7:location}/bin/python -pidfile = $${buildout:directory}/agent.pid -log_directory = $${buildout:directory}/var/log -state_file = $${buildout:directory}/state.cfg +pidfile = $${rootdirectory:run}/agent.pid +log = $${rootdirectory:agentlog}/agent.log [rootdirectory] recipe = slapos.cookbook:mkdirectory -etc = $${buildout:directory}/etc/ -run = $${rootdirectory:etc}/run/ -var = $${buildout:directory}/var/ -log = $${rootdirectory:var}/log/ -srv = $${buildout:directory}/srv/ -bin = $${buildout:directory}/bin/ +run = $${buildout:directory}/etc/run +agentlog = $${buildout:directory}/var/log/agent +srv = $${buildout:directory}/srv +bin = $${buildout:directory}/bin diff --git a/software/agent/software.cfg b/software/agent/software.cfg index 68f699448a74f8bd5718192235a4ba48e4d1ddfb..da544a183b5d704a35ad5213ff8a72e05e770d16 100644 --- a/software/agent/software.cfg +++ b/software/agent/software.cfg @@ -1,9 +1,4 @@ [buildout] - -# develop = -# /opt/slapdev -# /opt/slapos.toolbox - extends = ../../component/dcron/buildout.cfg ../../component/python-2.7/buildout.cfg @@ -31,7 +26,7 @@ eggs = ${instance-recipe:egg} recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance.cfg output = ${buildout:directory}/template.cfg -md5sum = 2e1a7a68b18de68b163e98a5f92cc776 +md5sum = c7cb98594f394d05baedabe424643f6f mode = 0644 [eggs] @@ -41,6 +36,7 @@ eggs = ${lxml-python:egg} slapos.cookbook slapos.toolbox + erp5.util [lxml-python] python = python2.7 @@ -53,7 +49,7 @@ eggs = ${lxml-python:egg} slapos.core slapos.cookbook - slapos.toolbox + slapos.toolbox[agent] [networkcache] # signature certificates of the following uploaders. diff --git a/software/cloudooo/software.cfg b/software/cloudooo/software.cfg index 078909aa8258408447a6ecb1ebceee7b414d1df2..781b3a7eef30b3bf64c111fbb6ed07e4eeda6d7e 100755 --- a/software/cloudooo/software.cfg +++ b/software/cloudooo/software.cfg @@ -101,11 +101,81 @@ url = ${:_profile_base_location_}/instance-cloudoo.cfg.in md5sum = b41e6607cd619648babac4c99ca87202 mode = 640 + [networkcache] # signature certificates of the following uploaders. +# Romain Courteaud +# Sebastien Robin +# Kazuhiko Shiozaki +# Cedric de Saint Martin +# Yingjie Xu # Gabriel Monnerat -# Rafael Monnerat signature-certificate-list = + -----BEGIN CERTIFICATE----- + MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE + CBMQRGVmYXVsdCBQcm92aW5jZTEPMA0GA1UEChMGTmV4ZWRpMB4XDTExMDkxNTA5 + MDAwMloXDTEyMDkxNTA5MDAwMlowOTELMAkGA1UEBhMCRlIxGTAXBgNVBAgTEERl + ZmF1bHQgUHJvdmluY2UxDzANBgNVBAoTBk5leGVkaTCBnzANBgkqhkiG9w0BAQEF + AAOBjQAwgYkCgYEApYZv6OstoqNzxG1KI6iE5U4Ts2Xx9lgLeUGAMyfJLyMmRLhw + boKOyJ9Xke4dncoBAyNPokUR6iWOcnPHtMvNOsBFZ2f7VA28em3+E1JRYdeNUEtX + Z0s3HjcouaNAnPfjFTXHYj4um1wOw2cURSPuU5dpzKBbV+/QCb5DLheynisCAwEA + ATANBgkqhkiG9w0BAQsFAAOBgQBCZLbTVdrw3RZlVVMFezSHrhBYKAukTwZrNmJX + mHqi2tN8tNo6FX+wmxUUAf3e8R2Ymbdbn2bfbPpcKQ2fG7PuKGvhwMG3BlF9paEC + q7jdfWO18Zp/BG7tagz0jmmC4y/8akzHsVlruo2+2du2freE8dK746uoMlXlP93g + QUUGLQ== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB8jCCAVugAwIBAgIJAPu2zchZ2BxoMA0GCSqGSIb3DQEBBQUAMBIxEDAOBgNV + BAMMB3RzeGRldjMwHhcNMTExMDE0MTIxNjIzWhcNMTIxMDEzMTIxNjIzWjASMRAw + DgYDVQQDDAd0c3hkZXYzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrPbh+ + YGmo6mWmhVb1vTqX0BbeU0jCTB8TK3i6ep3tzSw2rkUGSx3niXn9LNTFNcIn3MZN + XHqbb4AS2Zxyk/2tr3939qqOrS4YRCtXBwTCuFY6r+a7pZsjiTNddPsEhuj4lEnR + L8Ax5mmzoi9nE+hiPSwqjRwWRU1+182rzXmN4QIDAQABo1AwTjAdBgNVHQ4EFgQU + /4XXREzqBbBNJvX5gU8tLWxZaeQwHwYDVR0jBBgwFoAU/4XXREzqBbBNJvX5gU8t + LWxZaeQwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQA07q/rKoE7fAda + FED57/SR00OvY9wLlFEF2QJ5OLu+O33YUXDDbGpfUSF9R8l0g9dix1JbWK9nQ6Yd + R/KCo6D0sw0ZgeQv1aUXbl/xJ9k4jlTxmWbPeiiPZEqU1W9wN5lkGuLxV4CEGTKU + hJA/yXa1wbwIPGvX3tVKdOEWPRXZLg== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB7jCCAVegAwIBAgIJAJWA0jQ4o9DGMA0GCSqGSIb3DQEBBQUAMA8xDTALBgNV + BAMMBHg2MXMwIBcNMTExMTI0MTAyNDQzWhgPMjExMTEwMzExMDI0NDNaMA8xDTAL + BgNVBAMMBHg2MXMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANdJNiFsRlkH + vq2kHP2zdxEyzPAWZH3CQ3Myb3F8hERXTIFSUqntPXDKXDb7Y/laqjMXdj+vptKk + 3Q36J+8VnJbSwjGwmEG6tym9qMSGIPPNw1JXY1R29eF3o4aj21o7DHAkhuNc5Tso + 67fUSKgvyVnyH4G6ShQUAtghPaAwS0KvAgMBAAGjUDBOMB0GA1UdDgQWBBSjxFUE + RfnTvABRLAa34Ytkhz5vPzAfBgNVHSMEGDAWgBSjxFUERfnTvABRLAa34Ytkhz5v + PzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAFLDS7zNhlrQYSQO5KIj + z2RJe3fj4rLPklo3TmP5KLvendG+LErE2cbKPqnhQ2oVoj6u9tWVwo/g03PMrrnL + KrDm39slYD/1KoE5kB4l/p6KVOdeJ4I6xcgu9rnkqqHzDwI4v7e8/D3WZbpiFUsY + vaZhjNYKWQf79l6zXfOvphzJ + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB9jCCAV+gAwIBAgIJAO4V/jiMoICoMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV + BAMMCENPTVAtMjMyMCAXDTEyMDIxNjExMTAyM1oYDzIxMTIwMTIzMTExMDIzWjAT + MREwDwYDVQQDDAhDT01QLTIzMjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + wi/3Z8W9pUiegUXIk/AiFDQ0UJ4JFAwjqr+HSRUirlUsHHT+8DzH/hfcTDX1I5BB + D1ADk+ydXjMm3OZrQcXjn29OUfM5C+g+oqeMnYQImN0DDQIOcUyr7AJc4xhvuXQ1 + P2pJ5NOd3tbd0kexETa1LVhR6EgBC25LyRBRae76qosCAwEAAaNQME4wHQYDVR0O + BBYEFMDmW9aFy1sKTfCpcRkYnP6zUd1cMB8GA1UdIwQYMBaAFMDmW9aFy1sKTfCp + cRkYnP6zUd1cMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAskbFizHr + b6d3iIyN+wffxz/V9epbKIZVEGJd/6LrTdLiUfJPec7FaxVCWNyKBlCpINBM7cEV + Gn9t8mdVQflNqOlAMkOlUv1ZugCt9rXYQOV7rrEYJBWirn43BOMn9Flp2nibblby + If1a2ZoqHRxoNo2yTmm7TSYRORWVS+vvfjY= + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB9jCCAV+gAwIBAgIJAIlBksrZVkK8MA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV + BAMMCENPTVAtMzU3MCAXDTEyMDEyNjEwNTUyOFoYDzIxMTIwMTAyMTA1NTI4WjAT + MREwDwYDVQQDDAhDT01QLTM1NzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + ts+iGUwi44vtIfwXR8DCnLtHV4ydl0YTK2joJflj0/Ws7mz5BYkxIU4fea/6+VF3 + i11nwBgYgxQyjNztgc9u9O71k1W5tU95yO7U7bFdYd5uxYA9/22fjObaTQoC4Nc9 + mTu6r/VHyJ1yRsunBZXvnk/XaKp7gGE9vNEyJvPn2bkCAwEAAaNQME4wHQYDVR0O + BBYEFKuGIYu8+6aEkTVg62BRYaD11PILMB8GA1UdIwQYMBaAFKuGIYu8+6aEkTVg + 62BRYaD11PILMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMoTRpBxK + YLEZJbofF7gSrRIcrlUJYXfTfw1QUBOKkGFFDsiJpEg4y5pUk1s5Jq9K3SDzNq/W + it1oYjOhuGg3al8OOeKFrU6nvNTF1BAvJCl0tr3POai5yXyN5jlK/zPfypmQYxE+ + TaqQSGBJPVXYt6lrq/PRD9ciZgKLOwEqK8w= + -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIB9jCCAV+gAwIBAgIJAPHoWu90gbsgMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV BAMMCXZpZmlibm9kZTAeFw0xMjAzMTkyMzIwNTVaFw0xMzAzMTkyMzIwNTVaMBQx @@ -119,20 +189,3 @@ signature-certificate-list = Yme/bhX0g51BmI6gjKJo5DoPtiXk/Y9lxwD3p7PWi+RhN+AZQ5rpo8UfwnnN059n yDuimQfvJjBFMVrdn9iP6SfMjxKaGk6gVmI= -----END CERTIFICATE----- - -----BEGIN PRIVATE KEY----- - MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMc2zhpXKIp9qvjL - aedq9ujY5Ys9mqMSF25zgVMg3PzhrZPZ1gObgbU3Ns8Ede7puildGxsr7gQO/F3L - 1PgCFf+bNKIQQF+8o0SphIQGHBb6L9xMlknYzq6qqOKhUszqyrFUAZcSA6Y0AR+B - d5X+nQb+vzPrQk94kr92jmW7BtBPAgMBAAECgYBFzdpiOHAoNuiVzREK2dwysu2b - 4LYytcAoH6kNK9LDeYCM8iOfl/nXOcWmvHVmhdeJbup0luwL2ARuCWJSlMiH7N9X - 7XX1yxRWIUbko8M2MxbSp4cexvVI1A8zNvtwkBldO736FU+//G+GYQ/FKul+1640 - DyRbaRnnfgDhvAAcAQJBAPznTEUX3LcjiB6443kQoPJlx992hH3fV+zDEDV9KwWS - u6LKEGFO6Lp8exZzCtCrwpjwFOYtCOHqNkRiGfL4ys8CQQDJpzkF6KpAHPPoKJ+s - kpibmVJh3gRt105uysNTMLzsSYOR94/AEdUx/676zS5D8OQRHjq9pJCBSMqRdgI9 - fQKBAkAD2enZa4Ga8FmUTjB4mX458r7WclGWMR5/poDKr7tF/HQLCJSzRqZYoKin - MN1LTDJMbeuDjdAC0LQ+2leW0Z8VAkABJDwzZ1zHXiKXVtuIi4/nmZeYzDv0LzrX - b7hpWSZIpCXlhqQ+rxso3EyuSMkRQ2TXH/evKSZURQg4iJV8qZ+BAkEA48lej9PT - cw2o9zohoD3iMeVcM3O0tOnP+gCH//++0yKG5V2m08CFtqR6oQeA9HtQjJ7znrW2 - wmro1zayUIH/+Q== - -----END PRIVATE KEY----- - diff --git a/software/erp5/software.cfg b/software/erp5/software.cfg index 6416b781e83a1a632b05bdcc47c996954263072b..c065c82bcc0b8364a5642879257d1acc9ea525f5 100644 --- a/software/erp5/software.cfg +++ b/software/erp5/software.cfg @@ -1,345 +1,3 @@ [buildout] extends = - ../../stack/shacache-client.cfg - ../../stack/erp5.cfg - -versions = versions - -# Local development -develop = - ${:parts-directory}/slapos.cookbook-repository - ${:parts-directory}/cloudooo-repository - -parts += -# Local development - slapos.cookbook-repository - check-recipe - slapos.cookbook-python2.6 - slapos.recipe.template-python2.6 -# Create instance template - template - -# XXX: Workaround of SlapOS limitation -# Unzippig of eggs is required, as SlapOS do not yet provide nicely working -# development / fast switching environment for whole software -unzip = true - -# Local development -[slapos.cookbook-repository] -recipe = plone.recipe.command -stop-on-error = true -branch = erp5-component -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 - -[check-recipe] -recipe = plone.recipe.command -stop-on-error = true -update-command = ${:command} -command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link - -[slapos.cookbook-python2.6] -recipe = zc.recipe.egg -eggs = slapos.cookbook -scripts = -python = python2.6 -ugly-depend-on = ${slapos.cookbook-repository:command} ${slapos.cookbook-repository:update-command} - -[slapos.recipe.template-python2.6] -recipe = zc.recipe.egg -eggs = slapos.recipe.template -scripts = -python = python2.6 - -[template-jinja2-base] -recipe = slapos.recipe.template:jinja2 -template = ${:_profile_base_location_}/${:filename}.in -rendered = ${buildout:directory}/${:filename} -# XXX: extra-context is needed because we cannot append to a key of an extended -# section. -extra-context = -context = - key bin_directory buildout:bin-directory - key develop_eggs_directory buildout:develop-eggs-directory - key eggs_directory buildout:eggs-directory - ${:extra-context} - -[template-mariadb] -< = template-jinja2-base -filename = instance-mariadb.cfg -md5sum = bcaee4e52a4332451b15fb38ecb12a2b -extra-context = - key coreutils_location coreutils:location - key dcron_location dcron:location - key gettext_location gettext:location - key grep_location grep:location - key gzip_location gzip:location - key logrotate_location logrotate:location - key mariadb_location mariadb:location - key perl_location perl:location - key perl_siteprefix perl:siteprefix - key sed_location sed:location - key xtrabackup_location xtrabackup:location - -[template-sphinx] -< = template-jinja2-base -filename = instance-sphinx.cfg -md5sum = e3975afd5220f251d6b6e7024a2ca08b -extra-context = - key sphinx_location sphinx:location - -[template-zope] -recipe = slapos.recipe.build:download -url = ${:_profile_base_location_}/instance-zope.cfg.in -md5sum = ea09a89ca79290c33de0b59a19a5490f -mode = 640 - -[template-kumofs] -< = template-jinja2-base -filename = instance-kumofs.cfg -md5sum = 700ee7769c89e0959dc3f052e55ada6e -extra-context = - key dash_location dash:location - key dcron_location dcron:location - key gzip_location gzip:location - key kumo_location kumo:location - key logrotate_location logrotate:location - -[template-cloudooo] -recipe = slapos.recipe.build:download -url = ${:_profile_base_location_}/instance-cloudoo.cfg.in -md5sum = d3b3afac9099823ba2853070324a29c8 -mode = 640 - -# Additional Configuration -configurator_bt5_list = erp5_core_proxy_field_legacy erp5_full_text_myisam_catalog erp5_base erp5_workflow erp5_configurator erp5_configurator_standard erp5_configurator_maxma_demo erp5_configurator_ung - -[template-zope-conf] -recipe = slapos.recipe.build:download -url = ${:_profile_base_location_}/zope.conf.in -md5sum = 599e004c18fd3461aa846ae75bd112f2 -mode = 640 - -[template] -< = template-jinja2-base -# XXX: "template.cfg" is hardcoded in instanciation recipe -filename = template.cfg -template = ${:_profile_base_location_}/instance.cfg.in -md5sum = f9217ba04cd1f6f7bbfb5f8d758494d1 -extra-context = - key apache_location apache:location - key aspell_location aspell:location - key buildout_bin_directory buildout:bin-directory - key coreutils_location coreutils:location - key dash_location dash:location - key dcron_location dcron:location - key dmtx_utils_location dmtx-utils:location - key erp5_location erp5:location - key file_location file:location - key fontconfig_location fontconfig:location - key fonts_location fonts:location - key freetype_location freetype:location - key git_location git:location - key graphviz_location graphviz:location - key grep_location grep:location - key gzip_location gzip:location - key haproxy_location haproxy:location - key imagemagick_location imagemagick:location - key libICE_location libICE:location - key libSM_location libSM:location - key libX11_location libX11:location - key libXau_location libXau:location - key libXdmcp_location libXdmcp:location - key libXext_location libXext:location - key libXrender_location libXrender:location - key libpng12_location libpng12:location - key libreoffice_bin_location libreoffice-bin:location - key librsvg_location librsvg:location - key libxcb_location libxcb:location - key local_bt5_repository local-bt5-repository:list - key logrotate_location logrotate:location - key mariadb_location mariadb:location - key openssl_location openssl:location - key pdftk_location pdftk:location - key poppler_location poppler:location - key sed_location sed:location - key template_balancer template-balancer:target - key template_cloudooo template-cloudooo:target - key template_erp5_development template-erp5-development:target - key template_erp5_production template-erp5-production:target - key template_kumofs template-kumofs:rendered - key template_logrotate_base template-logrotate-base:rendered - key template_mariadb template-mariadb:rendered - key template_memcached template-memcached:rendered - key template_production_zope template-production-zope:target - key template_sphinx template-sphinx:rendered - key template_varnish template-varnish:target - key template_zeo template-zeo:target - key template_zope template-zope:target - key template_zope_conf template-zope-conf:target - key tesseract_location tesseract:location - key varnish_location varnish-3.0:location - key w3m_location w3m:location - key wget_location wget:location - key zlib_location zlib:location - -[template-memcached] -< = template-jinja2-base -filename = instance-memcached.cfg -md5sum = 395779dc578e2527cb0d89c5aee39f65 -extra-context = - key dash_location dash:location - key memcached_location memcached:location - -[template-erp5-development] -recipe = slapos.recipe.build:download -url = ${:_profile_base_location_}/instance-erp5-development.cfg.in -md5sum = df405a60901b5c112093d276c5bb1998 -mode = 640 - -[template-erp5-production] -recipe = slapos.recipe.build:download -url = ${:_profile_base_location_}/instance-erp5-production.cfg.in -md5sum = eabeba496634ebcb4898c219d7d50776 -mode = 640 - -[template-zeo] -recipe = slapos.recipe.build:download -url = ${:_profile_base_location_}/instance-zeo.cfg.in -md5sum = 98ee5c8802c58cfca792813a71cebf52 -mode = 640 - -[template-production-zope] -recipe = slapos.recipe.build:download -url = ${:_profile_base_location_}/instance-production-zope.cfg.in -md5sum = b340d3f6a6eb1cd3dfaf87d00e8d6029 -mode = 640 - -[template-balancer] -recipe = slapos.recipe.build:download -url = ${:_profile_base_location_}/instance-balancer.cfg.in -md5sum = d460b32d46f56723d1d2de364610ef9f -mode = 640 - -[template-logrotate-base] -< = template-jinja2-base -filename = instance-logrotate-base.cfg -md5sum = 58cb9b7690a56d65502cb37aba9860ef -extra-context = - key dcron_location dcron:location - key gzip_location gzip:location - key logrotate_location logrotate:location - -[template-varnish] -recipe = slapos.recipe.build:download -url = ${:_profile_base_location_}/instance-varnish.cfg.in -md5sum = 17aee2df57b121343b1fd65f4b51ce80 -mode = 640 - - -[networkcache] -# signature certificates of the following uploaders. -# Romain Courteaud -# Sebastien Robin -# Kazuhiko Shiozaki -# Cedric de Saint Martin -# Yingjie Xu -# Gabriel Monnerat -# Rafael Monnerat -signature-certificate-list = - -----BEGIN CERTIFICATE----- - MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE - CBMQRGVmYXVsdCBQcm92aW5jZTEPMA0GA1UEChMGTmV4ZWRpMB4XDTExMDkxNTA5 - MDAwMloXDTEyMDkxNTA5MDAwMlowOTELMAkGA1UEBhMCRlIxGTAXBgNVBAgTEERl - ZmF1bHQgUHJvdmluY2UxDzANBgNVBAoTBk5leGVkaTCBnzANBgkqhkiG9w0BAQEF - AAOBjQAwgYkCgYEApYZv6OstoqNzxG1KI6iE5U4Ts2Xx9lgLeUGAMyfJLyMmRLhw - boKOyJ9Xke4dncoBAyNPokUR6iWOcnPHtMvNOsBFZ2f7VA28em3+E1JRYdeNUEtX - Z0s3HjcouaNAnPfjFTXHYj4um1wOw2cURSPuU5dpzKBbV+/QCb5DLheynisCAwEA - ATANBgkqhkiG9w0BAQsFAAOBgQBCZLbTVdrw3RZlVVMFezSHrhBYKAukTwZrNmJX - mHqi2tN8tNo6FX+wmxUUAf3e8R2Ymbdbn2bfbPpcKQ2fG7PuKGvhwMG3BlF9paEC - q7jdfWO18Zp/BG7tagz0jmmC4y/8akzHsVlruo2+2du2freE8dK746uoMlXlP93g - QUUGLQ== - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MIIB8jCCAVugAwIBAgIJAPu2zchZ2BxoMA0GCSqGSIb3DQEBBQUAMBIxEDAOBgNV - BAMMB3RzeGRldjMwHhcNMTExMDE0MTIxNjIzWhcNMTIxMDEzMTIxNjIzWjASMRAw - DgYDVQQDDAd0c3hkZXYzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrPbh+ - YGmo6mWmhVb1vTqX0BbeU0jCTB8TK3i6ep3tzSw2rkUGSx3niXn9LNTFNcIn3MZN - XHqbb4AS2Zxyk/2tr3939qqOrS4YRCtXBwTCuFY6r+a7pZsjiTNddPsEhuj4lEnR - L8Ax5mmzoi9nE+hiPSwqjRwWRU1+182rzXmN4QIDAQABo1AwTjAdBgNVHQ4EFgQU - /4XXREzqBbBNJvX5gU8tLWxZaeQwHwYDVR0jBBgwFoAU/4XXREzqBbBNJvX5gU8t - LWxZaeQwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQA07q/rKoE7fAda - FED57/SR00OvY9wLlFEF2QJ5OLu+O33YUXDDbGpfUSF9R8l0g9dix1JbWK9nQ6Yd - R/KCo6D0sw0ZgeQv1aUXbl/xJ9k4jlTxmWbPeiiPZEqU1W9wN5lkGuLxV4CEGTKU - hJA/yXa1wbwIPGvX3tVKdOEWPRXZLg== - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MIIB7jCCAVegAwIBAgIJAJWA0jQ4o9DGMA0GCSqGSIb3DQEBBQUAMA8xDTALBgNV - BAMMBHg2MXMwIBcNMTExMTI0MTAyNDQzWhgPMjExMTEwMzExMDI0NDNaMA8xDTAL - BgNVBAMMBHg2MXMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANdJNiFsRlkH - vq2kHP2zdxEyzPAWZH3CQ3Myb3F8hERXTIFSUqntPXDKXDb7Y/laqjMXdj+vptKk - 3Q36J+8VnJbSwjGwmEG6tym9qMSGIPPNw1JXY1R29eF3o4aj21o7DHAkhuNc5Tso - 67fUSKgvyVnyH4G6ShQUAtghPaAwS0KvAgMBAAGjUDBOMB0GA1UdDgQWBBSjxFUE - RfnTvABRLAa34Ytkhz5vPzAfBgNVHSMEGDAWgBSjxFUERfnTvABRLAa34Ytkhz5v - PzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAFLDS7zNhlrQYSQO5KIj - z2RJe3fj4rLPklo3TmP5KLvendG+LErE2cbKPqnhQ2oVoj6u9tWVwo/g03PMrrnL - KrDm39slYD/1KoE5kB4l/p6KVOdeJ4I6xcgu9rnkqqHzDwI4v7e8/D3WZbpiFUsY - vaZhjNYKWQf79l6zXfOvphzJ - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MIIB9jCCAV+gAwIBAgIJAO4V/jiMoICoMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV - BAMMCENPTVAtMjMyMCAXDTEyMDIxNjExMTAyM1oYDzIxMTIwMTIzMTExMDIzWjAT - MREwDwYDVQQDDAhDT01QLTIzMjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA - wi/3Z8W9pUiegUXIk/AiFDQ0UJ4JFAwjqr+HSRUirlUsHHT+8DzH/hfcTDX1I5BB - D1ADk+ydXjMm3OZrQcXjn29OUfM5C+g+oqeMnYQImN0DDQIOcUyr7AJc4xhvuXQ1 - P2pJ5NOd3tbd0kexETa1LVhR6EgBC25LyRBRae76qosCAwEAAaNQME4wHQYDVR0O - BBYEFMDmW9aFy1sKTfCpcRkYnP6zUd1cMB8GA1UdIwQYMBaAFMDmW9aFy1sKTfCp - cRkYnP6zUd1cMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAskbFizHr - b6d3iIyN+wffxz/V9epbKIZVEGJd/6LrTdLiUfJPec7FaxVCWNyKBlCpINBM7cEV - Gn9t8mdVQflNqOlAMkOlUv1ZugCt9rXYQOV7rrEYJBWirn43BOMn9Flp2nibblby - If1a2ZoqHRxoNo2yTmm7TSYRORWVS+vvfjY= - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MIIB9jCCAV+gAwIBAgIJAIlBksrZVkK8MA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV - BAMMCENPTVAtMzU3MCAXDTEyMDEyNjEwNTUyOFoYDzIxMTIwMTAyMTA1NTI4WjAT - MREwDwYDVQQDDAhDT01QLTM1NzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA - ts+iGUwi44vtIfwXR8DCnLtHV4ydl0YTK2joJflj0/Ws7mz5BYkxIU4fea/6+VF3 - i11nwBgYgxQyjNztgc9u9O71k1W5tU95yO7U7bFdYd5uxYA9/22fjObaTQoC4Nc9 - mTu6r/VHyJ1yRsunBZXvnk/XaKp7gGE9vNEyJvPn2bkCAwEAAaNQME4wHQYDVR0O - BBYEFKuGIYu8+6aEkTVg62BRYaD11PILMB8GA1UdIwQYMBaAFKuGIYu8+6aEkTVg - 62BRYaD11PILMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMoTRpBxK - YLEZJbofF7gSrRIcrlUJYXfTfw1QUBOKkGFFDsiJpEg4y5pUk1s5Jq9K3SDzNq/W - it1oYjOhuGg3al8OOeKFrU6nvNTF1BAvJCl0tr3POai5yXyN5jlK/zPfypmQYxE+ - TaqQSGBJPVXYt6lrq/PRD9ciZgKLOwEqK8w= - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MIIB9jCCAV+gAwIBAgIJAPHoWu90gbsgMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV - BAMMCXZpZmlibm9kZTAeFw0xMjAzMTkyMzIwNTVaFw0xMzAzMTkyMzIwNTVaMBQx - EjAQBgNVBAMMCXZpZmlibm9kZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA - ozBijpO8PS5RTeKTzA90vi9ezvv4vVjNaguqT4UwP9+O1+i6yq1Y2W5zZxw/Klbn - oudyNzie3/wqs9VfPmcyU9ajFzBv/Tobm3obmOqBN0GSYs5fyGw+O9G3//6ZEhf0 - NinwdKmrRX+d0P5bHewadZWIvlmOupcnVJmkks852BECAwEAAaNQME4wHQYDVR0O - BBYEFF9EtgfZZs8L2ZxBJxSiY6eTsTEwMB8GA1UdIwQYMBaAFF9EtgfZZs8L2ZxB - JxSiY6eTsTEwMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAc43YTfc6 - baSemaMAc/jz8LNLhRE5dLfLOcRSoHda8y0lOrfe4lHT6yP5l8uyWAzLW+g6s3DA - Yme/bhX0g51BmI6gjKJo5DoPtiXk/Y9lxwD3p7PWi+RhN+AZQ5rpo8UfwnnN059n - yDuimQfvJjBFMVrdn9iP6SfMjxKaGk6gVmI= - -----END CERTIFICATE----- - -----BEGIN PRIVATE KEY----- - MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMc2zhpXKIp9qvjL - aedq9ujY5Ys9mqMSF25zgVMg3PzhrZPZ1gObgbU3Ns8Ede7puildGxsr7gQO/F3L - 1PgCFf+bNKIQQF+8o0SphIQGHBb6L9xMlknYzq6qqOKhUszqyrFUAZcSA6Y0AR+B - d5X+nQb+vzPrQk94kr92jmW7BtBPAgMBAAECgYBFzdpiOHAoNuiVzREK2dwysu2b - 4LYytcAoH6kNK9LDeYCM8iOfl/nXOcWmvHVmhdeJbup0luwL2ARuCWJSlMiH7N9X - 7XX1yxRWIUbko8M2MxbSp4cexvVI1A8zNvtwkBldO736FU+//G+GYQ/FKul+1640 - DyRbaRnnfgDhvAAcAQJBAPznTEUX3LcjiB6443kQoPJlx992hH3fV+zDEDV9KwWS - u6LKEGFO6Lp8exZzCtCrwpjwFOYtCOHqNkRiGfL4ys8CQQDJpzkF6KpAHPPoKJ+s - kpibmVJh3gRt105uysNTMLzsSYOR94/AEdUx/676zS5D8OQRHjq9pJCBSMqRdgI9 - fQKBAkAD2enZa4Ga8FmUTjB4mX458r7WclGWMR5/poDKr7tF/HQLCJSzRqZYoKin - MN1LTDJMbeuDjdAC0LQ+2leW0Z8VAkABJDwzZ1zHXiKXVtuIi4/nmZeYzDv0LzrX - b7hpWSZIpCXlhqQ+rxso3EyuSMkRQ2TXH/evKSZURQg4iJV8qZ+BAkEA48lej9PT - cw2o9zohoD3iMeVcM3O0tOnP+gCH//++0yKG5V2m08CFtqR6oQeA9HtQjJ7znrW2 - wmro1zayUIH/+Q== - -----END PRIVATE KEY----- + ../../stack/erp5/buildout.cfg diff --git a/software/slaprunner/software.cfg b/software/slaprunner/software.cfg index 6f8f84f8fde5d476422d1c1fb068f74c519ae65a..0a187978c95c6fe896fc45de01499ce908125cf8 100644 --- a/software/slaprunner/software.cfg +++ b/software/slaprunner/software.cfg @@ -68,11 +68,11 @@ slapos.cookbook = 0.53 slapos.libnetworkcache = 0.12 slapos.recipe.build = 0.9 slapos.recipe.template = 2.4 -slapos.toolbox = 0.24 +slapos.toolbox = 0.26 smmap = 0.8.2 # Required by: -# slapos.core==0.25 +# slapos.core==0.26.1 Flask = 0.8 # Required by: @@ -100,7 +100,7 @@ inotifyx = 0.2.0 # Required by: # slapos.cookbook==0.53 -# slapos.core==0.25 +# slapos.core==0.26.1 # xml-marshaller==0.9.7 lxml = 2.3.4 @@ -109,7 +109,7 @@ lxml = 2.3.4 netaddr = 0.7.7 # Required by: -# slapos.core==0.25 +# slapos.core==0.26.1 netifaces = 0.8 # Required by: @@ -122,7 +122,7 @@ psutil = 0.4.1 # Required by: # slapos.cookbook==0.53 -# slapos.core==0.25 +# slapos.core==0.26.1 # slapos.libnetworkcache==0.12 # slapos.toolbox==0.24 # supervisor==3.0a12 @@ -133,10 +133,10 @@ setuptools = 0.6c12dev-r88846 # Required by: # slapos.cookbook==0.53 -slapos.core = 0.25 +slapos.core = 0.26.1 # Required by: -# slapos.core==0.25 +# slapos.core==0.26.1 supervisor = 3.0a12 # Required by: @@ -148,5 +148,5 @@ xml-marshaller = 0.9.7 zc.recipe.egg = 1.3.2 # Required by: -# slapos.core==0.25 +# slapos.core==0.26.1 zope.interface = 4.0.1 diff --git a/stack/erp5.cfg b/stack/erp5/buildout.cfg similarity index 52% rename from stack/erp5.cfg rename to stack/erp5/buildout.cfg index 8a8343be8af2e085a4836258d7375140f0b0ab4c..b1871f7892b5e1e94436f376f407b74b859a12d6 100644 --- a/stack/erp5.cfg +++ b/stack/erp5/buildout.cfg @@ -1,8 +1,12 @@ [buildout] +# Local development +develop = + ${:parts-directory}/slapos.cookbook-repository + ${:parts-directory}/cloudooo-repository + extensions = slapos.rebootstrap slapos.zcbworkarounds - buildout-versions mr.developer find-links = @@ -12,79 +16,57 @@ find-links = http://www.nexedi.org/static/packages/source/ http://www.owlfish.com/software/wsgiutils/download.html -# Separate from site eggs -allowed-eggs-from-site-packages = -include-site-packages = false -exec-sitecustomize = false - -# Use only quite well working sites. -allow-hosts = - *.nexedi.org - *.python.org - *.sourceforge.net - alastairs-place.net - dist.repoze.org - effbot.org - github.com - peak.telecommunity.com - psutil.googlecode.com - www.dabeaz.com - www.owlfish.com - launchpad.net - bitbucket.org - extends = # Exact version of Zope http://svn.zope.org/repos/main/Zope/tags/2.12.23/versions.cfg - ../component/logrotate/buildout.cfg - ../component/dcron/buildout.cfg - ../component/file/buildout.cfg - ../component/fonts/buildout.cfg - ../component/ghostscript/buildout.cfg - ../component/git/buildout.cfg - ../component/graphviz/buildout.cfg - ../component/gzip/buildout.cfg - ../component/haproxy/buildout.cfg - ../component/hookbox/buildout.cfg - ../component/librsvg/buildout.cfg - ../component/imagemagick/buildout.cfg - ../component/kumo/buildout.cfg - ../component/libdmtx/buildout.cfg - ../component/libpng/buildout.cfg - ../component/libreoffice-bin/buildout.cfg - ../component/lxml-python/buildout.cfg - ../component/percona-toolkit/buildout.cfg - ../component/mariadb/buildout.cfg - ../component/memcached/buildout.cfg - ../component/mysql-python/buildout.cfg - ../component/pdftk/buildout.cfg - ../component/pil-python/buildout.cfg - ../component/pycrypto-python/buildout.cfg - ../component/pysvn-python/buildout.cfg - ../component/python-2.6/buildout.cfg - ../component/python-2.7/buildout.cfg - ../component/python-ldap-python/buildout.cfg - ../component/rdiff-backup/buildout.cfg - ../component/sphinx/buildout.cfg - ../component/stunnel/buildout.cfg - ../component/subversion/buildout.cfg - ../component/tesseract/buildout.cfg - ../component/varnish/buildout.cfg - ../component/w3-validator/buildout.cfg - ../component/w3m/buildout.cfg - ../component/xorg/buildout.cfg - ../component/poppler/buildout.cfg - ../component/xtrabackup/buildout.cfg - ../component/zabbix/buildout.cfg - ../component/sed/buildout.cfg - ../component/coreutils/buildout.cfg - ../component/grep/buildout.cfg - ../component/dash/buildout.cfg - ../component/wget/buildout.cfg - ../component/aspell/buildout.cfg - ../component/cloudooo/buildout.cfg - -versions = versions + ../../stack/slapos.cfg + ../../component/logrotate/buildout.cfg + ../../component/dcron/buildout.cfg + ../../component/file/buildout.cfg + ../../component/fonts/buildout.cfg + ../../component/ghostscript/buildout.cfg + ../../component/git/buildout.cfg + ../../component/graphviz/buildout.cfg + ../../component/gzip/buildout.cfg + ../../component/haproxy/buildout.cfg + ../../component/hookbox/buildout.cfg + ../../component/librsvg/buildout.cfg + ../../component/imagemagick/buildout.cfg + ../../component/kumo/buildout.cfg + ../../component/libdmtx/buildout.cfg + ../../component/libpng/buildout.cfg + ../../component/libreoffice-bin/buildout.cfg + ../../component/lxml-python/buildout.cfg + ../../component/percona-toolkit/buildout.cfg + ../../component/mariadb/buildout.cfg + ../../component/memcached/buildout.cfg + ../../component/mysql-python/buildout.cfg + ../../component/pdftk/buildout.cfg + ../../component/pil-python/buildout.cfg + ../../component/pycrypto-python/buildout.cfg + ../../component/pysvn-python/buildout.cfg + ../../component/python-2.6/buildout.cfg + ../../component/python-2.7/buildout.cfg + ../../component/python-ldap-python/buildout.cfg + ../../component/rdiff-backup/buildout.cfg + ../../component/sphinx/buildout.cfg + ../../component/stunnel/buildout.cfg + ../../component/subversion/buildout.cfg + ../../component/tesseract/buildout.cfg + ../../component/varnish/buildout.cfg + ../../component/w3-validator/buildout.cfg + ../../component/w3m/buildout.cfg + ../../component/xorg/buildout.cfg + ../../component/poppler/buildout.cfg + ../../component/xtrabackup/buildout.cfg + ../../component/zabbix/buildout.cfg + ../../component/sed/buildout.cfg + ../../component/coreutils/buildout.cfg + ../../component/grep/buildout.cfg + ../../component/dash/buildout.cfg + ../../component/wget/buildout.cfg + ../../component/aspell/buildout.cfg + ../../component/cloudooo/buildout.cfg parts = rdiff-backup @@ -152,6 +134,203 @@ parts = # some additional utils slapos-toolbox +# Local development + slapos.cookbook-repository + check-recipe + slapos.cookbook-python2.6 + slapos.recipe.template-python2.6 +# Create instance template + template + +# Local development +[slapos.cookbook-repository] +recipe = plone.recipe.command +stop-on-error = true +branch = erp5-component +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 + +[check-recipe] +recipe = plone.recipe.command +stop-on-error = true +update-command = ${:command} +command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link + +[slapos.cookbook-python2.6] +recipe = zc.recipe.egg +eggs = slapos.cookbook +scripts = +python = python2.6 +ugly-depend-on = ${slapos.cookbook-repository:command} ${slapos.cookbook-repository:update-command} + +[slapos.recipe.template-python2.6] +recipe = zc.recipe.egg +eggs = slapos.recipe.template +scripts = +python = python2.6 + +[template-jinja2-base] +recipe = slapos.recipe.template:jinja2 +template = ${:_profile_base_location_}/${:filename}.in +rendered = ${buildout:directory}/${:filename} +# XXX: extra-context is needed because we cannot append to a key of an extended +# section. +extra-context = +context = + key bin_directory buildout:bin-directory + key develop_eggs_directory buildout:develop-eggs-directory + key eggs_directory buildout:eggs-directory + ${:extra-context} + +[template-mariadb] +< = template-jinja2-base +filename = instance-mariadb.cfg +md5sum = 0e8e9bfc8c8a5f1bd71f5c4f346ef68b +extra-context = + key coreutils_location coreutils:location + key dcron_location dcron:location + key gettext_location gettext:location + key grep_location grep:location + key gzip_location gzip:location + key logrotate_location logrotate:location + key mariadb_location mariadb:location + key perl_location perl:location + key perl_siteprefix perl:siteprefix + key sed_location sed:location + key xtrabackup_location xtrabackup:location + +[template-sphinx] +< = template-jinja2-base +filename = instance-sphinx.cfg +md5sum = e3975afd5220f251d6b6e7024a2ca08b +extra-context = + key sphinx_location sphinx:location + +[template-zope] +recipe = slapos.recipe.build:download +url = ${:_profile_base_location_}/instance-zope.cfg.in +md5sum = de2918c8ca604f452a69108f6e31e78d +mode = 640 + +[template-kumofs] +< = template-jinja2-base +filename = instance-kumofs.cfg +md5sum = 7e13d689de7163dcab64e8df4711cdd7 +extra-context = + key dash_location dash:location + key dcron_location dcron:location + key gzip_location gzip:location + key kumo_location kumo:location + key logrotate_location logrotate:location + +[template-tidstorage] +recipe = slapos.recipe.build:download +url = ${:_profile_base_location_}/instance-tidstorage.cfg.in +md5sum = 520e39f2612a045b42c0ad914bfdc5a9 +mode = 640 + +[template-cloudooo] +recipe = slapos.recipe.build:download +url = ${:_profile_base_location_}/instance-cloudoo.cfg.in +md5sum = 53492e520be57f4c6a9eacd107c8d446 +mode = 640 + +[template-zope-conf] +recipe = slapos.recipe.build:download +url = ${:_profile_base_location_}/zope.conf.in +md5sum = 599e004c18fd3461aa846ae75bd112f2 +mode = 640 + +[template] +< = template-jinja2-base +# XXX: "template.cfg" is hardcoded in instanciation recipe +filename = template.cfg +template = ${:_profile_base_location_}/instance.cfg.in +md5sum = 9704211fdbed6b23854dcc2222d387c4 +extra-context = + key apache_location apache:location + key aspell_location aspell:location + key buildout_bin_directory buildout:bin-directory + key coreutils_location coreutils:location + key curl_location curl:location + key dash_location dash:location + key dcron_location dcron:location + key dmtx_utils_location dmtx-utils:location + key erp5_location erp5:location + key file_location file:location + key fontconfig_location fontconfig:location + key fonts_location fonts:location + key freetype_location freetype:location + key git_location git:location + key graphviz_location graphviz:location + key grep_location grep:location + key gzip_location gzip:location + key haproxy_location haproxy:location + key imagemagick_location imagemagick:location + key libICE_location libICE:location + key libSM_location libSM:location + key libX11_location libX11:location + key libXau_location libXau:location + key libXdmcp_location libXdmcp:location + key libXext_location libXext:location + key libXrender_location libXrender:location + key libpng12_location libpng12:location + key libreoffice_bin_location libreoffice-bin:location + key librsvg_location librsvg:location + key libxcb_location libxcb:location + key local_bt5_repository local-bt5-repository:list + key logrotate_location logrotate:location + key mariadb_location mariadb:location + key openssl_location openssl:location + key pdftk_location pdftk:location + key poppler_location poppler:location + key sed_location sed:location + key template_cloudooo template-cloudooo:target + key template_erp5_development template-erp5-development:target + key template_erp5_production template-erp5-production:rendered + key template_kumofs template-kumofs:rendered + key template_mariadb template-mariadb:rendered + key template_memcached template-memcached:rendered + key template_sphinx template-sphinx:rendered + key template_tidstorage template-tidstorage:target + key template_varnish template-varnish:target + key template_zope template-zope:target + key template_zope_conf template-zope-conf:target + key tesseract_location tesseract:location + key varnish_location varnish-3.0:location + key w3m_location w3m:location + key wget_location wget:location + key zlib_location zlib:location + +[template-memcached] +< = template-jinja2-base +filename = instance-memcached.cfg +md5sum = 44c507e9eec1003beb99f9063b5e09be +extra-context = + key dash_location dash:location + key memcached_location memcached:location + +[template-erp5-development] +recipe = slapos.recipe.build:download +url = ${:_profile_base_location_}/instance-erp5-development.cfg.in +md5sum = 2a4312202a3160f874c4fa3ee9155a1d +mode = 640 + +[template-erp5-production] +< = template-jinja2-base +filename = instance-erp5-production.cfg +md5sum = 3051f3fea39d7409c417dcac26027b56 +extra-context = + key local_bt5_repository local-bt5-repository:list + +[template-varnish] +recipe = slapos.recipe.build:download +url = ${:_profile_base_location_}/instance-varnish.cfg.in +md5sum = 17aee2df57b121343b1fd65f4b51ce80 +mode = 640 + [bt5-repository] # Format: # <url or path> [...] @@ -382,15 +561,12 @@ scripts = zodbpack [versions] -# Use SlapOS patched zc.buildout -zc.buildout = 1.6.0-dev-SlapOS-006 - # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs Acquisition = 2.13.7nxd001 Products.DCWorkflow = 2.2.3nxd002 # Known version with works -numpy = 1.3.0 +numpy = 1.6.2 # Patched version which support python 2.6 PyXML = 0.8.4nxd001 # modified version that works fine for buildout installation @@ -457,9 +633,6 @@ fpconst = 0.7.2 gitdb = 0.5.4 greenlet = 0.3.4 hexagonit.recipe.cmmi = 1.5.0 -# Use patched hexagonit.recipe.download from -# https://github.com/SlapOS/hexagonit.recipe.download -hexagonit.recipe.download = 1.5.1-dev-slapos-001 http-parser = 0.7.5 huBarcode = 0.63 inotifyx = 0.2.0 diff --git a/software/erp5/instance-cloudoo.cfg.in b/stack/erp5/instance-cloudoo.cfg.in similarity index 75% rename from software/erp5/instance-cloudoo.cfg.in rename to stack/erp5/instance-cloudoo.cfg.in index a12f1af43629d3fddc59a8055e04b9849c9a963f..692c2e06f9d1fb60312489aa677ebec4fd0ebb8c 100644 --- a/software/erp5/instance-cloudoo.cfg.in +++ b/stack/erp5/instance-cloudoo.cfg.in @@ -5,6 +5,8 @@ parts = publish-cloudooo-connection-information cloudooo-instance + promise + promise-openoffice eggs-directory = {{ eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }} offline = true @@ -22,8 +24,8 @@ port = 23000 openoffice-port = 23060 # Paths -configuration-file = ${rootdirectory:etc}/cloudooo.cfg -wrapper = ${basedirectory:services}/cloudooo +configuration-file = ${directory:etc}/cloudooo.cfg +wrapper = ${directory:service}/cloudooo # Paths: Data data-directory = ${directory:cloudooo-data} @@ -40,25 +42,32 @@ ooo-uno-path = {{ parameter_dict['libreoffice-bin'] }}/basis-link/program [fontconfig-instance] recipe = slapos.cookbook:fontconfig -conf-path = ${rootdirectory:etc}/font.conf +conf-path = ${directory:etc}/font.conf font-system-folder = {{ parameter_dict['fonts'] }} font-folder = ${directory:font} url-list = {{ json.get('font_url_list', []) | join(' ') }} -service-folder = ${basedirectory:services} +service-folder = ${directory:service} onetimedownload_path = {{ bin_directory }}/onetimedownload -# rest of parts are candidates for some generic stuff -[basedirectory] -recipe = slapos.cookbook:mkdirectory -services = ${rootdirectory:etc}/run +[promise] +recipe = slapos.cookbook:check_port_listening +path = ${directory:promise}/cloudooo +hostname = ${cloudooo-instance:ip} +port = ${cloudooo-instance:port} -[directory] -recipe = slapos.cookbook:mkdirectory -cloudooo-data = ${rootdirectory:srv}/cloudooo -font = ${rootdirectory:srv}/font +[promise-openoffice] +recipe = slapos.cookbook:check_port_listening +path = ${directory:promise}/openoffice +hostname = ${cloudooo-instance:ip} +port = ${cloudooo-instance:openoffice-port} -[rootdirectory] +# rest of parts are candidates for some generic stuff +[directory] recipe = slapos.cookbook:mkdirectory etc = ${buildout:directory}/etc srv = ${buildout:directory}/srv +service = ${:etc}/run +promise = ${:etc}/promise +cloudooo-data = ${:srv}/cloudooo +font = ${:srv}/font {% endif %} diff --git a/software/erp5/instance-erp5-development.cfg.in b/stack/erp5/instance-erp5-development.cfg.in similarity index 71% rename from software/erp5/instance-erp5-development.cfg.in rename to stack/erp5/instance-erp5-development.cfg.in index 5554d4a8d138710531c3e2c150370bbc775fa19b..15aa6ebd9541cda1f0e998b690a2dbe012b9a621 100644 --- a/software/erp5/instance-erp5-development.cfg.in +++ b/stack/erp5/instance-erp5-development.cfg.in @@ -12,8 +12,10 @@ parts += request-memcached request-kumofs basedirectory - erp5-update test-runner + erp5-bootstrap + erp5-promise + promise-erp5-site eggs-directory = {{ eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }} @@ -23,6 +25,14 @@ offline = true # default site id site-id = erp5 cloudooo-json = +promise-path = ${rootdirectory:etc}/erp5promise.cfg +bt5 = erp5_full_text_myisam_catalog + erp5_configurator_standard + erp5_configurator_maxma_demo + erp5_configurator_ung + erp5_configurator_run_my_doc +bt5-repository-url = {{ local_bt5_repository }} +smtp-url = smtp://localhost:25/ [test-runner] recipe = slapos.cookbook:erp5.test @@ -60,25 +70,21 @@ certs = ${directory:test-ca-dir}/certs newcerts = ${directory:test-ca-dir}/newcerts crl = ${directory:test-ca-dir}/crl -[erp5-update] -recipe = slapos.cookbook:erp5.update +[erp5-bootstrap] +recipe = slapos.cookbook:erp5.bootstrap +runner-path = ${basedirectory:services}/erp5-bootstrap +mysql-url = ${request-mariadb:connection-url} +zope-url = http://${zope-instance:user}:${zope-instance:password}@${zope-instance:ip}:${zope-instance:port}/${slap-parameter:site-id} -# Configuration -url = http://${zope-instance:user}:${zope-instance:password}@${zope-instance:ip}:${zope-instance:port}/ -mysql-url = ${request-mariadb:connection-url} +[erp5-promise] +recipe = slapos.cookbook:erp5.promise +promise-path = ${slap-parameter:promise-path} kumofs-url = ${request-kumofs:connection-url} memcached-url = ${request-memcached:connection-url} cloudooo-url = ${request-cloudooo:connection-url} -site-id = ${slap-parameter:site-id} -openssl-binary = {{ openssl_location }}/bin/openssl -cadir-path = ${erp5-certificate-authority:ca-dir} - -# Paths -update-wrapper = ${basedirectory:services}/erp5-update - -# Defaults -configurator-bt5-list = erp5_full_text_myisam_catalog erp5_configurator_standard erp5_configurator_maxma_demo erp5_configurator_ung erp5_configurator_ung erp5_configurator_run_my_doc -bt5-repository-list = ${zope-instance:bt5-repository-list} +smtp-url = ${slap-parameter:smtp-url} +bt5 = ${slap-parameter:bt5} +bt5-repository-url = ${slap-parameter:bt5-repository-url} [request-common] recipe = slapos.cookbook:request @@ -114,7 +120,18 @@ software-type = memcached name = KumoFS software-type = kumofs +[zope-instance] +promise-path = ${slap-parameter:promise-path} +site-id = ${slap-parameter:site-id} + [directory] test-ca-dir = ${rootdirectory:srv}/test-ca test-instance-path = ${rootdirectory:srv}/test-instance unit-test-path = ${:test-instance-path}/unit_test + +[promise-erp5-site] +recipe = slapos.cookbook:check_url_available +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 diff --git a/software/erp5/instance-erp5-production.cfg.in b/stack/erp5/instance-erp5-production.cfg.in similarity index 100% rename from software/erp5/instance-erp5-production.cfg.in rename to stack/erp5/instance-erp5-production.cfg.in diff --git a/software/erp5/instance-kumofs.cfg.in b/stack/erp5/instance-kumofs.cfg.in similarity index 82% rename from software/erp5/instance-kumofs.cfg.in rename to stack/erp5/instance-kumofs.cfg.in index aeae682c2304d981ca5ca225b569fc75525a1dbe..ba3c3b7424c3e2374a6bc7d236a51def13deecd1 100644 --- a/software/erp5/instance-kumofs.cfg.in +++ b/stack/erp5/instance-kumofs.cfg.in @@ -6,6 +6,10 @@ parts = logrotate-entry-kumofs cron cron-entry-logrotate + promise-kumofs-server + promise-kumofs-server-listen + promise-kumofs-gateway + promise-kumofs-manager eggs-directory = {{ eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }} @@ -70,6 +74,7 @@ state-file = ${rootdirectory:srv}/logrotate.status recipe = slapos.cookbook:mkdirectory log = ${rootdirectory:var}/log services = ${rootdirectory:etc}/run +promise = ${rootdirectory:etc}/promise run = ${rootdirectory:var}/run backup = ${rootdirectory:srv}/backup @@ -109,3 +114,26 @@ recipe = slapos.cookbook:cron.d name = logrotate frequency = 0 0 * * * command = ${logrotate:wrapper} + +# Deploy zope promises scripts +[promise-template] +recipe = slapos.cookbook:check_port_listening +path = ${basedirectory:promise}/kumofs +hostname = ${kumofs-instance:ip} +port = ${kumofs-instance:server-listen-port} + +[promise-kumofs-server] +<= promise-template +port = ${kumofs-instance:server-port} + +[promise-kumofs-server-listen] +<= promise-template +port = ${kumofs-instance:server-listen-port} + +[promise-kumofs-gateway] +<= promise-template +port = ${kumofs-instance:gateway-port} + +[promise-kumofs-manager] +<= promise-template +port = ${kumofs-instance:manager-port} diff --git a/software/erp5/instance-mariadb.cfg.in b/stack/erp5/instance-mariadb.cfg.in similarity index 96% rename from software/erp5/instance-mariadb.cfg.in rename to stack/erp5/instance-mariadb.cfg.in index 7079afa047451aef8e2fe6c3e104673682dcddf9..b4ee5e92a67948305ef9d1c5691c2af1a635b1f8 100644 --- a/software/erp5/instance-mariadb.cfg.in +++ b/stack/erp5/instance-mariadb.cfg.in @@ -8,6 +8,7 @@ parts = cron-entry-logrotate cron-entry-mariadb-backup binary-link + promise eggs-directory = {{ eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }} @@ -156,6 +157,7 @@ bin = ${buildout:directory}/bin recipe = slapos.cookbook:mkdirectory log = ${rootdirectory:var}/log services = ${rootdirectory:etc}/run +promise = ${rootdirectory:etc}/promise run = ${rootdirectory:var}/run backup = ${rootdirectory:srv}/backup @@ -171,3 +173,8 @@ mariadb-data = ${rootdirectory:srv}/mariadb logrotate-backup = ${basedirectory:backup}/logrotate logrotate-entries = ${rootdirectory:etc}/logrotate.d +[promise] +recipe = slapos.cookbook:check_port_listening +path = ${basedirectory:promise}/mariadb +hostname = ${mariadb-instance:ip} +port = ${mariadb-instance:port} diff --git a/software/erp5/instance-memcached.cfg.in b/stack/erp5/instance-memcached.cfg.in similarity index 71% rename from software/erp5/instance-memcached.cfg.in rename to stack/erp5/instance-memcached.cfg.in index 743d2c0c43652c23b7e98dfb207fa1763bc73aaf..93bcb80208a89a329ec080c9fa686d0a48de5022 100644 --- a/software/erp5/instance-memcached.cfg.in +++ b/stack/erp5/instance-memcached.cfg.in @@ -9,23 +9,22 @@ parts = memcached-instance publish-memcached-connection-information + promise eggs-directory = {{ eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }} offline = true -[rootdirectory] +[directory] recipe = slapos.cookbook:mkdirectory etc = ${buildout:directory}/etc bin = ${buildout:directory}/bin - -[basedirectory] -recipe = slapos.cookbook:mkdirectory -services = ${rootdirectory:etc}/run +service = ${:etc}/run +promise = ${:etc}/promise [memcached-instance] recipe = slapos.cookbook:generic.memcached -wrapper_path = ${basedirectory:services}/memcached +wrapper_path = ${directory:service}/memcached binary_path = {{ memcached_location }}/bin/memcached shell-path = {{ dash_location }}/bin/dash ip = ${slap-network-information:local-ipv4} @@ -34,3 +33,10 @@ port = 11000 [publish-memcached-connection-information] recipe = slapos.cookbook:publishurl url = memcached://${memcached-instance:ip}:${memcached-instance:port}/ + +# Deploy zope promises scripts +[promise] +recipe = slapos.cookbook:check_port_listening +path = ${directory:promise}/memcache +hostname = ${memcached-instance:ip} +port = ${memcached-instance:port} diff --git a/software/erp5/instance-sphinx.cfg.in b/stack/erp5/instance-sphinx.cfg.in similarity index 100% rename from software/erp5/instance-sphinx.cfg.in rename to stack/erp5/instance-sphinx.cfg.in diff --git a/software/erp5/instance-tidstorage.cfg.in b/stack/erp5/instance-tidstorage.cfg.in similarity index 100% rename from software/erp5/instance-tidstorage.cfg.in rename to stack/erp5/instance-tidstorage.cfg.in diff --git a/software/erp5/instance-varnish.cfg.in b/stack/erp5/instance-varnish.cfg.in similarity index 100% rename from software/erp5/instance-varnish.cfg.in rename to stack/erp5/instance-varnish.cfg.in diff --git a/software/erp5/instance-zope.cfg.in b/stack/erp5/instance-zope.cfg.in similarity index 95% rename from software/erp5/instance-zope.cfg.in rename to stack/erp5/instance-zope.cfg.in index a2849db10386070c7673cff3d2f1e4510e8325d2..c14f213748d87ba3ec7fc25ee50d3d4c992087fc 100644 --- a/software/erp5/instance-zope.cfg.in +++ b/stack/erp5/instance-zope.cfg.in @@ -12,6 +12,8 @@ parts = cron-entry-logrotate binary-link bt5-erp5-link + promise-zope + promise-apache-zope-backend eggs-directory = {{ eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }} @@ -243,6 +245,7 @@ tmp = ${buildout:directory}/tmp recipe = slapos.cookbook:mkdirectory log = ${rootdirectory:var}/log services = ${rootdirectory:etc}/run +promises = ${rootdirectory:etc}/promise/ run = ${rootdirectory:var}/run backup = ${rootdirectory:srv}/backup bt5-erp5 = ${rootdirectory:var}/bt5_erp5 @@ -289,3 +292,17 @@ crontabs = ${rootdirectory:etc}/crontabs cronstamps = ${rootdirectory:etc}/cronstamps logrotate-backup = ${basedirectory:backup}/logrotate logrotate-entries = ${rootdirectory:etc}/logrotate.d + +# Deploy zope promises scripts +[promise-zope] +recipe = slapos.cookbook:check_port_listening +path = ${basedirectory:promises}/zope +hostname = ${zope-instance:ip} +port = ${zope-instance:port} + +[promise-apache-zope-backend] +recipe = slapos.cookbook:check_port_listening +path = ${basedirectory:promises}/apache-backend +hostname = ${apache-zope-backend-instance:ip} +port = ${apache-zope-backend-instance:port} + diff --git a/software/erp5/instance.cfg.in b/stack/erp5/instance.cfg.in similarity index 96% rename from software/erp5/instance.cfg.in rename to stack/erp5/instance.cfg.in index d5a8c645a60fe7fbf3bf1312eae407324ee29790..14f8cba13f72af40c935aec5342eff3ec9b0ea8c 100644 --- a/software/erp5/instance.cfg.in +++ b/stack/erp5/instance.cfg.in @@ -127,6 +127,9 @@ extra-context = [template-erp5-development-parameters] bin-directory = {{ bin_directory }} openssl = {{ openssl_location }} +local_bt5_repository = {{ local_bt5_repository }} +dash = {{ dash_location }} +curl = {{ curl_location }} [template-erp5-development] < = jinja2-template-base @@ -138,7 +141,10 @@ filename = instance-erp5-development.cfg extra-context = key bin_directory template-erp5-development-parameters:bin-directory key openssl_location template-erp5-development-parameters:openssl + key curl_location template-erp5-development-parameters:curl + key dash_location template-erp5-development-parameters:dash key template_zope dynamic-template-zope:rendered + key local_bt5_repository template-erp5-development-parameters:local_bt5_repository [dynamic-template-erp5-production-parameters] local-bt5-repository = {{ local_bt5_repository }} diff --git a/software/erp5/zope.conf.in b/stack/erp5/zope.conf.in similarity index 100% rename from software/erp5/zope.conf.in rename to stack/erp5/zope.conf.in diff --git a/stack/lamp/buildout.cfg b/stack/lamp/buildout.cfg index 4fb56ecf62dd4711b138074e601effb0106e6753..39df34e28f624b2f95ece9fdf8534993dc63b124 100644 --- a/stack/lamp/buildout.cfg +++ b/stack/lamp/buildout.cfg @@ -66,7 +66,7 @@ mode = 0644 recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance-apache-php.cfg output = ${buildout:directory}/template-apache-php.cfg -md5sum = b5fe314c3437151bb048ada9b37f9318 +md5sum = ae9c0f8c70a62f13eb948424c99d71e2 mode = 0644 [template-apache-backup] diff --git a/stack/shacache-client.cfg b/stack/shacache-client.cfg index a73c01c386110949325827e5bfb43b815f0d3d3e..fa5ed74249e6e6a48d73086f799557557f6f7a0c 100644 --- a/stack/shacache-client.cfg +++ b/stack/shacache-client.cfg @@ -1,3 +1,4 @@ +# This file is deprecated. Please use stack/slapos.cfg instead. [buildout] networkcache-section = networkcache diff --git a/stack/slapos.cfg b/stack/slapos.cfg index fe0971a48442f625ad6193cb91953c07faf948cf..9bb12a6d0aed71907f846b85a710faa3f6649fee 100644 --- a/stack/slapos.cfg +++ b/stack/slapos.cfg @@ -2,18 +2,13 @@ # Software Releases or Stacks can safely extend this stack. [buildout] -# It is good idea for developers to add explicitely this part in their profile -parts += slapos-cookbook +# Developers need to add explicitely this part in their software profile +parts = slapos-cookbook # Generate list of automatically chosen eggs version extensions += buildout-versions -# Use shacache and lxml -extends = - shacache-client.cfg - ../component/lxml-python/buildout.cfg - # Separate from site eggs allowed-eggs-from-site-packages = include-site-packages = false @@ -30,6 +25,7 @@ allow-hosts += *.python.org *.sourceforge.net alastairs-place.net + bitbucket.org dist.repoze.org effbot.org github.com @@ -45,18 +41,128 @@ allow-hosts += # development / fast switching environment for whole software unzip = true +# Define where is defined what version of eggs we should use versions = versions +# Define networkcache with shacache.org +networkcache-section = networkcache + # Install slapos.cookbook containing all officials recipes [slapos-cookbook] recipe = zc.recipe.egg eggs = - ${lxml-python:egg} slapos.cookbook [versions] # Use patched hexagonit.recipe.download from # https://github.com/SlapOS/hexagonit.recipe.download -hexagonit.recipe.download = 1.5.1-dev-slapos-001 +hexagonit.recipe.download = 1.5.1-dev-slapos-002 # Use SlapOS patched zc.buildout zc.buildout = 1.6.0-dev-SlapOS-006 + +[networkcache] +download-cache-url = http://www.shacache.org/shacache +download-dir-url = http://www.shacache.org/shadir +# signature certificates of the following uploaders. +# Romain Courteaud +# Sebastien Robin +# Kazuhiko Shiozaki +# Cedric de Saint Martin +# Yingjie Xu +# Gabriel Monnerat +# Rafael Monnerat +signature-certificate-list = + -----BEGIN CERTIFICATE----- + MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE + CBMQRGVmYXVsdCBQcm92aW5jZTEPMA0GA1UEChMGTmV4ZWRpMB4XDTExMDkxNTA5 + MDAwMloXDTEyMDkxNTA5MDAwMlowOTELMAkGA1UEBhMCRlIxGTAXBgNVBAgTEERl + ZmF1bHQgUHJvdmluY2UxDzANBgNVBAoTBk5leGVkaTCBnzANBgkqhkiG9w0BAQEF + AAOBjQAwgYkCgYEApYZv6OstoqNzxG1KI6iE5U4Ts2Xx9lgLeUGAMyfJLyMmRLhw + boKOyJ9Xke4dncoBAyNPokUR6iWOcnPHtMvNOsBFZ2f7VA28em3+E1JRYdeNUEtX + Z0s3HjcouaNAnPfjFTXHYj4um1wOw2cURSPuU5dpzKBbV+/QCb5DLheynisCAwEA + ATANBgkqhkiG9w0BAQsFAAOBgQBCZLbTVdrw3RZlVVMFezSHrhBYKAukTwZrNmJX + mHqi2tN8tNo6FX+wmxUUAf3e8R2Ymbdbn2bfbPpcKQ2fG7PuKGvhwMG3BlF9paEC + q7jdfWO18Zp/BG7tagz0jmmC4y/8akzHsVlruo2+2du2freE8dK746uoMlXlP93g + QUUGLQ== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB8jCCAVugAwIBAgIJAPu2zchZ2BxoMA0GCSqGSIb3DQEBBQUAMBIxEDAOBgNV + BAMMB3RzeGRldjMwHhcNMTExMDE0MTIxNjIzWhcNMTIxMDEzMTIxNjIzWjASMRAw + DgYDVQQDDAd0c3hkZXYzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrPbh+ + YGmo6mWmhVb1vTqX0BbeU0jCTB8TK3i6ep3tzSw2rkUGSx3niXn9LNTFNcIn3MZN + XHqbb4AS2Zxyk/2tr3939qqOrS4YRCtXBwTCuFY6r+a7pZsjiTNddPsEhuj4lEnR + L8Ax5mmzoi9nE+hiPSwqjRwWRU1+182rzXmN4QIDAQABo1AwTjAdBgNVHQ4EFgQU + /4XXREzqBbBNJvX5gU8tLWxZaeQwHwYDVR0jBBgwFoAU/4XXREzqBbBNJvX5gU8t + LWxZaeQwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQA07q/rKoE7fAda + FED57/SR00OvY9wLlFEF2QJ5OLu+O33YUXDDbGpfUSF9R8l0g9dix1JbWK9nQ6Yd + R/KCo6D0sw0ZgeQv1aUXbl/xJ9k4jlTxmWbPeiiPZEqU1W9wN5lkGuLxV4CEGTKU + hJA/yXa1wbwIPGvX3tVKdOEWPRXZLg== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB7jCCAVegAwIBAgIJAJWA0jQ4o9DGMA0GCSqGSIb3DQEBBQUAMA8xDTALBgNV + BAMMBHg2MXMwIBcNMTExMTI0MTAyNDQzWhgPMjExMTEwMzExMDI0NDNaMA8xDTAL + BgNVBAMMBHg2MXMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANdJNiFsRlkH + vq2kHP2zdxEyzPAWZH3CQ3Myb3F8hERXTIFSUqntPXDKXDb7Y/laqjMXdj+vptKk + 3Q36J+8VnJbSwjGwmEG6tym9qMSGIPPNw1JXY1R29eF3o4aj21o7DHAkhuNc5Tso + 67fUSKgvyVnyH4G6ShQUAtghPaAwS0KvAgMBAAGjUDBOMB0GA1UdDgQWBBSjxFUE + RfnTvABRLAa34Ytkhz5vPzAfBgNVHSMEGDAWgBSjxFUERfnTvABRLAa34Ytkhz5v + PzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAFLDS7zNhlrQYSQO5KIj + z2RJe3fj4rLPklo3TmP5KLvendG+LErE2cbKPqnhQ2oVoj6u9tWVwo/g03PMrrnL + KrDm39slYD/1KoE5kB4l/p6KVOdeJ4I6xcgu9rnkqqHzDwI4v7e8/D3WZbpiFUsY + vaZhjNYKWQf79l6zXfOvphzJ + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB9jCCAV+gAwIBAgIJAO4V/jiMoICoMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV + BAMMCENPTVAtMjMyMCAXDTEyMDIxNjExMTAyM1oYDzIxMTIwMTIzMTExMDIzWjAT + MREwDwYDVQQDDAhDT01QLTIzMjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + wi/3Z8W9pUiegUXIk/AiFDQ0UJ4JFAwjqr+HSRUirlUsHHT+8DzH/hfcTDX1I5BB + D1ADk+ydXjMm3OZrQcXjn29OUfM5C+g+oqeMnYQImN0DDQIOcUyr7AJc4xhvuXQ1 + P2pJ5NOd3tbd0kexETa1LVhR6EgBC25LyRBRae76qosCAwEAAaNQME4wHQYDVR0O + BBYEFMDmW9aFy1sKTfCpcRkYnP6zUd1cMB8GA1UdIwQYMBaAFMDmW9aFy1sKTfCp + cRkYnP6zUd1cMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAskbFizHr + b6d3iIyN+wffxz/V9epbKIZVEGJd/6LrTdLiUfJPec7FaxVCWNyKBlCpINBM7cEV + Gn9t8mdVQflNqOlAMkOlUv1ZugCt9rXYQOV7rrEYJBWirn43BOMn9Flp2nibblby + If1a2ZoqHRxoNo2yTmm7TSYRORWVS+vvfjY= + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB9jCCAV+gAwIBAgIJAIlBksrZVkK8MA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV + BAMMCENPTVAtMzU3MCAXDTEyMDEyNjEwNTUyOFoYDzIxMTIwMTAyMTA1NTI4WjAT + MREwDwYDVQQDDAhDT01QLTM1NzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + ts+iGUwi44vtIfwXR8DCnLtHV4ydl0YTK2joJflj0/Ws7mz5BYkxIU4fea/6+VF3 + i11nwBgYgxQyjNztgc9u9O71k1W5tU95yO7U7bFdYd5uxYA9/22fjObaTQoC4Nc9 + mTu6r/VHyJ1yRsunBZXvnk/XaKp7gGE9vNEyJvPn2bkCAwEAAaNQME4wHQYDVR0O + BBYEFKuGIYu8+6aEkTVg62BRYaD11PILMB8GA1UdIwQYMBaAFKuGIYu8+6aEkTVg + 62BRYaD11PILMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMoTRpBxK + YLEZJbofF7gSrRIcrlUJYXfTfw1QUBOKkGFFDsiJpEg4y5pUk1s5Jq9K3SDzNq/W + it1oYjOhuGg3al8OOeKFrU6nvNTF1BAvJCl0tr3POai5yXyN5jlK/zPfypmQYxE+ + TaqQSGBJPVXYt6lrq/PRD9ciZgKLOwEqK8w= + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB9jCCAV+gAwIBAgIJAPHoWu90gbsgMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV + BAMMCXZpZmlibm9kZTAeFw0xMjAzMTkyMzIwNTVaFw0xMzAzMTkyMzIwNTVaMBQx + EjAQBgNVBAMMCXZpZmlibm9kZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + ozBijpO8PS5RTeKTzA90vi9ezvv4vVjNaguqT4UwP9+O1+i6yq1Y2W5zZxw/Klbn + oudyNzie3/wqs9VfPmcyU9ajFzBv/Tobm3obmOqBN0GSYs5fyGw+O9G3//6ZEhf0 + NinwdKmrRX+d0P5bHewadZWIvlmOupcnVJmkks852BECAwEAAaNQME4wHQYDVR0O + BBYEFF9EtgfZZs8L2ZxBJxSiY6eTsTEwMB8GA1UdIwQYMBaAFF9EtgfZZs8L2ZxB + JxSiY6eTsTEwMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAc43YTfc6 + baSemaMAc/jz8LNLhRE5dLfLOcRSoHda8y0lOrfe4lHT6yP5l8uyWAzLW+g6s3DA + Yme/bhX0g51BmI6gjKJo5DoPtiXk/Y9lxwD3p7PWi+RhN+AZQ5rpo8UfwnnN059n + yDuimQfvJjBFMVrdn9iP6SfMjxKaGk6gVmI= + -----END CERTIFICATE----- + -----BEGIN PRIVATE KEY----- + MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMc2zhpXKIp9qvjL + aedq9ujY5Ys9mqMSF25zgVMg3PzhrZPZ1gObgbU3Ns8Ede7puildGxsr7gQO/F3L + 1PgCFf+bNKIQQF+8o0SphIQGHBb6L9xMlknYzq6qqOKhUszqyrFUAZcSA6Y0AR+B + d5X+nQb+vzPrQk94kr92jmW7BtBPAgMBAAECgYBFzdpiOHAoNuiVzREK2dwysu2b + 4LYytcAoH6kNK9LDeYCM8iOfl/nXOcWmvHVmhdeJbup0luwL2ARuCWJSlMiH7N9X + 7XX1yxRWIUbko8M2MxbSp4cexvVI1A8zNvtwkBldO736FU+//G+GYQ/FKul+1640 + DyRbaRnnfgDhvAAcAQJBAPznTEUX3LcjiB6443kQoPJlx992hH3fV+zDEDV9KwWS + u6LKEGFO6Lp8exZzCtCrwpjwFOYtCOHqNkRiGfL4ys8CQQDJpzkF6KpAHPPoKJ+s + kpibmVJh3gRt105uysNTMLzsSYOR94/AEdUx/676zS5D8OQRHjq9pJCBSMqRdgI9 + fQKBAkAD2enZa4Ga8FmUTjB4mX458r7WclGWMR5/poDKr7tF/HQLCJSzRqZYoKin + MN1LTDJMbeuDjdAC0LQ+2leW0Z8VAkABJDwzZ1zHXiKXVtuIi4/nmZeYzDv0LzrX + b7hpWSZIpCXlhqQ+rxso3EyuSMkRQ2TXH/evKSZURQg4iJV8qZ+BAkEA48lej9PT + cw2o9zohoD3iMeVcM3O0tOnP+gCH//++0yKG5V2m08CFtqR6oQeA9HtQjJ7znrW2 + wmro1zayUIH/+Q== + -----END PRIVATE KEY-----