Commit 0252a737 authored by Thomas Leymonerie's avatar Thomas Leymonerie

Generic instance macro

See merge request nexedi/slapos!1177
parents b1615a7d 844169f2
...@@ -4,11 +4,12 @@ extends = ...@@ -4,11 +4,12 @@ extends =
[virtual-env-base] [virtual-env-base]
recipe = slapos.recipe.build recipe = slapos.recipe.build
_name = ${:_buildout_section_name_} name = ${:_buildout_section_name_}
default-instance = true
init = init =
from zc.buildout.easy_install import working_set from zc.buildout.easy_install import working_set
import os import os
name = options['_name'] name = options['name']
eggs = options['eggs'] eggs = options['eggs']
try: try:
scripts = "scripts = " + options['scripts'] scripts = "scripts = " + options['scripts']
...@@ -25,6 +26,26 @@ init = ...@@ -25,6 +26,26 @@ init =
<= python-interpreter <= python-interpreter
eggs += %(eggs)s eggs += %(eggs)s
""" % locals()) """ % locals())
if is_true(options.get('default-instance')):
cookbook = "{slapos-cookbook:recipe}"
self.buildout.parse("""
[.%(name)s.instance]
recipe = slapos.recipe.template
output = ${buildout:directory}/instance.cfg
depends = $%(cookbook)s
inline =
[buildout]
parts = publish
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
[publish]
recipe = slapos.cookbook:publish
activate-script = %(location)s
""" % locals())
install = install =
with open(location, "w") as f: with open(location, "w") as f:
f.write(options['template'] % { f.write(options['template'] % {
......
[buildout] [buildout]
extends = extends =
../../stack/slapos.cfg ../../stack/slapos.cfg
../../component/macros/virtual-env.cfg ../../component/macros/virtual-env.cfg
parts = parts =
instance django-env
slapos-cookbook
[python]
part = python3
[django-env] [django-env]
<= virtual-env-base <= virtual-env-base
location = ${buildout:directory}/activate location = ${buildout:directory}/activate
eggs = Django eggs = Django
[instance] [python]
recipe = slapos.recipe.template part = python3
output = ${buildout:directory}/instance.cfg
inline =
[buildout]
parts = publish
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
[publish]
recipe = slapos.cookbook:publish
activate-script = ${django-env:location}
[versions] [versions]
Django = 3.2.12 Django = 3.2.12
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment