<%
  job_name = spec.job.name || name
  instance_id = spec.id || spec.index.to_s
  deployment = p("deployment").empty? ? spec.deployment : p("deployment")
  certs_dir = "/var/vcap/jobs/loggr-forwarder-agent-windows/config/certs"

  tags = {
      deployment: deployment,
      job: job_name,
      index: instance_id,
      ip: spec.ip,
  }
  tags.merge!(p("tags"))

  process = {
    "name" => "forwarder-agent",
    "executable" => "/var/vcap/packages/forwarder-agent-windows/forwarder-agent.exe",
    "args" => [],
    "env" => {
       "AGENT_PORT" => "#{p("port")}",
       "AGENT_CA_FILE_PATH" => "#{certs_dir}/loggregator_ca.crt",
       "AGENT_CERT_FILE_PATH" => "#{certs_dir}/forwarder.crt",
       "AGENT_KEY_FILE_PATH" => "#{certs_dir}/forwarder.key",
       "AGENT_CIPHER_SUITES" => p("tls.cipher_suites").split(":").join(","),
       "AGENT_TAGS" => tags.map { |k, v| "#{k}:#{v}" }.join(","),
       "DOWNSTREAM_INGRESS_PORT_GLOB" => p("downstream_ingress_port_glob"),
       "METRICS_PORT" => "#{p("metrics.port")}",
       "METRICS_CA_FILE_PATH" => "#{certs_dir}/metrics_ca.crt",
       "METRICS_CERT_FILE_PATH" => "#{certs_dir}/metrics.crt",
       "METRICS_KEY_FILE_PATH" => "#{certs_dir}/metrics.key",
    }
  }

  monit = { "processes" => [process] }
%>

<%= JSON.pretty_generate(monit) %>
