{% set bin_directory = parameter_dict['buildout-bin-directory'] -%} {% set use_ipv6 = slapparameter_dict.get('use-ipv6', False) -%} [buildout] parts = publish-cloudooo-connection-information cloudooo-instance resiliency-exclude-file promise promise-openoffice {% if use_ipv6 %}promise-tunnel{% endif %} [publish-cloudooo-connection-information] recipe = slapos.cookbook:publish.serialised {% if use_ipv6 -%} url = cloudooo://[${ipv6toipv4:ipv6}]:${ipv6toipv4:ipv6-port}/ {% else -%} url = cloudooo://${cloudooo-instance:ip}:${cloudooo-instance:port}/ {% endif -%} [cloudooo-instance] recipe = slapos.cookbook:generic.cloudooo # Network options ip = {{ (ipv4_set | list)[0] }} {% set tcpv4_port = slapparameter_dict['tcpv4-port'] -%} port = {{ tcpv4_port }} openoffice-port = {{ tcpv4_port + 1 }} # Paths configuration-file = ${directory:etc}/cloudooo.cfg wrapper = ${directory:service}/cloudooo # Paths: Data data-directory = ${directory:cloudooo-data} environment = LD_LIBRARY_PATH = {{ parameter_dict['cairo'] }}/lib:{{ parameter_dict['cups'] }}/lib:{{ parameter_dict['cups'] }}/lib64:{{ parameter_dict['dbus'] }}/lib:{{ parameter_dict['dbus-glib'] }}/lib:{{ parameter_dict['file'] }}/lib:{{ parameter_dict['fontconfig'] }}/lib:{{ parameter_dict['freetype'] }}/lib:{{ parameter_dict['glib'] }}/lib:{{ parameter_dict['glu'] }}/lib:{{ parameter_dict['libICE'] }}/lib:{{ parameter_dict['libSM'] }}/lib:{{ parameter_dict['libX11'] }}/lib:{{ parameter_dict['libXau'] }}/lib:{{ parameter_dict['libXdmcp'] }}/lib:{{ parameter_dict['libXext'] }}/lib:{{ parameter_dict['libXrender'] }}/lib:{{ parameter_dict['libexpat'] }}/lib:{{ parameter_dict['libffi'] }}/lib:{{ parameter_dict['libffi'] }}/lib64:{{ parameter_dict['libpng12'] }}/lib:{{ parameter_dict['libxcb'] }}/lib:{{ parameter_dict['mesa'] }}/lib:{{ parameter_dict['pixman'] }}/lib:{{ parameter_dict['xdamage'] }}/lib:{{ parameter_dict['xfixes'] }}/lib:{{ parameter_dict['zlib'] }}/lib FONTCONFIG_FILE = ${fontconfig-instance:conf-path} # Binary information # cloudooo specific configuration ooo-binary-path = {{ parameter_dict['libreoffice-bin'] }}/program ooo-paster = {{ bin_directory }}/cloudooo_paster ooo-uno-path = {{ parameter_dict['libreoffice-bin'] }}/basis-link/program [fontconfig-instance] recipe = slapos.cookbook:fontconfig conf-path = ${directory:etc}/font.conf font-system-folder = {{ parameter_dict['fonts'] }} font-folder = ${directory:font} {# XXX: violates "instanciation happens offline" rule -#} url-list = {{ dumps(slapparameter_dict.get('font-url-list', []) | join(' ')) }} service-folder = ${directory:service} onetimedownload_path = {{ bin_directory }}/onetimedownload [resiliency-exclude-file] # Generate rdiff exclude file in case of resiliency recipe = collective.recipe.template input = inline: ** output = ${directory:srv}/exporter.exclude [promise] recipe = slapos.cookbook:check_port_listening path = ${directory:promise}/cloudooo hostname = ${cloudooo-instance:ip} port = ${cloudooo-instance:port} [promise-openoffice] recipe = slapos.cookbook:check_port_listening path = ${directory:promise}/openoffice hostname = ${cloudooo-instance:ip} port = ${cloudooo-instance:openoffice-port} {% if use_ipv6 -%} [promise-tunnel] recipe = slapos.cookbook:check_port_listening path = ${directory:promise}/tunnel hostname = ${ipv6toipv4:ipv6} port = ${ipv6toipv4:ipv6-port} [ipv6toipv4] recipe = slapos.cookbook:ipv6toipv4 runner-path = ${directory:service}/${:base-name} 6tunnel-path = {{ parameter_dict['6tunnel'] }}/bin/6tunnel shell-path = {{ parameter_dict['dash'] }}/bin/dash ipv4 = ${cloudooo-instance:ip} ipv6 = {{ (ipv6_set | list)[0] }} ipv6-port = ${cloudooo-instance:port} ipv4-port = ${cloudooo-instance:port} base-name = cloudooo-tunnel {% endif -%} # rest of parts are candidates for some generic stuff [directory] recipe = slapos.cookbook:mkdirectory etc = ${buildout:directory}/etc srv = ${buildout:directory}/srv service = ${:etc}/run promise = ${:etc}/promise cloudooo-data = ${:srv}/cloudooo font = ${:srv}/font