instance-zope.cfg 8.08 KB
Newer Older
1 2
[buildout]
parts =
Łukasz Nowak's avatar
Łukasz Nowak committed
3 4
  certificate-authority
  publish-apache-zope-backend-connection-string
5
  zope-instance
Łukasz Nowak's avatar
Łukasz Nowak committed
6 7
  apache-zope-backend-instance
  ca-apache-zope-backend
8
  logrotate
9
  erp5-certificate-authority
10 11 12
  logrotate-entry-zope
  cron
  cron-entry-logrotate
13
  binary-link
14 15 16 17 18

eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true

Łukasz Nowak's avatar
Łukasz Nowak committed
19 20 21 22
[slap-parameter]
# By default backend disallows the access
access-control-string = none

Łukasz Nowak's avatar
Łukasz Nowak committed
23
[publish-apache-zope-backend-connection-string]
24
recipe = slapos.cookbook:publishurl
Łukasz Nowak's avatar
Łukasz Nowak committed
25
url = https://$${zope-instance:user}:$${zope-instance:password}@[$${apache-zope-backend-instance:ip}]:$${apache-zope-backend-instance:port}
26
deadlock-url = $${:url}/$${zope-instance:deadlock-path}?$${zope-instance:deadlock-password}
27

Łukasz Nowak's avatar
Łukasz Nowak committed
28 29 30 31 32 33 34 35 36
[apache-zope-backend-instance]
recipe = slapos.cookbook:apache.zope.backend
backend = http://$${zope-instance:ip}:$${zope-instance:port}/
ip = $${slap-network-information:global-ipv6}
port = 16001
wrapper = $${rootdirectory:bin}/apache
key-file = $${directory:apache-conf}/apache.key
cert-file = $${directory:apache-conf}/apache.crt
configuration-file = $${directory:apache-conf}/apache.conf
37
access-control-string = $${slap-parameter:access-control-string}
Łukasz Nowak's avatar
Łukasz Nowak committed
38 39 40 41 42 43 44 45 46 47 48 49 50 51
pid-file = $${basedirectory:run}/apache.pid
lock-file = $${basedirectory:run}/apache.lock
error-log = $${basedirectory:log}/apache-error.log
access-log = $${basedirectory:log}/apache-access.log
apache-binary = ${apache:location}/bin/httpd

[ca-apache-zope-backend]
<= certificate-authority
recipe = slapos.cookbook:certificate_authority.request
key-file = $${apache-zope-backend-instance:key-file}
cert-file = $${apache-zope-backend-instance:cert-file}
executable = $${apache-zope-backend-instance:wrapper}
wrapper = $${basedirectory:services}/apache

52
[zope-instance]
53 54
recipe = slapos.cookbook:generic.zope

Łukasz Nowak's avatar
Łukasz Nowak committed
55 56 57 58 59
# XXX: products won't be needed as soon as all ERP5 (and products-deps)
# products will be eggified so then it will be possible to use them thanks to
# availability in software's eggs
products = ${products:list}

60 61 62 63 64 65 66 67 68 69
# Options
user = zope
port = 12001
ip = $${slap-network-information:local-ipv4}
zodb-cache-size = 5000
thread-amount = 4
zodb-path = $${directory:zodb}/main.cfg
deadlock-path = /manage_debug_threads

# Paths
Łukasz Nowak's avatar
Łukasz Nowak committed
70
wrapper = $${basedirectory:services}/zope-development
71 72
instance-path = $${directory:instance}
instance-etc = $${directory:instance-etc}
73
instance-products = $${directory:instance-products}
Łukasz Nowak's avatar
Łukasz Nowak committed
74
bt5-repository = $${rootdirectory:var}/bt5_repository
75 76 77 78 79
tmp-path = $${rootdirectory:tmp}
bin-path = $${rootdirectory:bin}
site-zcml = $${:instance-etc}/site.zcml
logrotate-post = $${rootdirectory:bin}/zope-post-logrotate
pid-file = $${basedirectory:run}/zope.pid
Łukasz Nowak's avatar
Łukasz Nowak committed
80
lock-file = $${basedirectory:run}/zope.lock
81 82
event-log = $${basedirectory:log}/zope-event.log
z2-log = $${basedirectory:log}/zope-Z2.log
Łukasz Nowak's avatar
Łukasz Nowak committed
83
configuration-file = $${rootdirectory:etc}/zope.conf
Łukasz Nowak's avatar
Łukasz Nowak committed
84
inituser = $${:instance-path}/inituser
85 86 87
# Binary information
runzope-binary = ${buildout:bin-directory}/runzope

