wire in the new 'limits.Agent' infrastructure; extend the 'metrics.Agent' to support additional 'metrics.UsageSink' instances (#271)

This commit is contained in:
Michael Quigley
2023-03-16 15:05:39 -04:00
parent 86126b3f53
commit 192a49fe19
4 changed files with 51 additions and 5 deletions

View File

@ -3,6 +3,7 @@ package controller
import (
"context"
"github.com/openziti/zrok/controller/config"
"github.com/openziti/zrok/controller/limits"
"github.com/openziti/zrok/controller/metrics"
"github.com/sirupsen/logrus"
@ -80,6 +81,18 @@ func Run(inCfg *config.Config) error {
return errors.Wrap(err, "error starting metrics agent")
}
defer func() { ma.Stop() }()
if cfg.Limits != nil && cfg.Limits.Enforcing {
la, err := limits.NewAgent(cfg.Limits, cfg.Metrics.Influx, cfg.Ziti, str)
if err != nil {
return errors.Wrap(err, "error creating limits agent")
}
ma.AddUsageSink(la)
if err := la.Start(); err != nil {
return errors.Wrap(err, "error starting limits agent")
}
defer func() { la.Stop() }()
}
}
ctx, cancel := context.WithCancel(context.Background())