global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

scrape_configs:
{% for target in prometheus_federations %}
  - job_name: {{target.name}}
{%   if target.internal_ca is defined and target.internal_ca == true %}
    scheme: https    
      tls_config:
        ca_file: '/etc/ssl/prometheus_client/root.ca.crt'
        cert_file: '/etc/ssl/prometheus_client/{{fqdn}}.crt'
        key_file: '/etc/ssl/prometheus_client/{{fqdn}}.key'
{%   elif (target.servers|join(' ')) is search ('https')%}
    scheme: https
{%   else %}
    scheme: http
{%   endif %}
{%   if target.basic_auth is defined %}
    basic_auth:
      username: '{{target.basic_auth.username}}'
      password: '{{target.basic_auth.password}}'
{%   endif %}
    honor_labels: true
    metrics_path: '/federate'
    params: 
{%   for key,value in target.params.items() %}
      {{key}}:
{%     for entry in value %}
        - '{{entry}}'
{%     endfor %}
{%   endfor %}
    static_configs:
      - targets:
{%   for server in target.servers %}
        - '{{server|regex_replace('htt.*://','')}}:{% if target.port is defined %}{{target.port}}{% else %}{% if server is search ('https') %}443{% else %}80{% endif %}{% endif %}'
{%   endfor %} 
{% endfor %}