Documentation
¶
Index ¶
- type Config
- type Database
- type DomainProvider
- type IPProvider
- type Scheduler
- func (s *Scheduler) SetDataProviders(scoresRepo repository.ScoresRepository, ...)
- func (s *Scheduler) SetDomainProvider(provider DomainProvider)
- func (s *Scheduler) SetIPProvider(provider IPProvider)
- func (s *Scheduler) SetPhase5Services(gmailPostmasterSvc *service.GmailPostmasterService, ...)
- func (s *Scheduler) Start(ctx context.Context) error
- func (s *Scheduler) Stop() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Database ¶
type Database struct {
DB *sql.DB
EventsRepo repository.EventsRepository
ScoresRepo repository.ScoresRepository
WarmUpRepo repository.WarmUpRepository
CircuitBreakerRepo repository.CircuitBreakerRepository
HistoricalScoresRepo repository.HistoricalScoresRepository
SendingIPRepo repository.SendingIPRepository
TelemetryService *service.TelemetryService
AuditorService *service.AuditorService
// contains filtered or unexported fields
}
Database represents the reputation database connection and repositories
func InitDatabase ¶
InitDatabase initializes the reputation database and creates all tables
func (*Database) GetCircuitBreakerRepo ¶
func (d *Database) GetCircuitBreakerRepo() repository.CircuitBreakerRepository
GetCircuitBreakerRepo returns the circuit breaker repository
func (*Database) GetEventRepo ¶
func (d *Database) GetEventRepo() repository.EventsRepository
GetEventRepo returns the events repository
func (*Database) GetScoresRepo ¶
func (d *Database) GetScoresRepo() repository.ScoresRepository
GetScoresRepo returns the scores repository
type DomainProvider ¶
type DomainProvider interface {
// GetActiveDomains returns all active domain names for reputation tracking
GetActiveDomains(ctx context.Context) ([]string, error)
}
DomainProvider provides a list of active domains for reputation tracking
type IPProvider ¶
type IPProvider interface {
// GetActiveIPs returns all active sending IP addresses
GetActiveIPs(ctx context.Context) ([]string, error)
}
IPProvider provides a list of sending IP addresses for reputation tracking
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
Scheduler handles periodic reputation management tasks
func NewScheduler ¶
func NewScheduler( telemetryService *service.TelemetryService, circuitBreakerSvc *service.CircuitBreakerService, warmUpSvc *service.WarmUpService, logger *zap.Logger, ) *Scheduler
NewScheduler creates a new reputation scheduler
func (*Scheduler) SetDataProviders ¶
func (s *Scheduler) SetDataProviders( scoresRepo repository.ScoresRepository, sendingIPRepo repository.SendingIPRepository, )
SetDataProviders sets the domain and IP providers for scheduled tasks
func (*Scheduler) SetDomainProvider ¶
func (s *Scheduler) SetDomainProvider(provider DomainProvider)
SetDomainProvider sets a custom domain provider
func (*Scheduler) SetIPProvider ¶
func (s *Scheduler) SetIPProvider(provider IPProvider)
SetIPProvider sets a custom IP provider
func (*Scheduler) SetPhase5Services ¶
func (s *Scheduler) SetPhase5Services( gmailPostmasterSvc *service.GmailPostmasterService, microsoftSNDSSvc *service.MicrosoftSNDSService, arfParserSvc *service.ARFParserService, dmarcAnalyzerSvc *service.DMARCAnalyzerService, predictionsSvc *service.PredictionsService, providerLimitsSvc *service.ProviderRateLimitsService, alertsSvc *service.AlertsService, )
SetPhase5Services sets Phase 5 services for advanced automation