[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 buildout.hash.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 [download-base] recipe = hexagonit.recipe.download url = ${:_profile_base_location_}/${:filename} mode = 0644 [download-file-base] <= download-base ignore-existing = true download-only = true [download-template-base] <= download-file-base url = ${:_profile_base_location_}/template/${:path} path = ${:filename} [template-file-base] recipe = slapos.recipe.template url = ${:_profile_base_location_}/${:filename} mode = 0644 [template] <= template-file-base output = ${buildout:directory}/template.cfg [template-kvm] <= download-file-base on-update = true [template-kvm-cluster] <= download-file-base on-update = true [template-kvm-resilient] <= download-file-base on-update = true [template-kvm-import] <= download-file-base on-update = true [template-kvm-import-script] <= download-template-base filename = kvm-import.sh.jinja2 mode = 0755 [template-kvm-export] <= download-file-base on-update = true [template-kvm-export-script] <= download-template-base filename = kvm-export.sh.jinja2 mode = 0755 [template-nbd] <= template-file-base output = ${buildout:directory}/template-nbd.cfg [template-frontend] <= template-file-base output = ${buildout:directory}/template-frontend.cfg [template-ansible-promise] <= download-template-base filename = ansible-promise.in [template-kvm-run] <= download-template-base filename = template-kvm-run.in on-update = true [template-kvm-controller] <= download-template-base filename = kvm-controller-run.in on-update = true [template-apache-conf] <= download-template-base filename = apache.conf.in on-update = true [template-content] <= download-template-base filename = template-content.in on-update = true [template-qemu-ready] <= download-template-base filename = qemu-is-ready.in on-update = true [file-download-script] <= download-template-base path = download_file.in filename = download_file 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 erp5.util = 0.4.51 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: # websockify==0.8.0 numpy = 1.11.2rc1