software.cfg 11.7 KB
Newer Older
1 2 3 4 5
[buildout]

extends =
  ../../component/bcrypt/buildout.cfg
  ../../component/curl/buildout.cfg
6
  ../../component/openssl/buildout.cfg
7
  ../../component/git/buildout.cfg
8
  ../../component/pycurl/buildout.cfg
9
  ../../component/faketime/buildout.cfg
10
  ../../component/pillow/buildout.cfg
11
  ../../component/psycopg2/buildout.cfg
12
  ../../component/python-cryptography/buildout.cfg
13
  ../../component/python-mysqlclient/buildout.cfg
14
  ../../component/python-pynacl/buildout.cfg
15
  ../../component/python-backports-lzma/buildout.cfg
16 17

  ../../stack/slapos.cfg
18
  ../../stack/nxdtest.cfg
19
  ../../stack/caucase/buildout.cfg
20 21 22 23

  ./buildout.hash.cfg

parts =
24
  eggs/scripts
25
  slapos-cookbook
26 27
  template

28 29
shared-part-list =

30 31 32
[setup-develop-egg]
recipe = zc.recipe.egg:develop

33 34
[slapos.cookbook-setup]
<= setup-develop-egg
35
egg = slapos.cookbook[test]
36 37
setup = ${slapos-repository:location}/

38 39 40 41 42
[slapos.test.backupserver-setup]
<= setup-develop-egg
egg = slapos.test.backupserver
setup = ${slapos-repository:location}/software/backupserver/test/

43 44 45 46 47 48 49 50 51 52
[slapos.test.caddy-frontend-setup]
<= setup-develop-egg
egg = slapos.test.caddy-frontend
setup = ${slapos-repository:location}/software/caddy-frontend/test/

[slapos.test.erp5-setup]
<= setup-develop-egg
egg = slapos.test.erp5
setup = ${slapos-repository:location}/software/erp5/test/

53 54 55 56 57
[slapos.test.upgrade_erp5-setup]
<= setup-develop-egg
egg = slapos.test.upgrade_erp5
setup = ${slapos-repository:location}/software/erp5/upgrade_test/

58 59 60 61 62
[slapos.test.htmlvalidatorserver-setup]
<= setup-develop-egg
egg = slapos.test.htmlvalidatorserver
setup = ${slapos-repository:location}/software/htmlvalidatorserver/test/

63 64 65 66 67
[slapos.test.slapos-master-setup]
<= setup-develop-egg
egg = slapos.test.slapos-master
setup = ${slapos-repository:location}/software/slapos-master/test/

68 69 70 71 72
[slapos.test.jstestnode-setup]
<= setup-develop-egg
egg = slapos.test.jstestnode
setup = ${slapos-repository:location}/software/jstestnode/test/

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
[slapos.test.kvm-setup]
<= setup-develop-egg
egg = slapos.test.kvm
setup = ${slapos-repository:location}/software/kvm/test/

[slapos.test.monitor-setup]
<= setup-develop-egg
egg = slapos.test.monitor
setup = ${slapos-repository:location}/software/monitor/test/

[slapos.test.plantuml-setup]
<= setup-develop-egg
egg = slapos.test.plantuml
setup = ${slapos-repository:location}/software/plantuml/test/

[slapos.test.powerdns-setup]
<= setup-develop-egg
egg = slapos.test.powerdns
setup = ${slapos-repository:location}/software/powerdns/test/

[slapos.test.proftpd-setup]
<= setup-develop-egg
egg = slapos.test.proftpd
setup = ${slapos-repository:location}/software/proftpd/test/

[slapos.test.re6stnet-setup]
<= setup-develop-egg
egg = slapos.test.re6stnet
setup = ${slapos-repository:location}/software/re6stnet/test/

103 104 105 106 107
[slapos.test.restic_rest_server-setup]
<= setup-develop-egg
egg = slapos.test.restic_rest_server
setup = ${slapos-repository:location}/software/restic-rest-server/test/

108 109 110 111 112 113 114 115 116 117
[slapos.test.seleniumserver-setup]
<= setup-develop-egg
egg = slapos.test.seleniumserver
setup = ${slapos-repository:location}/software/seleniumserver/test/

