Merge branch 'erp5'
[slapos.git] / software / neoppod / software.cfg
1 # Note on COOKBOOK/END COOKBOOK: the areas delimited by those tags should be
2 # dropped when a cookbook version containing neoppod recipe is released as an
3 # egg on pypi.
4 # Note on LXML/END LXML: they delimit areas where lxml magic is needed. lxml is
5 # a slapos.cookbook dependency, so it should be fetched automatically. But when
6 # automatically fetched, it gets built against system headers/libs, which is
7 # forbidden in slapos. So we need to fetch lxml explicitly so it is properly
8 # built.
9
10 [buildout]
11 extends =
12     ../../stack/slapos.cfg
13 #COOKBOOK
14     ../../component/git/buildout.cfg
15 #END COOKBOOK
16 #LXML
17     ../../component/lxml-python/buildout.cfg
18 #END LXML
19     ../../component/python-2.7/buildout.cfg
20     ../../component/mariadb/buildout.cfg
21     ../../component/mysql-python/buildout.cfg
22
23 develop =
24 #COOKBOOK
25 # Note: as we develop a path we fetch, first buildout execution will fail as
26 # develop couldn't find the clone. Second (and later) runs will succeed.
27     ${:parts-directory}/slapos.cookbook-repository
28 #END COOKBOOK
29
30 parts =
31 #COOKBOOK
32     slapos.cookbook-repository
33     check-recipe
34 #END COOKBOOK
35     slapos-deps-eggs
36 # NEO & dependencies
37     python2.7
38     mariadb
39     mysql-python
40     neoppod
41 # NEO instanciation
42     template-instance
43
44 [slapos-deps-eggs]
45 recipe = zc.recipe.egg
46 eggs =
47 #LXML
48     ${lxml-python:egg}
49 #END LXML
50 #COOKBOOK
51     slapos.cookbook
52 #END COOKBOOK
53
54 #LXML
55 [lxml-python]
56 python = python2.7
57 #END LXML
58
59 #COOKBOOK
60 [slapos.cookbook-repository]
61 recipe = slapos.recipe.build:gitclone
62 repository = http://git.erp5.org/repos/slapos.git
63 branch = neoppod
64 git-executable = ${git:location}/bin/git
65
66 [check-recipe]
67 recipe = plone.recipe.command
68 stop-on-error = true
69 update-command = ${:command}
70 command = test -e ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
71 #END COOKBOOK
72
73 [base-template]
74 recipe = slapos.recipe.template:jinja2
75 template = ${:_profile_base_location_}/${:filename}.in
76 rendered = ${buildout:directory}/${:filename}
77 extensions = jinja2.ext.do
78 extra-context =
79 context =
80     key eggs_directory buildout:eggs-directory
81     key develop_eggs_directory buildout:develop-eggs-directory
82     key bin_directory buildout:bin-directory
83     ${:extra-context}
84
85 [template-neo-master]
86 < = base-template
87 filename = instance-neo-master.cfg
88 md5sum = b48e9446fb8fdce24d954d7d4f4c7460
89
90 [template-neo-storage-mysql]
91 < = base-template
92 filename = instance-neo-storage-mysql.cfg
93 md5sum = e767c66e7de58232de30bdf26188efe1
94 extra-context =
95     key mariadb_location mariadb:location
96     key master_cfg template-neo-master:rendered
97
98 [template-neo-admin]
99 < = base-template
100 filename = instance-neo-admin.cfg
101 md5sum = fcf1a5c937a609a934c8ccd7c1326726
102
103 [template-cluster]
104 recipe = slapos.recipe.build:download
105 url = ${:_profile_base_location_}/cluster.cfg.in
106 md5sum = fe37b2ff36fee65b44945393f63e51c3
107
108 [template-instance]
109 < = base-template
110 template = ${:_profile_base_location_}/instance.cfg.in
111 # XXX: "template.cfg" is hardcoded in instanciation recipe
112 filename = template.cfg
113 md5sum = 17e761b371487b55b39da1c39ebb1bb6
114 extra-context =
115     key neo_master template-neo-master:rendered
116     key neo_storage_mysql template-neo-storage-mysql:rendered
117     key neo_admin template-neo-admin:rendered
118     key cluster template-cluster:target
119
120 [neoppod]
121 recipe = zc.recipe.egg
122 eggs = neoppod[admin, master, storage-mysqldb]