[jinja2-template-base] recipe = slapos.recipe.template:jinja2 rendered = ${buildout:directory}/${:filename} extra-context = context = import json_module json ${:extra-context} [slave-test-configuration] <=jinja2-template-base template = {{ template_json_distributor_test }} filename = srv/monitor/private/test.json extensions = jinja2.ext.do extra-context = section slave_information slap-configuration {% set part_list = [] -%} # Publish information for each slave {% set directory_list = [] -%} {% for slave_instance in slave_instance_list -%} {% set publish_section_title = 'publish-%s' % slave_instance.get('slave_reference') -%} {% do part_list.append(publish_section_title) -%} [{{ publish_section_title }}] recipe = slapos.cookbook:publish -slave-reference = {{ slave_instance.get('slave_reference') }} log-access-url = ${monitor-frontend:connection-site_url}/{{ slave_instance.get('slave_reference') }} log-access-url-v6 = ${monitor-httpd-conf-parameter:url}/{{ slave_instance.get('slave_reference') }} {% endfor %} {% set data_source_dict = slapparameter_dict.get('data-source', None) -%} {% set cron_min_count = 0 -%} {% if data_source_dict %} {% for entry in data_source_dict -%} {% set cron_min_count = cron_min_count + 1 -%} {% set cron_min = cron_min_count%60 -%} {% do part_list.append('cron-crawl-' + entry) -%} {% do directory_list.append(entry) -%} [cron-crawl-{{ entry }}] <= cron recipe = slapos.cookbook:cron.d name = cron-crawler-{{ entry }} frequency = * * * * * command = cd ${monitor-directory:crawl-log}/{{ entry }} && ${crawler-bin:wrapper-path} {{ data_source_dict.get(entry) }} {% endfor %} {% endif %} [monitor-directory] crawl-log = ${:srv}/crawlog network-user-logs = ${:private}/network-user-logs/ {% for slave_instance in slave_instance_list -%} user-log-{{ slave_instance.get('slave_reference') }}-folder = ${:private}/network-user-logs/{{ slave_instance.get('slave_reference') }} user-log-{{ slave_instance.get('slave_reference') }}-ping-folder = ${:private}/network-user-logs/{{ slave_instance.get('slave_reference') }}/ping user-log-{{ slave_instance.get('slave_reference') }}-ping6-folder = ${:private}/network-user-logs/{{ slave_instance.get('slave_reference') }}/ping6 {% endfor -%} {% for directory in directory_list %} {{ '%s = ${:crawl-log}/%s' % (directory, directory) }} {% endfor %} [crawler-bin] recipe = slapos.cookbook:wrapper command-line = {{ wget_bin }} --no-check-certificate -l1 -r -nd --timestamp wrapper-path = ${monitor-directory:bin}/log-crawler [buildout] extends = {{ instance_base_monitor }} parts += slave-test-configuration {% for part in part_list %} {{ ' %s' % part }} {% endfor %}