[slapos.test.slaprunner-setup]
<= setup-develop-egg
egg = slapos.test.slaprunner
setup = ${slapos-repository:location}/software/slaprunner/test/

118 119 120 121 122
[slapos.test.metabase-setup]
<= setup-develop-egg
egg = slapos.test.metabase
setup = ${slapos-repository:location}/software/metabase/test/

123 124 125 126 127
[slapos.test.fluentd-setup]
<= setup-develop-egg
egg = slapos.test.fluentd
setup = ${slapos-repository:location}/software/fluentd/test/

128 129 130 131 132
[slapos.test.helloworld-setup]
<= setup-develop-egg
egg = slapos.test.helloworld
setup = ${slapos-repository:location}/software/helloworld/test/

133 134 135 136 137
[slapos.test.html5as-setup]
<= setup-develop-egg
egg = slapos.test.html5as
setup = ${slapos-repository:location}/software/html5as/test/

138 139 140 141 142
[slapos.test.html5as-base-setup]
<= setup-develop-egg
egg = slapos.test.html5asbase
setup = ${slapos-repository:location}/software/html5as-base/test/

143 144 145 146 147
[slapos.test.hugo-setup]
<= setup-develop-egg
egg = slapos.test.hugo
setup = ${slapos-repository:location}/software/hugo/test/

148 149 150 151 152 153
[slapos.test.matomo-setup]
<= setup-develop-egg
egg = slapos.test.matomo
setup = ${slapos-repository:location}/software/matomo/test/


154 155 156 157 158
[slapos.test.jupyter-setup]
<= setup-develop-egg
egg = slapos.test.jupyter
setup = ${slapos-repository:location}/software/jupyter/test/

159 160 161 162 163
[slapos.test.nextcloud-setup]
<= setup-develop-egg
egg = slapos.test.nextcloud
setup = ${slapos-repository:location}/software/nextcloud/test/

164 165 166 167 168
[slapos.test.nginx-push-stream-setup]
<= setup-develop-egg
egg = slapos.test.nginx_push_stream
setup = ${slapos-repository:location}/software/nginx-push-stream/test/

169 170
[slapos.test.turnserver-setup]
<= setup-develop-egg
171
egg = slapos.test.turnserver
172 173
setup = ${slapos-repository:location}/software/turnserver/test/

174 175 176 177 178
[slapos.test.theia-setup]
<= setup-develop-egg
egg = slapos.test.theia
setup = ${slapos-repository:location}/software/theia/test/

179 180 181 182 183
[slapos.test.grafana-setup]
<= setup-develop-egg
egg = slapos.test.grafana
setup = ${slapos-repository:location}/software/grafana/test/

184 185 186 187 188
[slapos.test.gitlab-setup]
<= setup-develop-egg
egg = slapos.test.gitlab
setup = ${slapos-repository:location}/software/gitlab/test/

189 190 191 192 193
[slapos.test.cloudooo-setup]
<= setup-develop-egg
egg = slapos.test.cloudooo
setup = ${slapos-repository:location}/software/cloudooo/test/

194 195 196 197 198
[slapos.test.dream-setup]
<= setup-develop-egg
egg = slapos.test.dream
setup = ${slapos-repository:location}/software/dream/test/

199 200 201 202 203
[slapos.test.repman-setup]
<= setup-develop-egg
egg = slapos.test.repman
setup = ${slapos-repository:location}/software/repman/test/

204 205 206 207 208
[slapos.test.jscrawler-setup]
<= setup-develop-egg
egg = slapos.test.jscrawler
setup = ${slapos-repository:location}/software/jscrawler/test/

209 210 211 212 213
[slapos.test.galene-setup]
<= setup-develop-egg
egg = slapos.test.galene
setup = ${slapos-repository:location}/software/galene/test/

214 215 216 217 218
[slapos.test.headless-chromium-setup]
<= setup-develop-egg
egg = slapos.test.headless-chromium
setup = ${slapos-repository:location}/software/headless-chromium/test/

Łukasz Nowak's avatar
Łukasz Nowak committed
219 220 221 222 223
[slapos.test.caucase-setup]
<= setup-develop-egg
egg = slapos.test.caucase
setup = ${slapos-repository:location}/software/caucase/test/

