instance.cfg.in 2.58 KB
Newer Older
1 2 3
[buildout]
parts =
  publish-connection-parameter
4
  stat-password
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

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


[publish-connection-parameter]
recipe = slapos.cookbook:publish
url = https://[$${galene-wrapper:ip}]:$${galene-wrapper:port}
admin-user = $${admin-password:username}
admin-password = $${admin-password:passwd}

[slap-configuration]
recipe = slapos.cookbook:slapconfiguration
computer = $${slap-connection:computer-id}
partition = $${slap-connection:partition-id}
url = $${slap-connection:server-url}
key = $${slap-connection:key-file}
cert = $${slap-connection:cert-file}
24
configuration.ice-servers.json = [{"urls":["stun:turn-paris-rapidspace.api.nexedi.net:443"]}]
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

[directory]
recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc
var = $${buildout:directory}/var
srv = $${buildout:directory}/srv
bin = $${buildout:directory}/bin
tmp = $${buildout:directory}/tmp
run = $${:var}/run

services   = $${:etc}/service
data       = $${:srv}/data
groups     = $${:srv}/groups
recordings = $${:srv}/recordings

40 41 42 43 44 45 46 47
[galene-ssl]
recipe = plone.recipe.command
cert-file = $${directory:data}/cert.pem
key-file = $${directory:data}/key.pem
command = ${openssl:location}/bin/openssl req -newkey rsa:2048 -batch -new -x509  -days 3650 -nodes -keyout "$${:key-file}" -out "$${:cert-file}"
update-command =
stop-on-error = true

48 49 50 51 52
[admin-password]
recipe = slapos.cookbook:generate.password
storage-path = $${directory:data}/.passwd
username = admin

53
[stat-password]
54 55
recipe = slapos.recipe.template
inline =
56
  $${admin-password:username}:$${admin-password:passwd}
57
output = $${directory:data}/passwd
58

59
[ice-servers.json]
60 61
recipe = slapos.recipe.template
inline =
62
  $${slap-configuration:configuration.ice-servers.json}
63
output = $${directory:data}/ice-servers.json
64 65

[groups-json]
66 67 68
recipe = slapos.recipe.template
inline =
  {
69 70 71
    "public":true,
    "op": [{"username":"$${admin-password:username}","password":"$${admin-password:passwd}"}],
    "other": [],
72
    "presenter": [{"username": "", "password": "nexedi"}]
73
  }
74
output = $${directory:groups}/public.json
75 76

[galene-wrapper]
77
recipe = slapos.recipe.template
78 79
port = 8443
ip = $${slap-configuration:ipv6-random}
80 81 82
inline =
  #!/bin/sh

83
  ulimit -n $(ulimit -Hn)
Thomas Gambier's avatar
Thomas Gambier committed
84 85
  exec ${gowork:bin}/galene \
    -static ${galene:location}/static \
86 87 88 89
    -recordings $${directory:recordings} \
    -groups $${directory:groups} \
    -data $${directory:data} \
    -http [$${:ip}]:$${:port} \
Thomas Gambier's avatar
Thomas Gambier committed
90
    -turn ""
91
output = $${directory:services}/galene
92 93 94
depends =
  $${ice-servers.json:recipe}
  $${groups-json:recipe}
95
  $${galene-ssl:recipe}
96