common.cfg 7.72 KB
Newer Older
1 2 3
[buildout]

extends =
4
  ../../component/6tunnel/buildout.cfg
5 6 7 8 9
  ../../component/curl/buildout.cfg
  ../../component/dash/buildout.cfg
  ../../component/qemu-kvm/buildout.cfg
  ../../component/noVNC/buildout.cfg
  ../../component/openssl/buildout.cfg
10
  ../../component/netcat/buildout.cfg
Alain Takoudjou's avatar
Alain Takoudjou committed
11
  ../../component/pycurl/buildout.cfg
12
  ../../stack/slapos.cfg
13
  ../../stack/nodejs.cfg
14
  ../../stack/resilient/buildout.cfg
15 16 17

# stacks are listed from most generic to most specific,
# to avoid versioning issues
18

19 20 21


common-parts =
22 23 24
  template
  eggs

25 26
# XXX: we have to manually add this for resilience
  rdiff-backup
27
  pbs-recipe-egg
28

29 30 31

parts = ${:common-parts}

32 33 34 35 36 37 38 39 40 41 42 43 44 45
#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]
46
recipe = zc.recipe.egg
47
eggs =
48 49
  ${python-cffi:egg}
  ${python-cryptography:egg}
50 51 52 53
  ${lxml-python:egg}
  websockify
  slapos.cookbook
  slapos.toolbox
54
  erp5.util
55
  cns.recipe.symlink
56
  collective.recipe.template
57
  plone.recipe.command
Alain Takoudjou's avatar
Alain Takoudjou committed
58
  ${pycurl:egg}
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

[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 =
79
  export HOME=${:location};
80 81 82 83 84 85 86 87 88 89
  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


90 91 92 93 94
# Create all templates that will be used to deploy instances

[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg.in
95
md5sum = 733ee7530831229aeee0aeb3460ab2ee 
96 97 98
output = ${buildout:directory}/template.cfg
mode = 0644

99
[template-kvm]
100
recipe = hexagonit.recipe.download
101
ignore-existing = true
102 103
url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2
mode = 644
104
md5sum = b7b06fa8586198640ca0bb185ab48161
105 106 107 108 109
download-only = true
on-update = true

[template-kvm-cluster]
recipe = hexagonit.recipe.download
110
ignore-existing = true
111 112
url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in
mode = 644
113
md5sum = 6ef7e38526f024356743e77973f0fb5f
114 115
download-only = true
on-update = true
116

117
[template-kvm-resilient]
118
recipe = hexagonit.recipe.download
119
ignore-existing = true
120
url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2
121
mode = 644
122
md5sum = 700676dff4a3835a9d6cde015d91922e
123
download-only = true
124
on-update = true
125 126

[template-kvm-resilient-test]
127
recipe = hexagonit.recipe.download
128
ignore-existing = true
129
url = ${:_profile_base_location_}/instance-kvm-resilient-test.cfg.jinja2
130
md5sum = 6b40e280201aaf9258c4cb5de7c1f5b4
131
mode = 0644
132
download-only = true
133
on-update = true
134 135

[template-kvm-import]
136
recipe = hexagonit.recipe.download
137
ignore-existing = true
138
url = ${:_profile_base_location_}/instance-kvm-import.cfg.jinja2.in
139
md5sum = 5e21ad759c148d26134ecefbb4d3d9f1
140
mode = 0644
141 142
download-only = true
on-update = true
143 144 145

[template-kvm-import-script]
recipe = hexagonit.recipe.download
146
ignore-existing = true
147 148
url = ${:_profile_base_location_}/template/kvm-import.sh.jinja2
filename = kvm-import.sh.jinja2
149
md5sum = cd0008f1689dfca9b77370bc4d275b70
150 151 152 153
download-only = true
mode = 0755

[template-kvm-export]
154
recipe = hexagonit.recipe.download
155
ignore-existing = true
156 157
url = ${:_profile_base_location_}/instance-kvm-export.cfg.jinja2
mode = 644
158
md5sum = c2ab8a5ff9d8cd351682382ea06b3328 
159 160
download-only = true
on-update = true
161 162 163

[template-kvm-export-script]
recipe = hexagonit.recipe.download
164
ignore-existing = true
165 166
url = ${:_profile_base_location_}/template/kvm-export.sh.jinja2
filename = kvm-export.sh.jinja2
167
md5sum = c18e958bf374d5fa35dbb952686595fb
168 169 170
download-only = true
mode = 0755

171 172 173
[template-nbd]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-nbd.cfg.in
174
md5sum = f634a5249b773658b7a7bc9fa9bb0368
175 176 177 178 179 180
output = ${buildout:directory}/template-nbd.cfg
mode = 0644

[template-frontend]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-frontend.cfg.in
181
md5sum = cdb690495e9eb007d2b7d2f8e12f5c59
182 183
output = ${buildout:directory}/template-frontend.cfg
mode = 0644
184

185 186
[template-ansible-promise]
recipe = hexagonit.recipe.download
187
ignore-existing = true
188
url = ${:_profile_base_location_}/template/ansible-promise.in
189
md5sum = 2036bf145f472f62ef8dee5e729328fd
190 191 192 193
mode = 0644
download-only = true
filename = ansible-promise.in

194 195
[template-kvm-run]
recipe = hexagonit.recipe.download
196
ignore-existing = true
197 198 199
url = ${:_profile_base_location_}/template/template-kvm-run.in
mode = 644
filename = template-kvm-run.in
200
md5sum = 178a24cdad77cb6c2e519ac629dd0e74
201 202 203 204 205
download-only = true
on-update = true

[template-kvm-controller]
recipe = hexagonit.recipe.download
206
ignore-existing = true
207 208 209
url = ${:_profile_base_location_}/template/kvm-controller-run.in
mode = 644
filename = kvm-controller-run.in
210
md5sum = 71afd2d13f6e56993ae413a168e012d7
211 212 213
download-only = true
on-update = true

214 215
[template-apache-conf]
recipe = hexagonit.recipe.download
216
ignore-existing = true
217 218 219
url = ${:_profile_base_location_}/template/apache.conf.in
mode = 644
filename = apache.conf.in
220
md5sum = ac97f6a52e1c5a19a646242ef85abb8a
221 222 223
download-only = true
on-update = true

224 225
[template-content]
recipe = hexagonit.recipe.download
226
ignore-existing = true
227 228 229
url = ${:_profile_base_location_}/template/template-content.in
mode = 644
filename = template-content.in
230
md5sum = 822737e483864bf255ad1259237bef2a
231 232 233
download-only = true
on-update = true

234 235 236 237 238 239 240 241 242 243
[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 = 0066fa0f5f3dd47bded5e5924df2550d
download-only = true
on-update = true

244 245 246 247 248 249 250 251 252 253
[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

254 255 256 257 258
[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
259
md5sum = 26a181a48046ce88570adb32334747ef
260 261
context =
    key apache_location apache:location
262
    raw openssl_executable_location ${openssl:location}/bin/openssl
263 264 265
    raw template_apache_conf ${template-apache-conf:location}/${template-apache-conf:filename}