[buildout] extends = ../../component/bcrypt/buildout.cfg ../../component/curl/buildout.cfg ../../component/openssl/buildout.cfg ../../component/git/buildout.cfg ../../component/pycurl/buildout.cfg ../../component/faketime/buildout.cfg ../../component/pillow/buildout.cfg ../../component/psycopg2/buildout.cfg ../../component/python-cryptography/buildout.cfg ../../component/python-mysqlclient/buildout.cfg ../../component/python-pynacl/buildout.cfg ../../component/python-backports-lzma/buildout.cfg ../../component/selenium/buildout.cfg ../../stack/slapos.cfg ../../stack/nxdtest.cfg ../../stack/caucase/buildout.cfg ./buildout.hash.cfg parts = eggs/scripts system-python-disabled slapos-cookbook template shared-part-list = [setup-develop-egg] recipe = zc.recipe.egg:develop [slapos.cookbook-setup] <= setup-develop-egg egg = slapos.cookbook[test] setup = ${slapos-repository:location}/ [slapos.test.backupserver-setup] <= setup-develop-egg egg = slapos.test.backupserver setup = ${slapos-repository:location}/software/backupserver/test/ [slapos.test.clammit-setup] <= setup-develop-egg egg = slapos.test.clammit setup = ${slapos-repository:location}/software/clammit/test/ [slapos.test.dufs-setup] <= setup-develop-egg egg = slapos.test.dufs setup = ${slapos-repository:location}/software/dufs/test/ [slapos.test.dependency-track-setup] <= setup-develop-egg egg = slapos.test.dependencytrack setup = ${slapos-repository:location}/software/dependency-track/test/ [slapos.test.erp5-setup] <= setup-develop-egg egg = slapos.test.erp5 setup = ${slapos-repository:location}/software/erp5/test/ [slapos.test.upgrade_erp5-setup] <= setup-develop-egg egg = slapos.test.upgrade_erp5 setup = ${slapos-repository:location}/software/erp5/upgrade_test/ [slapos.test.htmlvalidatorserver-setup] <= setup-develop-egg egg = slapos.test.htmlvalidatorserver setup = ${slapos-repository:location}/software/htmlvalidatorserver/test/ [slapos.test.slapos-master-setup] <= setup-develop-egg egg = slapos.test.slapos-master setup = ${slapos-repository:location}/software/slapos-master/test/ [slapos.test.jstestnode-setup] <= setup-develop-egg egg = slapos.test.jstestnode setup = ${slapos-repository:location}/software/jstestnode/test/ [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.rapid-cdn-setup] <= setup-develop-egg egg = slapos.test.rapid-cdn setup = ${slapos-repository:location}/software/rapid-cdn/test/ [slapos.test.re6stnet-setup] <= setup-develop-egg egg = slapos.test.re6stnet setup = ${slapos-repository:location}/software/re6stnet/test/ [slapos.test.restic_rest_server-setup] <= setup-develop-egg egg = slapos.test.restic_rest_server setup = ${slapos-repository:location}/software/restic-rest-server/test/ [slapos.test.seleniumserver-setup] <= setup-develop-egg egg = slapos.test.seleniumserver setup = ${slapos-repository:location}/software/seleniumserver/test/ [slapos.test.ssh-setup] <= setup-develop-egg egg = slapos.test.ssh setup = ${slapos-repository:location}/software/ssh/test/ [slapos.test.metabase-setup] <= setup-develop-egg egg = slapos.test.metabase setup = ${slapos-repository:location}/software/metabase/test/ [slapos.test.ors-amarisoft-setup] <= setup-develop-egg egg = slapos.test.ors-amarisoft setup = ${slapos-repository:location}/software/ors-amarisoft/test/ [slapos.test.fluentd-setup] <= setup-develop-egg egg = slapos.test.fluentd setup = ${slapos-repository:location}/software/fluentd/test/ [slapos.test.helloworld-setup] <= setup-develop-egg egg = slapos.test.helloworld setup = ${slapos-repository:location}/software/helloworld/test/ [slapos.test.html5as-setup] <= setup-develop-egg egg = slapos.test.html5as setup = ${slapos-repository:location}/software/html5as/test/ [slapos.test.html5as-base-setup] <= setup-develop-egg egg = slapos.test.html5asbase setup = ${slapos-repository:location}/software/html5as-base/test/ [slapos.test.hugo-setup] <= setup-develop-egg egg = slapos.test.hugo setup = ${slapos-repository:location}/software/hugo/test/ [slapos.test.matomo-setup] <= setup-develop-egg egg = slapos.test.matomo setup = ${slapos-repository:location}/software/matomo/test/ [slapos.test.jupyter-setup] <= setup-develop-egg egg = slapos.test.jupyter setup = ${slapos-repository:location}/software/jupyter/test/ [slapos.test.nextcloud-setup] <= setup-develop-egg egg = slapos.test.nextcloud setup = ${slapos-repository:location}/software/nextcloud/test/ [slapos.test.nginx-push-stream-setup] <= setup-develop-egg egg = slapos.test.nginx_push_stream setup = ${slapos-repository:location}/software/nginx-push-stream/test/ [slapos.test.turnserver-setup] <= setup-develop-egg egg = slapos.test.turnserver setup = ${slapos-repository:location}/software/turnserver/test/ [slapos.test.theia-setup] <= setup-develop-egg egg = slapos.test.theia setup = ${slapos-repository:location}/software/theia/test/ [slapos.test.grafana-setup] <= setup-develop-egg egg = slapos.test.grafana setup = ${slapos-repository:location}/software/grafana/test/ [slapos.test.gitlab-setup] <= setup-develop-egg egg = slapos.test.gitlab setup = ${slapos-repository:location}/software/gitlab/test/ [slapos.test.cloudooo-setup] <= setup-develop-egg egg = slapos.test.cloudooo setup = ${slapos-repository:location}/software/cloudooo/test/ [slapos.test.dream-setup] <= setup-develop-egg egg = slapos.test.dream setup = ${slapos-repository:location}/software/dream/test/ [slapos.test.repman-setup] <= setup-develop-egg egg = slapos.test.repman setup = ${slapos-repository:location}/software/repman/test/ [slapos.test.jscrawler-setup] <= setup-develop-egg egg = slapos.test.jscrawler setup = ${slapos-repository:location}/software/jscrawler/test/ [slapos.test.galene-setup] <= setup-develop-egg egg = slapos.test.galene setup = ${slapos-repository:location}/software/galene/test/ [slapos.test.headless-chromium-setup] <= setup-develop-egg egg = slapos.test.headless-chromium setup = ${slapos-repository:location}/software/headless-chromium/test/ [slapos.test.caucase-setup] <= setup-develop-egg egg = slapos.test.caucase setup = ${slapos-repository:location}/software/caucase/test/ [slapos.test.erp5testnode-setup] <= setup-develop-egg egg = slapos.test.erp5testnode setup = ${slapos-repository:location}/software/erp5testnode/test/ [slapos.test.beremiz-ide-setup] <= setup-develop-egg egg = slapos.test.beremiz_ide setup = ${slapos-repository:location}/software/beremiz-ide/test/ [slapos.test.beremiz-runtime-setup] <= setup-develop-egg egg = slapos.test.beremiz_runtime setup = ${slapos-repository:location}/software/beremiz-runtime/test/ [slapos.test.mosquitto-setup] <= setup-develop-egg egg = slapos.test.mosquitto setup = ${slapos-repository:location}/software/mosquitto/test/ [slapos.test.peertube-setup] <= setup-develop-egg egg = slapos.test.peertube setup = ${slapos-repository:location}/software/peertube/test/ [slapos.test.js-drone-setup] <= setup-develop-egg egg = slapos.test.js_drone setup = ${slapos-repository:location}/software/js-drone/test/ [slapos.test.osie-coupler-setup] <= setup-develop-egg egg = slapos.test.osie_coupler setup = ${slapos-repository:location}/software/osie-coupler/test/ [slapos.core-repository] <= git-clone-repository repository = https://lab.nexedi.com/nexedi/slapos.core.git branch = master [slapos.core-setup] <= setup-develop-egg egg = slapos.core setup = ${slapos.core-repository:location} [system-python-disabled] # An "intentionally broken" python command that should catch # accidental usage of things like #!/usr/bin/env python recipe = zc.recipe.egg # we need an egg to generate a script, use the one from this part's recipe eggs = ${:recipe} interpreter = python2.7 entry-points = python=${:eggs}:ignored python2=${:eggs}:ignored python2.7=${:eggs}:ignored python3=${:eggs}:ignored python3.5=${:eggs}:ignored python3.6=${:eggs}:ignored python3.7=${:eggs}:ignored python3.8=${:eggs}:ignored python3.9=${:eggs}:ignored python3.10=${:eggs}:ignored python3.11=${:eggs}:ignored python3.12=${:eggs}:ignored python3.13=${:eggs}:ignored python3.14=${:eggs}:ignored scripts = python python2 python2.7 python3 python3.5 python3.6 python3.7 python3.8 python3.9 python3.10 python3.11 python3.12 python3.13 python3.14 initialization = import sys print("Error: attempt to use system python. Executed with: %s" % sys.argv, file=sys.stderr) sys.exit(2) [recurls-repository] <= git-clone-repository repository = https://lab.nexedi.com/luke/recurls.git revision = 1797eb42c2c1a8efad0f80bd331a01f5d53f83b5 [recurls-setup] <= setup-develop-egg egg = recurls setup = ${recurls-repository:location} [python-interpreter] eggs += ${lxml-python:egg} ${python-PyYAML:egg} ${slapos.core-setup:egg} ${recurls-setup:egg} ${pillow-python:egg} ${pycurl:egg} beautifulsoup4 caucase erp5.util ${python-pynacl:egg} ${python-cryptography:egg} ${python-mysqlclient:egg} ${bcrypt:egg} ${psycopg2:egg} ${selenium:egg} slapos.libnetworkcache supervisor ${slapos.cookbook-setup:egg} ${slapos.test.backupserver-setup:egg} # ${slapos.test.beremiz-ide-setup:egg} ${slapos.test.beremiz-runtime-setup:egg} ${slapos.test.caucase-setup:egg} ${slapos.test.clammit-setup:egg} ${slapos.test.cloudooo-setup:egg} ${slapos.test.dream-setup:egg} ${slapos.test.dependency-track-setup:egg} ${slapos.test.dufs-setup:egg} ${slapos.test.erp5-setup:egg} ${slapos.test.erp5testnode-setup:egg} ${slapos.test.fluentd-setup:egg} ${slapos.test.galene-setup:egg} ${slapos.test.headless-chromium-setup:egg} ${slapos.test.html5as-base-setup:egg} ${slapos.test.html5as-setup:egg} ${slapos.test.htmlvalidatorserver-setup:egg} ${slapos.test.hugo-setup:egg} ${slapos.test.js-drone-setup:egg} ${slapos.test.jscrawler-setup:egg} ${slapos.test.jstestnode-setup:egg} ${slapos.test.jupyter-setup:egg} ${slapos.test.kvm-setup:egg} ${slapos.test.matomo-setup:egg} ${slapos.test.metabase-setup:egg} ${slapos.test.monitor-setup:egg} ${slapos.test.mosquitto-setup:egg} ${slapos.test.nextcloud-setup:egg} ${slapos.test.nginx-push-stream-setup:egg} ${slapos.test.ors-amarisoft-setup:egg} ${slapos.test.osie-coupler-setup:egg} ${slapos.test.peertube-setup:egg} ${slapos.test.plantuml-setup:egg} ${slapos.test.powerdns-setup:egg} ${slapos.test.proftpd-setup:egg} ${slapos.test.rapid-cdn-setup:egg} ${slapos.test.re6stnet-setup:egg} ${slapos.test.repman-setup:egg} ${slapos.test.restic_rest_server-setup:egg} ${slapos.test.seleniumserver-setup:egg} ${slapos.test.slapos-master-setup:egg} ${slapos.test.ssh-setup:egg} ${slapos.test.theia-setup:egg} ${slapos.test.turnserver-setup:egg} ${slapos.test.upgrade_erp5-setup:egg} # 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 # 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 [eggs/scripts] recipe = zc.recipe.egg eggs = ${python-interpreter:eggs} scripts = slapos supervisord caucase [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] recipe = slapos.recipe.template:jinja2 url = ${:_profile_base_location_}/${:filename} extensions = jinja2.ext.do output = ${buildout:directory}/template.cfg context = section buildout buildout import os os key nxdtest_instance nxdtest-instance.cfg:output key git_location git:location key slapos_location slapos-repository:location key interpreter python-interpreter:interpreter key curl_location curl-http3:location key openssl_location openssl-output:bin key faketime_location faketime:location key tests :tests tests = json-schemas ${slapos.cookbook-setup:setup} backupserver ${slapos.test.backupserver-setup:setup} # beremiz-ide ${slapos.test.beremiz-ide-setup:setup} beremiz-runtime ${slapos.test.beremiz-runtime-setup:setup} caucase ${slapos.test.caucase-setup:setup} clammit ${slapos.test.clammit-setup:setup} cloudooo ${slapos.test.cloudooo-setup:setup} dream ${slapos.test.dream-setup:setup} dependency-track ${slapos.test.dependency-track-setup:setup} dufs ${slapos.test.dufs-setup:setup} erp5 ${slapos.test.erp5-setup:setup} erp5-py3 ${slapos.test.erp5-setup:setup} erp5testnode ${slapos.test.erp5testnode-setup:setup} fluentd ${slapos.test.fluentd-setup:setup} galene ${slapos.test.galene-setup:setup} gitlab ${slapos.test.gitlab-setup:setup} grafana ${slapos.test.grafana-setup:setup} headless-chromium ${slapos.test.headless-chromium-setup:setup} helloworld ${slapos.test.helloworld-setup:setup} html5as ${slapos.test.html5as-setup:setup} html5as-base ${slapos.test.html5as-base-setup:setup} htmlvalidatorserver ${slapos.test.htmlvalidatorserver-setup:setup} hugo ${slapos.test.hugo-setup:setup} js-drone ${slapos.test.js-drone-setup:setup} jscrawler ${slapos.test.jscrawler-setup:setup} jstestnode ${slapos.test.jstestnode-setup:setup} jupyter ${slapos.test.jupyter-setup:setup} kvm ${slapos.test.kvm-setup:setup} matomo ${slapos.test.matomo-setup:setup} metabase ${slapos.test.metabase-setup:setup} monitor ${slapos.test.monitor-setup:setup} mosquitto ${slapos.test.mosquitto-setup:setup} nextcloud ${slapos.test.nextcloud-setup:setup} nginx-push-stream ${slapos.test.nginx-push-stream-setup:setup} ors-amarisoft ${slapos.test.ors-amarisoft-setup:setup} osie-coupler ${slapos.test.osie-coupler-setup:setup} peertube ${slapos.test.peertube-setup:setup} plantuml ${slapos.test.plantuml-setup:setup} powerdns ${slapos.test.powerdns-setup:setup} proftpd ${slapos.test.proftpd-setup:setup} rapid-cdn ${slapos.test.rapid-cdn-setup:setup} re6stnet ${slapos.test.re6stnet-setup:setup} repman ${slapos.test.repman-setup:setup} restic-rest-server ${slapos.test.restic_rest_server-setup:setup} seleniumserver ${slapos.test.seleniumserver-setup:setup} slapos-master ${slapos.test.slapos-master-setup:setup} ssh ${slapos.test.ssh-setup:setup} theia ${slapos.test.theia-setup:setup} turnserver ${slapos.test.turnserver-setup:setup} upgrade_erp5 ${slapos.test.upgrade_erp5-setup:setup} [versions] # recurls are under development recurls = # slapos.core is used from the clone always slapos.core = # Various needed versions Pillow = 10.2.0+SlapOSPatched001 forcediphttpsadapter = 1.0.1 image = 1.5.25 plantuml = 0.3.0:whl pysftp = 0.2.9 requests-toolbelt = 0.8.0 testfixtures = 6.11.0 mysqlclient = 2.1.1 paho-mqtt = 1.5.0 pcpp = 1.30 xmltodict = 0.13.0 # Patched eggs PyPDF2 = 1.26.0+SlapOSPatched001