{% set use_ipv6 = slapparameter_dict.get('use-ipv6', False) -%} [buildout] extends = {{ logrotate_cfg }} {{ parameter_dict['template-monitor'] }} parts += publish kumofs-instance logrotate-entry-kumofs resiliency-exclude-file promise-kumofs-server promise-kumofs-server-listen promise-kumofs-gateway promise-kumofs-manager [publish] recipe = slapos.cookbook:publish.serialised {% if use_ipv6 -%} url = memcached://[${kumofs-instance:ip}]:${kumofs-instance:gateway-port}/ {% else -%} url = memcached://${kumofs-instance:ip}:${kumofs-instance:gateway-port}/ {% endif -%} [kumofs-instance] recipe = slapos.cookbook:generic.kumofs # Network options {% if use_ipv6 -%} ip = {{ (ipv6_set | list)[0] }} address-family = inet6 {% else -%} ip = {{ (ipv4_set | list)[0] }} address-family = inet4 {% endif -%} {% set tcpv4_port = slapparameter_dict['tcpv4-port'] -%} manager-port = {{ tcpv4_port }} server-port = {{ tcpv4_port + 1 }} server-listen-port = {{ tcpv4_port + 2 }} gateway-port = {{ tcpv4_port + 3 }} # Paths: Data {% set ram_storage_size = slapparameter_dict.get('ram-storage-size') -%} {% if ram_storage_size -%} data-path = *#capsiz={{ ram_storage_size }}m {% else -%} # (with 10M buckets and HDBTLARGE option) data-path = ${directory:kumofs-data}/kumodb.tch#bnum=10485760#opts=l {% endif -%} # Paths: Running wrappers gateway-wrapper = ${directory:services}/kumofs_gateway manager-wrapper = ${directory:services}/kumofs_manager server-wrapper = ${directory:services}/kumofs_server # Paths: Logs kumo-gateway-log = ${directory:log}/kumo-gateway.log kumo-manager-log = ${directory:log}/kumo-manager.log kumo-server-log = ${directory:log}/kumo-server.log # Binary information kumo-gateway-binary = {{ parameter_dict['kumo-location'] }}/bin/kumo-gateway kumo-manager-binary = {{ parameter_dict['kumo-location'] }}/bin/kumo-manager kumo-server-binary = {{ parameter_dict['kumo-location'] }}/bin/kumo-server shell-path = {{ parameter_dict['dash-location'] }}/bin/dash [logrotate-entry-kumofs] recipe = slapos.cookbook:logrotate.d logrotate-entries = ${logrotate:logrotate-entries} backup = ${logrotate:backup} name = kumofs log = ${kumofs-instance:kumo-gateway-log} ${kumofs-instance:kumo-manager-log} ${kumofs-instance:kumo-server-log} [directory] recipe = slapos.cookbook:mkdirectory log = ${buildout:directory}/var/log services = ${buildout:directory}/etc/run promise = ${buildout:directory}/etc/promise srv = ${buildout:directory}/srv kumofs-data = ${:srv}/kumofs [resiliency-exclude-file] # Generate rdiff exclude file in case of resiliency recipe = collective.recipe.template input = inline: ** output = ${directory:srv}/exporter.exclude # Deploy zope promises scripts [promise-template] recipe = slapos.cookbook:check_port_listening hostname = ${kumofs-instance:ip} port = ${kumofs-instance:server-listen-port} [promise-kumofs-server] <= promise-template path = ${directory:promise}/kumofs-server port = ${kumofs-instance:server-port} [promise-kumofs-server-listen] <= promise-template path = ${directory:promise}/kumofs-server-listen port = ${kumofs-instance:server-listen-port} [promise-kumofs-gateway] <= promise-template path = ${directory:promise}/kumofs-gateway port = ${kumofs-instance:gateway-port} [promise-kumofs-manager] <= promise-template path = ${directory:promise}/kumofs-manager port = ${kumofs-instance:manager-port} [monitor-instance-parameter] monitor-httpd-ipv6 = {{ (ipv6_set | list)[0] }} monitor-httpd-port = {{ tcpv4_port + 4 }} monitor-title = Kumofs monitor