// pulse-lets-go-agent — агент сбора метрик для pulse-lets-go.
// Работает на каждой PBX-ноде (FreeSWITCH или Asterisk),
// собирает метрики и публикует их в NATS каждые 5 секунд.
//
// Использование:
//
//	pulse-lets-go-agent -config /etc/pulse-lets-go-agent/agent.json
//
// Пример agent.json:
//
//	{
//	  "node_id": "uc06",
//	  "type": "asterisk",
//	  "nats_url": "nats://balancer.lan:4222",
//	  "sip_gateway": "sip:uc-pbx.lan:5060",
//	  "interval_sec": 5,
//	  "max_calls": 150,
//	  "ami": { "host": "127.0.0.1", "port": 6154, "username": "admin", "password": "changeme" }
//	}
package main

import (
	"flag"
	"log"

	"github.com/pulse-lets-go/cmd/pulse-lets-go-agent/agent"
)

func main() {
	configPath := flag.String("config", "agent.json", "путь к agent.json")
	flag.Parse()

	cfg, err := agent.LoadConfig(*configPath)
	if err != nil {
		log.Fatalf("ошибка загрузки конфига: %v", err)
	}

	a, err := agent.NewAgent(cfg)
	if err != nil {
		log.Fatalf("ошибка создания агента: %v", err)
	}

	a.Start()
}
