[buildout] parts = symlinks publish postgres-instance postgres-promise # Define egg directories to be the one from Software Release # (/opt/slapgrid/...) eggs-directory = ${buildout:eggs-directory} develop-eggs-directory = ${buildout:develop-eggs-directory} offline = true [instance-parameters] # Fetches parameters defined in SlapOS Master for this instance 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} [rootdirectory] recipe = slapos.cookbook:mkdirectory bin = $${buildout:directory}/bin etc = $${buildout:directory}/etc services = $${rootdirectory:etc}/run/ promises = $${rootdirectory:etc}/promise/ var = $${buildout:directory}/var [symlinks] recipe = cns.recipe.symlink symlink_target = $${rootdirectory:bin} symlink_base = ${postgresql:location}/bin [postgres-instance] # create cluster, configuration files and a database recipe = slapos.cookbook:postgres # Options ipv6_host = $${slap-network-information:global-ipv6} user = postgres port = 5432 dbname = db # pgdata_directory is created by initdb, and should not exist beforehand. pgdata-directory = $${rootdirectory:var}/data services = $${rootdirectory:services} bin = $${rootdirectory:bin} # Deploy promises scripts [postgres-promise] recipe = slapos.cookbook:check_port_listening path = $${rootdirectory:promises}/postgres hostname = $${slap-network-information:global-ipv6} port = $${postgres-instance:port} [publish] recipe = slapos.cookbook:publishurl url = $${postgres-instance:url}