instance-cloudoo.cfg.in 3.38 KB
Newer Older
1
{% if software_type == slap_software_type -%}
2
{% set bin_directory = parameter_dict['buildout-bin-directory'] -%}
3
{% set use_ipv6 = slapparameter_dict.get('use-ipv6', False) -%}
4 5 6 7
[buildout]
parts =
  publish-cloudooo-connection-information
  cloudooo-instance
8 9
  promise
  promise-openoffice
10
  {% if use_ipv6 %}promise-tunnel{% endif %}
11 12 13 14 15
eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
offline = true

[publish-cloudooo-connection-information]
16 17 18 19
recipe = slapos.cookbook:publish.serialised
{% if use_ipv6 -%}
url = cloudooo://[${ipv6toipv4:ipv6}]:${ipv6toipv4:ipv6-port}/
{% else -%}
20
url = cloudooo://${cloudooo-instance:ip}:${cloudooo-instance:port}/
21
{% endif -%}
22 23 24 25 26 27

[cloudooo-instance]
recipe = slapos.cookbook:generic.cloudooo

# Network options
ip = ${slap-network-information:local-ipv4}
28 29 30
{% set tcpv4_port = slapparameter_dict['tcpv4-port'] -%}
port = {{ tcpv4_port }}
openoffice-port = {{ tcpv4_port + 1 }}
31 32

# Paths
33 34
configuration-file = ${directory:etc}/cloudooo.cfg
wrapper = ${directory:service}/cloudooo
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

# Paths: Data
data-directory = ${directory:cloudooo-data}

environment =
  LD_LIBRARY_PATH = {{ parameter_dict['file'] }}/lib:{{ parameter_dict['fontconfig'] }}/lib:{{ parameter_dict['freetype'] }}/lib:{{ parameter_dict['libICE'] }}/lib:{{ parameter_dict['libpng12'] }}/lib:{{ parameter_dict['libSM'] }}/lib:{{ parameter_dict['libX11'] }}/lib:{{ parameter_dict['libXau'] }}/lib:{{ parameter_dict['libXdmcp'] }}/lib:{{ parameter_dict['libXext'] }}/lib:{{ parameter_dict['libxcb'] }}/lib:{{ parameter_dict['libXrender'] }}/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
51
conf-path = ${directory:etc}/font.conf
52 53
font-system-folder = {{ parameter_dict['fonts'] }}
font-folder = ${directory:font}
54
url-list = {{ slapparameter_dict.get('font-url-list', []) | join(' ') }}
55
service-folder = ${directory:service}
56 57
onetimedownload_path = {{ bin_directory }}/onetimedownload

58 59 60 61 62
[promise]
recipe = slapos.cookbook:check_port_listening
path = ${directory:promise}/cloudooo
hostname = ${cloudooo-instance:ip}
port = ${cloudooo-instance:port}
63

64 65 66 67 68
[promise-openoffice]
recipe = slapos.cookbook:check_port_listening
path = ${directory:promise}/openoffice
hostname = ${cloudooo-instance:ip}
port = ${cloudooo-instance:openoffice-port}
69

70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
{% 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 -%}
89 90
# rest of parts are candidates for some generic stuff
[directory]
91 92 93
recipe = slapos.cookbook:mkdirectory
etc = ${buildout:directory}/etc
srv = ${buildout:directory}/srv
94 95 96 97
service = ${:etc}/run
promise = ${:etc}/promise
cloudooo-data = ${:srv}/cloudooo
font = ${:srv}/font
98
{% endif %}