Łukasz Nowak's avatar
Łukasz Nowak committed
88 89 90
# Defaults
bt5-repository-list =

91 92 93 94
[logrotate]
recipe = slapos.cookbook:logrotate
# Binaries
logrotate-binary = ${logrotate:location}/usr/sbin/logrotate
95
gzip-binary = ${gzip:location}/bin/gzip
96 97 98 99 100 101 102 103 104 105 106 107
gunzip-binary = ${gzip:location}/bin/gunzip
# Directories
wrapper = $${rootdirectory:bin}/logrotate
conf = $${rootdirectory:etc}/logrotate.conf
logrotate-entries = $${directory:logrotate-entries}
backup = $${directory:logrotate-backup}
state-file = $${rootdirectory:srv}/logrotate.status

[logrotate-entry-zope]
<= logrotate
recipe = slapos.cookbook:logrotate.d
name = zope
108
log = $${zope-instance:event-log} $${zope-instance:z2-log}
109 110
frequency = daily
rotate-num = 30
111
post = ${buildout:bin-directory}/killpidfromfile $${zope-instance:pid-file} SIGUSR2
112 113 114 115
sharedscripts = true
notifempty = true
create = true

Łukasz Nowak's avatar
Łukasz Nowak committed
116 117 118 119 120 121 122 123 124 125 126 127
[logrotate-entry-apache-zope-backend]
<= logrotate
recipe = slapos.cookbook:logrotate.d
name = zope
log = $${apache-zope-backend-instance:error-log} $${apache-zope-backend-instance:access-log}
frequency = daily
rotate-num = 30
post = ${buildout:bin-directory}/killpidfromfile $${apache-zope-backend-instance:pid-file} SIGUSR1
sharedscripts = true
notifempty = true
create = true

128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
[cron]
recipe = slapos.cookbook:cron
dcrond-binary = ${dcron:location}/sbin/crond
cron-entries = $${directory:cron-entries}
crontabs = $${directory:crontabs}
cronstamps = $${directory:cronstamps}
catcher = $${cron-simplelogger:binary}
binary = $${basedirectory:services}/crond

[cron-simplelogger]
recipe = slapos.cookbook:simplelogger
binary = $${rootdirectory:bin}/cron_simplelogger
output = $${directory:cronoutput}

[cron-entry-logrotate]
<= cron
recipe = slapos.cookbook:cron.d
name = logrotate
frequency = 0 0 * * *
command = $${logrotate:wrapper}

149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
[binary-link]
recipe = slapos.cookbook:symbolic.link
target-directory = $${rootdirectory:bin}
link-binary = 
  ${coreutils:location}/bin/basename
  ${coreutils:location}/bin/cat
  ${coreutils:location}/bin/cp
  ${coreutils:location}/bin/ls
  ${coreutils:location}/bin/tr
  ${coreutils:location}/bin/uname
  ${git:location}/bin/git
  ${graphviz:location}/bin/dot
  ${grep:location}/bin/grep
  ${imagemagick:location}/bin/convert
  ${imagemagick:location}/bin/identify
  ${mariadb:location}/bin/mysql
  ${mariadb:location}/bin/mysqldump
  ${pdftk:location}/bin/pdftk
  ${sed:location}/bin/sed
  ${tesseract:location}/bin/tesseract
  ${w3m:location}/bin/w3m
  ${poppler:location}/bin/pdfinfo
  ${poppler:location}/bin/pdftotext
  ${poppler:location}/bin/pdftohtml
