software.cfg 5.6 KB
Newer Older
1
[buildout]
2 3 4 5 6 7 8 9 10

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
11
  ../../component/lxml-python/buildout.cfg
12
  ../../component/pycurl/buildout.cfg
13
  ../../component/numpy/buildout.cfg
14
  ../../component/gzip/buildout.cfg
15 16 17
  ../../stack/slapos.cfg
  ../../component/nodejs/buildout.cfg
  ../../stack/resilient/buildout.cfg
18
  buildout.hash.cfg
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

# stacks are listed from most generic to most specific,
# to avoid versioning issues
common-parts =
  template

# 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

45
[python-with-eggs]
46
recipe = zc.recipe.egg
47
interpreter = ${:_buildout_section_name_}
48
eggs =
49
  ${slapos-toolbox:eggs}
50
  ${python-cffi:egg}
51
  ${lxml-python:egg}
52
  websockify
53
  ${slapos-cookbook:eggs}
54
  erp5.util
55 56 57
# BBB: eggs used as recipe should be kept otherwise sections depending
# on it can't be uninstalled
  collective.recipe.shelloutput
58
scripts =
59
  websockify
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91

[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
92 93 94 95
[download-base]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
mode = 0644
96

97 98 99 100 101 102 103 104 105 106 107
[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]
108
recipe = slapos.recipe.template
109
url = ${:_profile_base_location_}/${:filename}
110 111
mode = 0644

112 113 114 115
[template]
<= template-file-base
output = ${buildout:directory}/template.cfg

116
[template-kvm]
117
<= download-file-base
118 119 120
on-update = true

[template-kvm-cluster]
121
<= download-file-base
122 123 124
on-update = true

[template-kvm-resilient]
125
<= download-file-base
126 127 128
on-update = true

[template-kvm-import]
129
<= download-file-base
130 131 132
on-update = true

[template-kvm-import-script]
133
<= download-template-base
134 135 136 137
filename = kvm-import.sh.jinja2
mode = 0755

[template-kvm-export]
138
<= download-file-base
139 140 141
on-update = true

[template-kvm-export-script]
142
<= download-template-base
143 144 145 146
filename = kvm-export.sh.jinja2
mode = 0755

[template-nbd]
147 148
<= download-file-base
on-update = true
149 150

[template-ansible-promise]
151
<= download-template-base
152 153 154
filename = ansible-promise.in

[template-kvm-run]
155
<= download-template-base
156 157 158 159
filename = template-kvm-run.in
on-update = true

[template-kvm-controller]
160
<= download-template-base
161 162 163 164
filename = kvm-controller-run.in
on-update = true

[template-apache-conf]
165
<= download-template-base
166 167 168 169
filename = apache.conf.in
on-update = true

[template-content]
170
<= download-template-base
171 172 173 174
filename = template-content.in
on-update = true

[template-qemu-ready]
175
<= download-template-base
176 177 178 179
filename = qemu-is-ready.in
on-update = true

[file-download-script]
180 181
<= download-template-base
path = download_file.in
182 183 184 185 186 187 188 189 190 191 192
filename = download_file
on-update = true

[template-httpd]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/instance-kvm-http.cfg.in
rendered = ${buildout:parts-directory}/${:_buildout_section_name_}/instance-kvm-http.cfg
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}
Łukasz Nowak's avatar
Łukasz Nowak committed
193

194 195 196 197 198 199 200 201
[image-download-controller]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:_update_hash_filename_}
mode = 640

[image-download-config-creator]
<= image-download-controller

Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
202
[versions]
203
websockify = 0.9.0
204

Alain Takoudjou's avatar
Alain Takoudjou committed
205
collective.recipe.environment = 0.2.0
206
gitdb = 0.6.4
Alain Takoudjou's avatar
Alain Takoudjou committed
207
pycurl = 7.43.0
208
smmap = 0.9.0