instance-default.cfg 6.11 KB
Newer Older
1 2
[buildout]

3

4 5 6 7
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true

8 9
extends = ${monitor2-template:rendered}

10 11 12 13 14 15
parts =
  testnode
  shell
  shellinabox
  certificate-authority
  ca-shellinabox
16
  ca-httpd-testnode
17 18
  monitor-base
  monitor-publish
19 20
  testnode-frontend
  testnode-frontend-promise
21 22
  
[monitor-publish]
23 24
recipe = slapos.cookbook:publish
url = http://[$${shellinabox:ipv6}]:$${shellinabox:port}/
25
password = $${pwgen:passwd}
Ivan Tyagov's avatar
Ivan Tyagov committed
26
frontend-url = $${testnode-frontend:connection-secure_access}
27 28

[pwgen]
29 30
recipe = slapos.cookbook:generate.password
storage-path = $${buildout:directory}/.password
31 32 33 34 35 36

[testnode]
recipe = slapos.cookbook:erp5testnode
slapos-directory = $${directory:slapos}
working-directory = $${directory:testnode}
test-suite-directory = $${directory:test-suite}
37
proxy-host = $${slap-network-information:local-ipv4}
38 39
proxy-port = 5000
log-directory = $${directory:log}
40 41
srv-directory = $${rootdirectory:srv}
software-directory = $${directory:software}
42 43 44 45 46 47 48
run-directory = $${directory:run}
test-node-title = $${slap-parameter:test-node-title}
node-quantity = $${slap-parameter:node-quantity}
ipv4-address = $${slap-network-information:local-ipv4}
ipv6-address = $${slap-network-information:global-ipv6}
test-suite-master-url = $${slap-parameter:test-suite-master-url}
instance-dict = $${slap-parameter:instance-dict}
49
software-path-list = $${slap-parameter:software-path-list}
50
git-binary = ${git:location}/bin/git
51
slapos-binary = ${buildout:bin-directory}/slapos
52 53
testnode = ${buildout:bin-directory}/testnode
zip-binary = ${zip:location}/bin/zip
54 55 56
httpd-pid-file = $${basedirectory:run}/httpd.pid
httpd-lock-file = $${basedirectory:run}/httpd.lock
httpd-conf-file = $${rootdirectory:etc}/httpd.conf
57
httpd-wrapper = $${rootdirectory:bin}/httpd
58
httpd-port = 9080
59
httpd-software-access-port = 9081
60
httpd-ip = $${slap-network-information:global-ipv6}
61
httpd-log-directory = $${basedirectory:log}
62
httpd-software-directory = $${directory:software}
63 64
httpd-cert-file = $${rootdirectory:etc}/httpd-public.crt
httpd-key-file = $${rootdirectory:etc}/httpd-private.key
65 66 67 68 69

configuration-file = $${rootdirectory:etc}/erp5testnode.cfg
log-file = $${basedirectory:log}/erp5testnode.log
wrapper = $${basedirectory:services}/erp5testnode

70 71
# Binaries
apache-binary = ${apache:location}/bin/httpd
72
apache-modules-dir = ${apache:location}/modules
73 74 75
apache-mime-file = ${apache:location}/conf/mime.types
apache-htpasswd = ${apache:location}/bin/htpasswd

76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
[shell]
recipe = slapos.cookbook:shell
wrapper = $${rootdirectory:bin}/sh
shell = ${busybox:location}/bin/sh
home = $${buildout:directory}
ps1 = "\\w> "
path =
    ${busybox:location}/bin/
    ${busybox:location}/usr/bin/
    ${git:location}/bin/
    ${python2.7:location}/bin/
    ${buildout:bin-directory}/
    ${busybox:location}/sbin/
    ${busybox:location}/usr/sbin/

[shellinabox]
recipe = slapos.cookbook:shellinabox
ipv6 = $${slap-network-information:global-ipv6}
port = 8080
shell = $${shell:wrapper}
wrapper = $${rootdirectory:bin}/shellinaboxd
shellinabox-binary = ${shellinabox:location}/bin/shellinaboxd
98
password = $${pwgen:passwd}
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
directory = $${buildout:directory}/
login-shell = $${rootdirectory:bin}/login
certificate-directory = $${directory:shellinabox}
cert-file = $${directory:shellinabox}/public.crt
key-file = $${directory:shellinabox}/private.key

[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
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/

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

132
[ca-httpd-testnode]
133 134 135 136 137 138 139
<= certificate-authority
recipe = slapos.cookbook:certificate_authority.request
executable = $${testnode:httpd-wrapper}
wrapper = $${basedirectory:services}/httpd
key-file = $${testnode:httpd-key-file}
cert-file = $${testnode:httpd-cert-file}

140 141
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
142 143 144 145 146
etc = $${buildout:directory}/etc
var = $${buildout:directory}/var
srv = $${buildout:directory}/srv
bin = $${buildout:directory}/bin
tmp = $${buildout:directory}/tmp
147 148 149

[basedirectory]
recipe = slapos.cookbook:mkdirectory
150
log = $${rootdirectory:var}/log
151
services = $${rootdirectory:etc}/service
152 153
run = $${rootdirectory:var}/run
promises = $${rootdirectory:etc}/promise
154 155 156

[directory]
recipe = slapos.cookbook:mkdirectory
157 158 159 160 161
slapos = $${rootdirectory:srv}/slapos
testnode = $${rootdirectory:srv}/testnode
test-suite = $${rootdirectory:srv}/test_suite
log = $${basedirectory:log}/testnode
run = $${basedirectory:run}/testnode
162
software = $${rootdirectory:srv}/software
163 164
shellinabox = $${rootdirectory:srv}/shellinabox
ca-dir = $${rootdirectory:srv}/ca
165

166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
[testnode-frontend]
<= slap-connection
recipe = slapos.cookbook:requestoptional
name = Test Node Frontend $${testnode:test-node-title}
# XXX We have hardcoded SR URL here.
software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
slave = true
config-url = https://[$${testnode:httpd-ip}]:$${testnode:httpd-software-access-port}
config-https-only = true
#software-type = custom-personal
return = domain secure_access

[testnode-frontend-promise]
recipe = slapos.cookbook:check_url_available
path = $${basedirectory:promises}/testnode-http-frontend
url = $${testnode-frontend:connection-secure_access}
182 183
dash_path = $${monitor-frontend-promise:dash_path}
curl_path = $${monitor-frontend-promise:curl_path}
184 185
check-secure = 1

186 187 188 189
[slap-parameter]
node-quantity = 1
test-suite-master-url =
instance-dict =
190
software-path-list = ["https://lab.nexedi.com/nexedi/slapos/raw/master/software/seleniumrunner/software.cfg"]