224 225 226 227 228 229 230 231 232 233
[slapos.test.erp5testnode-setup]
<= setup-develop-egg
egg = slapos.test.erp5testnode
setup = ${slapos-repository:location}/software/erp5testnode/test/

[slapos.core-repository]
<= git-clone-repository
repository = https://lab.nexedi.com/nexedi/slapos.core.git
branch = master

234 235 236 237 238
[slapos.core-setup]
<= setup-develop-egg
egg = slapos.core
setup = ${slapos.core-repository:location}

239 240 241
[python-interpreter]
eggs += ${:extra-eggs}
extra-eggs =
242
  ${lxml-python:egg}
243
  ${python-PyYAML:egg}
244
  ${slapos.core-setup:egg}
245
  ${pillow-python:egg}
246
  ${pycurl:egg}
247
  caucase
248
  erp5.util
249 250
  ${python-pynacl:egg}
  ${python-cryptography:egg}
251
  ${python-mysqlclient:egg}
252
  ${backports.lzma:egg}
253
  ${bcrypt:egg}
254
  ${psycopg2:egg}
255
  slapos.libnetworkcache
256
  supervisor
257
  ${slapos.cookbook-setup:egg}
258
  ${slapos.test.backupserver-setup:egg}
259 260
  ${slapos.test.caddy-frontend-setup:egg}
  ${slapos.test.erp5-setup:egg}
261
  ${slapos.test.upgrade_erp5-setup:egg}
262
  ${slapos.test.htmlvalidatorserver-setup:egg}
263
  ${slapos.test.slapos-master-setup:egg}
264
  ${slapos.test.jstestnode-setup:egg}
265 266 267 268 269
  ${slapos.test.kvm-setup:egg}
  ${slapos.test.monitor-setup:egg}
  ${slapos.test.powerdns-setup:egg}
  ${slapos.test.proftpd-setup:egg}
  ${slapos.test.re6stnet-setup:egg}
270
  ${slapos.test.restic_rest_server-setup:egg}
271 272
  ${slapos.test.seleniumserver-setup:egg}
  ${slapos.test.slaprunner-setup:egg}
273
  ${slapos.test.jupyter-setup:egg}
274
  ${slapos.test.nextcloud-setup:egg}
275
  ${slapos.test.nginx-push-stream-setup:egg}
276
  ${slapos.test.turnserver-setup:egg}
277
  ${slapos.test.theia-setup:egg}
278
  ${slapos.test.cloudooo-setup:egg}
279
  ${slapos.test.dream-setup:egg}
280
  ${slapos.test.metabase-setup:egg}
281
  ${slapos.test.repman-setup:egg}
Łukasz Nowak's avatar
Łukasz Nowak committed
282
  ${slapos.test.caucase-setup:egg}
283
  ${slapos.test.jscrawler-setup:egg}
284
  ${slapos.test.galene-setup:egg}
285
  ${slapos.test.html5as-setup:egg}
286
  ${slapos.test.html5as-base-setup:egg}
287
  ${slapos.test.fluentd-setup:egg}
288
  ${slapos.test.headless-chromium-setup:egg}
289
  ${slapos.test.erp5testnode-setup:egg}
290
  ${slapos.test.hugo-setup:egg}
291
  ${slapos.test.matomo-setup:egg}
292 293 294 295 296

# We don't name this interpreter `python`, so that when we run slapos node
# software, installation scripts running `python` use a python without any
# custom eggs pre-installed, not our special python interpreter.
interpreter = python_for_test
297

Gabriel Monnerat's avatar
Gabriel Monnerat committed
298 299 300 301 302
# patches for eggs
patch-binary = ${patch:location}/bin/patch
PyPDF2-patches = ${:_profile_base_location_}/../../component/egg-patch/PyPDF2/0001-Custom-implementation-of-warnings.formatwarning-remo.patch#d25bb0f5dde7f3337a0a50c2f986f5c8
PyPDF2-patch-options = -p1

303 304
[eggs/scripts]
recipe = zc.recipe.egg
305
eggs = ${python-interpreter:eggs}
306 307 308
scripts =
  slapos
  supervisord
309
  caucase
310

311 312 313 314 315 316 317 318 319 320 321
[git-clone-repository]
recipe = slapos.recipe.build:gitclone
git-executable = ${git:location}/bin/git
forbid-download-cache = true

