123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package v1
- import (
- "context"
- "net"
- //"github.com/crowdsecurity/crowdsec/pkg/apiserver/controllers"
- middlewares "github.com/crowdsecurity/crowdsec/pkg/apiserver/middlewares/v1"
- "github.com/crowdsecurity/crowdsec/pkg/csconfig"
- "github.com/crowdsecurity/crowdsec/pkg/csplugin"
- "github.com/crowdsecurity/crowdsec/pkg/csprofiles"
- "github.com/crowdsecurity/crowdsec/pkg/database"
- "github.com/crowdsecurity/crowdsec/pkg/models"
- "github.com/pkg/errors"
- )
- type Controller struct {
- Ectx context.Context
- DBClient *database.Client
- APIKeyHeader string
- Middlewares *middlewares.Middlewares
- Profiles []*csprofiles.Runtime
- CAPIChan chan []*models.Alert
- PluginChannel chan csplugin.ProfileAlert
- ConsoleConfig csconfig.ConsoleConfig
- TrustedIPs []net.IPNet
- }
- type ControllerV1Config struct {
- DbClient *database.Client
- Ctx context.Context
- ProfilesCfg []*csconfig.ProfileCfg
- CapiChan chan []*models.Alert
- PluginChannel chan csplugin.ProfileAlert
- ConsoleConfig csconfig.ConsoleConfig
- TrustedIPs []net.IPNet
- }
- func New(cfg *ControllerV1Config) (*Controller, error) {
- var err error
- profiles, err := csprofiles.NewProfile(cfg.ProfilesCfg)
- if err != nil {
- return &Controller{}, errors.Wrapf(err, "failed to compile profiles")
- }
- v1 := &Controller{
- Ectx: cfg.Ctx,
- DBClient: cfg.DbClient,
- APIKeyHeader: middlewares.APIKeyHeader,
- Profiles: profiles,
- CAPIChan: cfg.CapiChan,
- PluginChannel: cfg.PluginChannel,
- ConsoleConfig: cfg.ConsoleConfig,
- TrustedIPs: cfg.TrustedIPs,
- }
- v1.Middlewares, err = middlewares.NewMiddlewares(cfg.DbClient)
- if err != nil {
- return v1, err
- }
- return v1, nil
- }
|