8 # Define egg directories to be the one from Software Release
10 eggs-directory = ${buildout:eggs-directory}
11 develop-eggs-directory = ${buildout:develop-eggs-directory}
16 recipe = slapos.cookbook:mkdirectory
17 bin = $${buildout:directory}/bin
18 etc = $${buildout:directory}/etc
19 srv = $${buildout:directory}/srv
20 services = $${directories:etc}/service
21 promises = $${directories:etc}/promise
22 var = $${buildout:directory}/var
27 #-- Creates a Postgres cluster, configuration files, and a database.
30 recipe = slapos.cookbook:postgres
33 ipv6 = $${instance-parameters:ipv6}
34 # listen to connections from anywhere
36 ipv4 = $${instance-parameters:ipv4}
37 # listen to connections from anywhere
39 ipv6-random = $${instance-parameters:ipv6-random}
41 password = $${gen-passwd:passwd}
44 # pgdata_directory is created by initdb, and should not exist beforehand.
45 pgdata-directory = $${directories:var}/data
46 bin = ${postgresql:location}/bin
47 services = $${directories:services}
52 #-- Generates a random password and stores it in the filesystem
55 recipe = slapos.cookbook:generate.password
56 storage-path = $${directories:srv}/postgres_passwd
62 #-- Deploy promise scripts.
65 recipe = slapos.cookbook:check_port_listening
66 path = $${directories:promises}/postgres
67 hostname = $${instance-parameters:ipv6-random}
68 port = $${postgres-instance:port}
73 #-- Publish instance parameters.
76 recipe = slapos.cookbook:publish
77 url = $${postgres-instance:url}
82 #-- Fetches parameters defined in SlapOS Master for this instance
85 recipe = slapos.cookbook:slapconfiguration
86 computer = $${slap-connection:computer-id}
87 partition = $${slap-connection:partition-id}
88 url = $${slap-connection:server-url}
89 key = $${slap-connection:key-file}
90 cert = $${slap-connection:cert-file}