Łukasz Nowak's avatar
Łukasz Nowak committed
173 174 175 176 177 178 179 180 181 182 183 184 185
[certificate-authority]
recipe = slapos.cookbook:certificate_authority
openssl-binary = ${openssl:location}/bin/openssl
ca-dir = $${directory:ca-dir}
requests-directory = $${cadirectory:requests}
wrapper = $${basedirectory:services}/ca
ca-private = $${cadirectory:private}
ca-certs = $${cadirectory:certs}
ca-newcerts = $${cadirectory:newcerts}
ca-crl = $${cadirectory:crl}

[cadirectory]
recipe = slapos.cookbook:mkdirectory
Romain Courteaud's avatar
Romain Courteaud committed
186 187 188 189 190
requests = $${directory:ca-dir}/requests
private = $${directory:ca-dir}/private
certs = $${directory:ca-dir}/certs
newcerts = $${directory:ca-dir}/newcerts
crl = $${directory:ca-dir}/crl
Łukasz Nowak's avatar
Łukasz Nowak committed
191

192 193
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
Romain Courteaud's avatar
Romain Courteaud committed
194 195 196 197 198
etc = $${buildout:directory}/etc
var = $${buildout:directory}/var
srv = $${buildout:directory}/srv
bin = $${buildout:directory}/bin
tmp = $${buildout:directory}/tmp
199 200 201

[basedirectory]
recipe = slapos.cookbook:mkdirectory
Romain Courteaud's avatar
Romain Courteaud committed
202 203 204 205
log = $${rootdirectory:var}/log
services = $${rootdirectory:etc}/run
run = $${rootdirectory:var}/run
backup = $${rootdirectory:srv}/backup
206

207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225
[erp5-certificate-authority]
recipe = slapos.cookbook:certificate_authority
openssl-binary = ${openssl:location}/bin/openssl
ca-dir = $${directory:erp5-ca-dir}
requests-directory = $${erp5-cadirectory:requests}
wrapper = $${basedirectory:services}/erp5-ca
ca-private = $${erp5-cadirectory:private}
ca-certs = $${erp5-cadirectory:certs}
ca-newcerts = $${erp5-cadirectory:newcerts}
ca-crl = $${erp5-cadirectory:crl}

[erp5-cadirectory]
recipe = slapos.cookbook:mkdirectory
requests = $${directory:erp5-ca-dir}/requests/
private = $${directory:erp5-ca-dir}/private/
certs = $${directory:erp5-ca-dir}/certs/
newcerts = $${directory:erp5-ca-dir}/newcerts/
crl = $${directory:erp5-ca-dir}/crl/

226 227
[directory]
recipe = slapos.cookbook:mkdirectory
Romain Courteaud's avatar
Romain Courteaud committed
228 229
zodb = $${rootdirectory:srv}/zodb
instance = $${rootdirectory:srv}/erp5shared
230
instance-etc = $${:instance}/etc
Łukasz Nowak's avatar
Łukasz Nowak committed
231
apache-conf = $${rootdirectory:etc}/apache
232
instance-etc-package-include = $${:instance}/etc/package-include
233 234 235 236 237 238
# because of bug in slapos.recipe.template keys are lowercased
instance-document = $${:instance}/Document
instance-propertysheet = $${:instance}/PropertySheet
instance-products = $${:instance}/Products
instance-extensions = $${:instance}/Extensions
instance-constraint = $${:instance}/Constraint
239 240 241
instance-import = $${:instance}/import
instance-lib = $${:instance}/lib
instance-tests = $${:instance}/tests
242
erp5-ca-dir = $${rootdirectory:srv}/erp5-ca/
Romain Courteaud's avatar
Romain Courteaud committed
243 244 245 246 247 248 249
ca-dir = $${rootdirectory:srv}/ssl
cron-entries = $${rootdirectory:etc}/cron.d
crontabs = $${rootdirectory:etc}/crontabs
cronstamps = $${rootdirectory:etc}/cronstamps
cronoutput = $${basedirectory:log}/cron
logrotate-backup = $${basedirectory:backup}/logrotate
logrotate-entries = $${rootdirectory:etc}/logrotate.d