[buildout]

extends =
  buildout.hash.cfg
  ../../component/apache/buildout.cfg
  ../../component/nginx/buildout.cfg
  ../../component/curl/buildout.cfg
  ../../component/dash/buildout.cfg
  ../../component/openssl/buildout.cfg
  ../../component/bcrypt/buildout.cfg
  ../../stack/logrotate/buildout.cfg


parts =
  instance-caucase

[extra-eggs]
recipe = zc.recipe.egg
interpreter = python_ca
eggs =
  gunicorn # for WSGI HTTP Server
  futures
  caucase # certificate authority
  ${bcrypt:egg}
# are also required
  plone.recipe.command
  collective.recipe.template
  slapos.toolbox
scripts =
  slapos-kill
  gunicorn
  caucase
  caucase-cli
  caucase-cliweb

[template-ca-download-base]
recipe = hexagonit.recipe.download
ignore-existing = true
download-only = true
url = ${:_profile_base_location_}/${:filename}
mode = 0644

[template-httpd-auth-conf]
<= template-ca-download-base

[template-nginx-ca-conf]
<= template-ca-download-base

[template-caucase]
<= template-ca-download-base
url = ${:_profile_base_location_}/${:filename}

[template-authenticated-server]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/${:filename}
rendered = ${buildout:directory}/template-authenticated-server.cfg
context =
  key apache_location apache:location
  key template_logrotate_base template-logrotate-base:rendered
  raw certificate_request_bin ${buildout:directory}/bin/caucase-cliweb
  raw curl_executable_location ${curl:location}/bin/curl
  raw dash_executable_location ${dash:location}/bin/dash
  raw slapos_kill_bin ${buildout:directory}/bin/slapos-kill
  raw template_httpd_auth_conf ${template-httpd-auth-conf:location}/${template-httpd-auth-conf:filename}
  raw openssl_executable_location ${openssl:location}/bin/openssl
  raw python_bin ${buildout:directory}/bin/${extra-eggs:interpreter}

[instance-caucase]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/${:filename}
rendered = ${buildout:directory}/template.cfg
context =
  key develop_eggs_directory buildout:develop-eggs-directory
  key eggs_directory buildout:eggs-directory
  key nginx_location nginx:location
  key template_logrotate_base template-logrotate-base:rendered
  raw caucase_template ${template-caucase:location}/${template-caucase:filename}
  raw curl_executable_location ${curl:location}/bin/curl
  raw caucase_bin ${buildout:directory}/bin/caucase
  raw certificate_request_bin ${buildout:directory}/bin/caucase-cliweb
  raw template_nginx_ca_conf ${template-nginx-ca-conf:location}/${template-nginx-ca-conf:filename}
  raw dash_executable_location ${dash:location}/bin/dash
  raw slapos_kill_bin ${buildout:directory}/bin/slapos-kill
  raw gunicorn_bin ${buildout:directory}/bin/gunicorn
  raw openssl_executable_location ${openssl:location}/bin/openssl
  raw python_bin ${buildout:directory}/bin/${extra-eggs:interpreter}


[versions]
Flask-User = 0.6.11
SQLAlchemy = 1.1.9
caucase = 0.1.3
futures = 3.1.1
gunicorn = 19.7.1
slapos.recipe.template = 3.0

APacheDEX = 1.6.2
bcrypt = 3.1.3

# Required by:
# caucase==0.1.3
Flask-AlchemyDumps = 0.0.10

# Required by:
# Flask-User==0.6.11
Flask-Login = 0.4.0

# Required by:
# Flask-User==0.6.11
Flask-Mail = 0.9.1

# Required by:
# Flask-AlchemyDumps==0.0.10
# Flask-User==0.6.11
Flask-SQLAlchemy = 2.2

# Required by:
# Flask-AlchemyDumps==0.0.10
Flask-Script = 2.0.5

# Required by:
# Flask-User==0.6.11
Flask-WTF = 0.14.2

# Required by:
# Flask-AlchemyDumps==0.0.10
Unipath = 1.1

# Required by:
# Flask-WTF==0.14.2
WTForms = 2.1

# Required by:
# Flask-Mail==0.9.1
blinker = 1.4

# Required by:
# caucase==0.1.3
pem = 16.1.0

# Required by:
# Flask-User==0.6.11
pycryptodome = 3.4.6