[buildout]

extends =
  ../../component/dash/buildout.cfg
  ../../component/git/buildout.cfg
  ../../component/dcron/buildout.cfg
  ../../component/gzip/buildout.cfg
  ../../component/openssl/buildout.cfg
  ../../component/logrotate/buildout.cfg
  ../../component/kerberos/buildout.cfg
  ../../component/python-kerberos/buildout.cfg
  ../../component/gateone/buildout.cfg
  ../../component/dtach/buildout.cfg
  ../../component/nginx/buildout.cfg
  ../../stack/slapos.cfg

parts =
  slapos-cookbook
  kerberos
  eggs
  gateone-develop
  gateone
  dash
  check-recipe
  template


[eggs]
recipe = zc.recipe.egg
eggs =
  ${lxml-python:egg}
  ${python-cryptography:egg}
  ${python-kerberos:egg}
  tornado
scripts =
  slapos-kill

[extra-eggs]
recipe = zc.recipe.egg
interpreter = python
eggs =
  ${lxml-python:egg}
  ${python-kerberos:egg}
  tornado
  gateone
  setuptools
  pyOpenSSL
  futures


[slapos.cookbook-repository]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/slapos.git
branch = re6st-master
git-executable = ${git:location}/bin/git

[download-base]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:filename}
mode = 644

[template-jinja2-base]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/${:filename}.in
rendered = ${buildout:directory}/${:filename}
# XXX: extra-context is needed because we cannot append to a key of an extended
# section.
extra-context =
context =
    key bin_directory buildout:bin-directory
    key develop_eggs_directory buildout:develop-eggs-directory
    key eggs_directory buildout:eggs-directory
    ${:extra-context}


[template]
< = template-jinja2-base
filename = template.cfg
template = ${:_profile_base_location_}/instance.cfg.in
md5sum = 428669a609aca3e0a7cae1387d332a75
extra-context =
    key dash_location dash:location
    key dtach_location dtach:location
    key gateone_location gateone-repository:location
    key logrotate_location logrotate:location
    key nginx_location nginx:location
    key openssl_location openssl:location
    key readline_location readline:location
    key template_nginx_conf template-nginx-conf:target
    key template_logrotate_base template-logrotate-base:rendered
    key template_gateone template-gateone:target
    raw gateone_bin ${buildout:bin-directory}/gateone

[template-gateone]
< = download-base
filename = instance-gateone.cfg.in
md5sum = e7096a17c36c3bd27a011de57b7abfc1

[template-logrotate-base]
< = template-jinja2-base
filename = instance-logrotate-base.cfg
md5sum = f28fbd310944f321ccb34b2a34c82005
extra-context =
    key dcron_location dcron:location
    key gzip_location gzip:location
    key logrotate_location logrotate:location

[template-nginx-conf]
< = download-base
url = ${:_profile_base_location_}/templates/${:filename}.in
filename = nginx.conf
md5sum = 3d80d73a9cfffca6687813d86ddc25ba

[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command =
  grep parts ${buildout:develop-eggs-directory}/gateone.egg-link

[versions]