[slapos-repository]
<= git-clone-repository
repository = https://lab.nexedi.com/nexedi/slapos.git
branch = master

[template]
322 323
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/${:filename}
324
extensions = jinja2.ext.do
325
rendered = ${buildout:directory}/template.cfg
326
mode = 640
327 328
context =
  section buildout buildout
329
  import os os
330
  key nxdtest_instance nxdtest-instance.cfg:rendered
331 332
  key git_location git:location
  key slapos_location slapos-repository:location
333
  key interpreter python-interpreter:interpreter
334
  key curl_location curl:location
335
  key openssl_location openssl-output:bin
336
  key faketime_location faketime:location
337
  key tests :tests
338

339
tests =
340
  json-schemas ${slapos.cookbook-setup:setup}
341 342 343 344 345
# The following list is for SR that work with either Python 2 and 3
# (as main Python). The test egg must supply a URL which depends on
# the version of Python that is used to run the test.
# Due to a bug in the way promises are run, we may also list some Py3-only SR
# here, to check there's no promise issue when slapos node runs with Python 2.
346
  fluentd ${slapos.test.fluentd-setup:setup}
347 348
  kvm ${slapos.test.kvm-setup:setup}
  slaprunner ${slapos.test.slaprunner-setup:setup}
349
  theia ${slapos.test.theia-setup:setup}
350
  metabase ${slapos.test.metabase-setup:setup}
351
  erp5 ${slapos.test.erp5-setup:setup}
352
###
353
  ${:extra}
354

355
extra =
356 357
# WARNING: This is for SR that only support Python 2.
#          You should not add more lines here.
358 359
  backupserver ${slapos.test.backupserver-setup:setup}
  caddy-frontend ${slapos.test.caddy-frontend-setup:setup}
360
  upgrade_erp5 ${slapos.test.upgrade_erp5-setup:setup}
361 362 363 364 365 366 367 368 369 370 371
  htmlvalidatorserver ${slapos.test.htmlvalidatorserver-setup:setup}
  slapos-master ${slapos.test.slapos-master-setup:setup}
  re6stnet ${slapos.test.re6stnet-setup:setup}
  seleniumserver ${slapos.test.seleniumserver-setup:setup}
  jstestnode ${slapos.test.jstestnode-setup:setup}
  nextcloud ${slapos.test.nextcloud-setup:setup}
  turnserver ${slapos.test.turnserver-setup:setup}
  grafana ${slapos.test.grafana-setup:setup}
  gitlab ${slapos.test.gitlab-setup:setup}
  cloudooo ${slapos.test.cloudooo-setup:setup}
  dream ${slapos.test.dream-setup:setup}
Łukasz Nowak's avatar
Łukasz Nowak committed
372
  caucase ${slapos.test.caucase-setup:setup}
373
  jscrawler ${slapos.test.jscrawler-setup:setup}
374
  html5as ${slapos.test.html5as-setup:setup}
375
  html5as-base ${slapos.test.html5as-base-setup:setup}
376
  erp5testnode ${slapos.test.erp5testnode-setup:setup}
377 378

[versions]
379 380
# slapos.core is used from the clone always
slapos.core =
381 382 383 384 385 386 387 388
# Various needed versions
Pillow = 5.3.0
PyNaCl = 1.3.0
bcrypt = 3.1.4
forcediphttpsadapter = 1.0.1
httplib2 = 0.11.3
image = 1.5.25
paramiko = 2.4.2
389
plantuml = 0.3.0:whl
390 391 392 393
pysftp = 0.2.9
requests-toolbelt = 0.8.0
selenium = 3.141.0

Gabriel Monnerat's avatar
Gabriel Monnerat committed
394 395 396
# Patched eggs
PyPDF2 = 1.26.0+SlapOSPatched001

397 398 399
# Django 1.11 is python 2 compatible
Django = 1.11

400
mock = 2.0.0:whl
401
testfixtures = 6.11
402
funcsigs = 1.0.2
403 404 405
mysqlclient = 1.3.12
pexpect = 4.8.0
ptyprocess = 0.6.0
406
typing = 3.7.4.3
407
psycopg2 = 2.8.6