Commit 29c3d02d authored by Nicolas Wavrant's avatar Nicolas Wavrant

slaprunner: jinja part added if a separate frontend is needed

parent 64c48388
......@@ -33,6 +33,84 @@ eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true
{% if slapparameter_dict.get('custom-frontend-backend-url') -%}
# Requests, if defined, a frontend to allow access to a server
# located inside of the virtual machine listening to port X
# to LAN IPv4.
# Internaly, the frontend will be asked to listen on the IPv6
# with port X + 10000, to match NAT rules of Qemu.
[request-custom-frontend]
recipe = slapos.cookbook:request
software-url = {{ slapparameter_dict.get('custom-frontend-software-url', 'http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg') }}
software-type = {{ slapparameter_dict.get('custom-frontend-software-type', 'RootSoftwareInstance') }}
slave = true
name = Custom Web Frontend
server-url = ${slap-connection:server-url}
key-file = ${slap-connection:key-file}
cert-file = ${slap-connection:cert-file}
computer-id = ${slap-connection:computer-id}
partition-id = ${slap-connection:partition-id}
{% if slapparameter_dict.get('custom-frontend-instance-guid') -%}
sla = instance_guid
sla-instance_guid = ${slap-parameter:frontend-instance-guid}
{% endif -%}
config = url type custom-domain
# XXX: allow http/https configuration
config-url = {{ slapparameter_dict.get('custom-frontend-backend-url') }}
config-custom-domain = {% if slapparameter_dict.get('custom-frontend-domain') -%} {{ slapparameter_dict.get('custom-frontend-domain') }} {% endif %}
config-type = {% if slapparameter_dict.get('custom-frontend-type') -%} {{ slapparameter_dict.get('custom-frontend-type') }} {% endif %}
config-path = {% if slapparameter_dict.get('custom-frontend-path') -%} {{ slapparameter_dict.get('custom-frontend-path') }} {% endif %}
return = frontend_ipv4_address site_url
[custom-frontend-promise]
recipe = slapos.cookbook:check_url_available
path = ${directory:promises}/custom_frontend_promise
url = ${request-custom-frontend:connection-site_url}
dash_path = {{ dash_executable_location }}
curl_path = {{ curl_executable_location }}
[publish-connection-informations]
custom-frontend-url = ${request-custom-frontend:connection-site_url}
custom-frontend-ipv4 = ${request-custom-frontend:connection-frontend_ipv4_address}
[buildout]
# XXX: hardcoded and duplicated list of parts.
parts =
nginx_conf
nginx-launcher
cloud9
certificate-authority
ca-nginx
ca-node-frontend
ca-shellinabox
gunicorn-launcher
gunicorn-graceful
test-runner
sshkeys-dropbear-runner
dropbear-server-add-authorized-key
sshkeys-authority
publish-connection-informations
slaprunner-promise
slaprunner-frontend-promise
cloud9-promise
cloud9-frontend-promise
dropbear-promise
shellinabox-promise
symlinks
request-cloud9-frontend
node-frontend-promise
nginx-promise
shellinabox
slapos-cfg
slapos-repo-config
prepare-software
certificate-authority
custom-frontend-promise
{% endif -%}
# Create all needed directories
[directory]
recipe = slapos.cookbook:mkdirectory
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment