[buildout] extends = ../../component/6tunnel/buildout.cfg ../../component/curl/buildout.cfg ../../component/dash/buildout.cfg ../../component/qemu-kvm/buildout.cfg ../../component/noVNC/buildout.cfg ../../component/openssl/buildout.cfg ../../component/netcat/buildout.cfg ../../component/pycurl/buildout.cfg ../../stack/slapos.cfg ../../component/nodejs/buildout.cfg ../../stack/resilient/buildout.cfg # stacks are listed from most generic to most specific, # to avoid versioning issues common-parts = template eggs # XXX: we have to manually add this for resilience rdiff-backup pbs-recipe-egg parts = ${:common-parts} #XXX-Cedric : Currently, one can only access to KVM using noVNC. # Ideally one should be able to access KVM by using either NoVNC or VNC. # Problem is : no native crypto support in web browsers. So we have to disable ssl # In qemu builtin vnc server, and make it available only for localhost # so that only novnc can listen to it. #XXX-Cedric: Check status of https://github.com/kanaka/noVNC/issues/13 to see # When qemu has builtin support for websockets in vnc server to get rid of # Websockify (socket <-> websocket proxy server) when it is ready. # May solve previous XXX depending on the implementation. #XXX-Cedric : add list of keyboard layouts (azerty/us querty/...) parameter to qemu [eggs] recipe = zc.recipe.egg interpreter = python.eggs eggs = ${python-cffi:egg} ${python-cryptography:egg} ${lxml-python:egg} websockify slapos.cookbook slapos.toolbox erp5.util cns.recipe.symlink collective.recipe.template plone.recipe.command ${pycurl:egg} [http-proxy] # https://github.com/nodejitsu/node-http-proxy recipe = slapos.recipe.build:download-unpacked #XXX-Cedric : use upstream when merged url = https://nodeload.github.com/desaintmartin/node-http-proxy/zipball/20120621 md5sum = 20204d0b29c2cef26e1c91e99eedca6b [proxy-by-url] # https://github.com/dominictarr/proxy-by-url recipe = slapos.recipe.build:download-unpacked #XXX-Cedric : use upstream when merged url = https://nodeload.github.com/desaintmartin/proxy-by-url/zipball/20120621 md5sum = c2609948aa708581f93b981b23880314 [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 # Create all templates that will be used to deploy instances [template] recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance.cfg.in md5sum = 5a17fc127190bbc19361c5ffb10711b3 output = ${buildout:directory}/template.cfg mode = 0644 [template-kvm] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2 mode = 644 md5sum = dbf43756c605144f0a3cd829b588d931 download-only = true on-update = true [template-kvm-cluster] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in mode = 644 md5sum = cccabafc001c6df35da95af6bf2ae28e download-only = true on-update = true [template-kvm-resilient] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2 mode = 644 md5sum = a5fd0cbe6be757d57c8b6903bb7a1d8b download-only = true on-update = true [template-kvm-import] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/instance-kvm-import.cfg.jinja2.in md5sum = dc3f3ad9ebd8b3b5c3ded57b91cee9c7 mode = 0644 download-only = true on-update = true [template-kvm-import-script] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/template/kvm-import.sh.jinja2 filename = kvm-import.sh.jinja2 md5sum = cd0008f1689dfca9b77370bc4d275b70 download-only = true mode = 0755 [template-kvm-export] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/instance-kvm-export.cfg.jinja2 mode = 644 md5sum = fbad91193be6ebde5fc4c05a38a55e7b download-only = true on-update = true [template-kvm-export-script] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/template/kvm-export.sh.jinja2 filename = kvm-export.sh.jinja2 md5sum = b617d64de73de1eed518185f310bbc82 download-only = true mode = 0755 [template-nbd] recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance-nbd.cfg.in md5sum = f634a5249b773658b7a7bc9fa9bb0368 output = ${buildout:directory}/template-nbd.cfg mode = 0644 [template-frontend] recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance-frontend.cfg.in md5sum = cdb690495e9eb007d2b7d2f8e12f5c59 output = ${buildout:directory}/template-frontend.cfg mode = 0644 [template-ansible-promise] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/template/ansible-promise.in md5sum = 2036bf145f472f62ef8dee5e729328fd mode = 0644 download-only = true filename = ansible-promise.in [template-kvm-run] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/template/template-kvm-run.in mode = 644 filename = template-kvm-run.in md5sum = 887585f23359d136093de42b1ad1d777 download-only = true on-update = true [template-kvm-controller] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/template/kvm-controller-run.in mode = 644 filename = kvm-controller-run.in md5sum = c86cd67bbdd26b7b14b7449a1bbd959b download-only = true on-update = true [template-apache-conf] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/template/apache.conf.in mode = 644 filename = apache.conf.in md5sum = ac97f6a52e1c5a19a646242ef85abb8a download-only = true on-update = true [template-content] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/template/template-content.in mode = 644 filename = template-content.in md5sum = 822737e483864bf255ad1259237bef2a download-only = true on-update = true [template-qemu-ready] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/template/qemu-is-ready.in mode = 644 filename = qemu-is-ready.in md5sum = b304eec8e2cb71f10ea83cac22f6db12 download-only = true on-update = true [file-download-script] recipe = hexagonit.recipe.download ignore-existing = true url = ${:_profile_base_location_}/template/download_file.in mode = 644 filename = download_file md5sum = 599dbbbd438fe7801e3f8642ae9e9a78 download-only = true on-update = true [template-httpd] recipe = slapos.recipe.template:jinja2 filename = template-httpd.cfg template = ${:_profile_base_location_}/instance-kvm-http.cfg.in rendered = ${buildout:parts-directory}/${:_buildout_section_name_}/instance-kvm-http.cfg md5sum = 26a181a48046ce88570adb32334747ef context = key apache_location apache:location raw openssl_executable_location ${openssl:location}/bin/openssl raw template_apache_conf ${template-apache-conf:location}/${template-apache-conf:filename} [versions] # XXX - use websockify = 0.5.1 for compatibility with kvm frontend websockify = 0.5.1 slapos.toolbox = 0.80 erp5.util = 0.4.51 apache-libcloud = 1.1.0 collective.recipe.environment = 0.2.0 gitdb = 0.6.4 pycurl = 7.43.0 slapos.recipe.template = 4.3 smmap = 0.9.0 # websockify = 0.8.0 # Required by: # slapos.toolbox==0.71 GitPython = 2.0.8 # Required by: # slapos.toolbox==0.71 atomize = 0.2.0 # Required by: # slapos.toolbox==0.71 dnspython = 1.14.0 # Required by: # slapos.toolbox==0.71 feedparser = 5.2.1 # Required by: # slapos.toolbox==0.71 lockfile = 0.12.2 # Required by: # websockify==0.8.0 numpy = 1.11.2rc1 # Required by: # slapos.toolbox==0.71 paramiko = 2.0.2 # Required by: # slapos.toolbox==0.71 passlib = 1.6.5