Skip to content

Commit 491c58e

Browse files
committed
renaming bfla notifier
1 parent 3a209f5 commit 491c58e

File tree

10 files changed

+55
-52
lines changed

10 files changed

+55
-52
lines changed

backend/pkg/backend/backend.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,17 @@ type Backend struct {
5858
monitor *k8smonitor.Monitor
5959
apiInventoryLock sync.RWMutex
6060
dbHandler _database.Database
61-
modulesWrapper modules.Module
61+
modulesManager modules.ModulesManager
6262
}
6363

64-
func CreateBackend(config *_config.Config, monitor *k8smonitor.Monitor, speculator *_speculator.Speculator, dbHandler *_database.Handler, modulesWrapper modules.Module) *Backend {
64+
func CreateBackend(config *_config.Config, monitor *k8smonitor.Monitor, speculator *_speculator.Speculator, dbHandler *_database.Handler, modulesManager modules.ModulesManager) *Backend {
6565
return &Backend{
6666
speculator: speculator,
6767
stateBackupInterval: time.Second * time.Duration(config.StateBackupIntervalSec),
6868
stateBackupFileName: config.StateBackupFileName,
6969
monitor: monitor,
7070
dbHandler: dbHandler,
71-
modulesWrapper: modulesWrapper,
71+
modulesManager: modulesManager,
7272
}
7373
}
7474

@@ -386,7 +386,7 @@ func (b *Backend) handleHTTPTrace(ctx context.Context, trace *pluginsmodels.Tele
386386

387387
b.dbHandler.APIEventsTable().CreateAPIEvent(event)
388388

389-
b.modulesWrapper.EventNotify(ctx, &modules.Event{APIEvent: event, Telemetry: trace})
389+
b.modulesManager.EventNotify(ctx, &modules.Event{APIEvent: event, Telemetry: trace})
390390

391391
return nil
392392
}

backend/pkg/backend/backend_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ func TestBackend_handleHTTPTrace(t *testing.T) {
300300

301301
mockCtrlModules := gomock.NewController(t)
302302
defer mockCtrlModules.Finish()
303-
mockModules := modules.NewMockModule(mockCtrlModules)
303+
mockModulesManager := modules.NewMockModulesManager(mockCtrlModules)
304304

305305
speculatorWithProvidedSpec := _speculator.CreateSpeculator(_speculator.Config{})
306306
speculatorWithProvidedSpec.Specs[specKey] = _spec.CreateDefaultSpec(host, port, _spec.OperationGeneratorConfig{})
@@ -736,13 +736,13 @@ func TestBackend_handleHTTPTrace(t *testing.T) {
736736
tt.fields.expectDatabase(mockDatabase)
737737
tt.fields.expectAPIInventoryTable(mockAPIInventoryTable)
738738
tt.fields.expectAPIEventTable(mockAPIEventTable)
739-
mockModules.EXPECT().EventNotify(ctx, gomock.Any()).AnyTimes()
739+
mockModulesManager.EXPECT().EventNotify(ctx, gomock.Any()).AnyTimes()
740740
t.Run(tt.name, func(t *testing.T) {
741741
b := &Backend{
742742
speculator: tt.fields.speculator,
743743
monitor: tt.fields.monitor,
744744
dbHandler: tt.fields.dbHandler,
745-
modulesWrapper: mockModules,
745+
modulesManager: mockModulesManager,
746746
}
747747
if err := b.handleHTTPTrace(ctx, tt.args.trace); (err != nil) != tt.wantErr {
748748
t.Errorf("handleHTTPTrace() error = %v, wantErr %v", err, tt.wantErr)

backend/pkg/modules/internal/bfla/bfladetector/controller_notifer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"github.com/openclarity/apiclarity/backend/pkg/modules/internal/core"
2424
)
2525

26-
type ControllerNotifier interface {
26+
type BFLANotifier interface {
2727
Notify(ctx context.Context, apiID uint, notification AuthzModelNotification) error
2828
}
2929

@@ -33,7 +33,7 @@ type AuthzModelNotification struct {
3333
SpecType SpecType
3434
}
3535

36-
func NewControllerNotifier(moduleName string, accessor core.BackendAccessor) *notifier {
36+
func NewBFLANotifier(moduleName string, accessor core.BackendAccessor) *notifier {
3737
return &notifier{
3838
accessor: accessor,
3939
moduleName: moduleName,

backend/pkg/modules/internal/bfla/bfladetector/learn_and_detect_bfla.go

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,20 @@ const (
4949

5050
var ErrUnsupportedAuthScheme = errors.New("unsupported auth scheme")
5151

52-
func NewBFLADetector(ctx context.Context, modName string, apiInfoProvider apiInfoProvider, eventAlerter EventAlerter, ctrlNotifier ControllerNotifier, sp recovery.StatePersister, controllerResyncInterval time.Duration) BFLADetector {
52+
func NewBFLADetector(ctx context.Context, modName string, apiInfoProvider apiInfoProvider, eventAlerter EventAlerter, bflaNotifier BFLANotifier, sp recovery.StatePersister, notifierResyncInterval time.Duration) BFLADetector {
5353
l := &learnAndDetectBFLA{
54-
tracesCh: make(chan *CompositeTrace),
55-
commandsCh: make(chan Command),
56-
errCh: make(chan error),
57-
apiInfoProvider: apiInfoProvider,
58-
authzModelsMap: recovery.NewPersistedMap(sp, AuthzModelAnnotationName, reflect.TypeOf(AuthorizationModel{})),
59-
tracesCounterMap: recovery.NewPersistedMap(sp, AuthzProcessedTracesAnnotationName, reflect.TypeOf(1)),
60-
statePersister: sp,
61-
eventAlerter: eventAlerter,
62-
controllerNotifier: ctrlNotifier,
63-
controllerResyncInterval: controllerResyncInterval,
64-
mu: &sync.RWMutex{},
65-
modName: modName,
54+
tracesCh: make(chan *CompositeTrace),
55+
commandsCh: make(chan Command),
56+
errCh: make(chan error),
57+
apiInfoProvider: apiInfoProvider,
58+
authzModelsMap: recovery.NewPersistedMap(sp, AuthzModelAnnotationName, reflect.TypeOf(AuthorizationModel{})),
59+
tracesCounterMap: recovery.NewPersistedMap(sp, AuthzProcessedTracesAnnotationName, reflect.TypeOf(1)),
60+
statePersister: sp,
61+
eventAlerter: eventAlerter,
62+
bflaNotifier: bflaNotifier,
63+
notifierResyncInterval: notifierResyncInterval,
64+
mu: &sync.RWMutex{},
65+
modName: modName,
6666
}
6767
go func() {
6868
for {
@@ -75,7 +75,7 @@ func NewBFLADetector(ctx context.Context, modName string, apiInfoProvider apiInf
7575
}
7676
}
7777
}()
78-
go l.ctrlNotifier(ctx)
78+
go l.notifier(ctx)
7979
go l.run(ctx)
8080
return l
8181
}
@@ -184,11 +184,11 @@ type learnAndDetectBFLA struct {
184184

185185
statePersister recovery.StatePersister
186186

187-
eventAlerter EventAlerter
188-
controllerNotifier ControllerNotifier
189-
controllerResyncInterval time.Duration
190-
mu *sync.RWMutex
191-
modName string
187+
eventAlerter EventAlerter
188+
bflaNotifier BFLANotifier
189+
notifierResyncInterval time.Duration
190+
mu *sync.RWMutex
191+
modName string
192192
}
193193

194194
type CommandsChan chan Command
@@ -266,7 +266,7 @@ func (l *learnAndDetectBFLA) commandsRunner(ctx context.Context, command Command
266266
return fmt.Errorf("unable to parse spec info: %w", err)
267267
}
268268
err = l.updateAuthorizationModel(tags, cmd.path, cmd.method, cmd.clientRef, cmd.apiID, cmd.detectedUser, true, true)
269-
l.logError(l.notifyController(ctx, cmd.apiID))
269+
l.logError(l.notify(ctx, cmd.apiID))
270270

271271
case *MarkIllegitimateCommand:
272272
apiInfo, err := l.apiInfoProvider.GetAPIInfo(ctx, cmd.apiID)
@@ -278,7 +278,7 @@ func (l *learnAndDetectBFLA) commandsRunner(ctx context.Context, command Command
278278
return fmt.Errorf("unable to parse spec info: %w", err)
279279
}
280280
err = l.updateAuthorizationModel(tags, cmd.path, cmd.method, cmd.clientRef, cmd.apiID, cmd.detectedUser, false, true)
281-
l.logError(l.notifyController(ctx, cmd.apiID))
281+
l.logError(l.notify(ctx, cmd.apiID))
282282

283283
case *StopLearningCommand:
284284
counter, err := l.tracesCounterMap.Get(cmd.apiID)
@@ -287,7 +287,7 @@ func (l *learnAndDetectBFLA) commandsRunner(ctx context.Context, command Command
287287
}
288288

289289
counter.Set(0)
290-
l.logError(l.notifyController(ctx, cmd.apiID))
290+
l.logError(l.notify(ctx, cmd.apiID))
291291

292292
case *StartLearningCommand:
293293
tracesToProcess, err := l.tracesCounterMap.Get(cmd.apiID)
@@ -313,7 +313,7 @@ func (l *learnAndDetectBFLA) commandsRunner(ctx context.Context, command Command
313313
return fmt.Errorf("unable to get authz model state: %w", err)
314314
}
315315
authzModel.Set(AuthorizationModel{})
316-
l.logError(l.notifyController(ctx, cmd.apiID))
316+
l.logError(l.notify(ctx, cmd.apiID))
317317

318318
case *ProvideAuthzModelCommand:
319319
pv, err := l.authzModelsMap.Get(cmd.apiID)
@@ -448,7 +448,7 @@ func (l *learnAndDetectBFLA) traceRunner(ctx context.Context, trace *CompositeTr
448448
return fmt.Errorf("unable to set alert annotation: %w", err)
449449
}
450450

451-
l.logError(l.notifyController(ctx, trace.APIEvent.APIInfoID))
451+
l.logError(l.notify(ctx, trace.APIEvent.APIInfoID))
452452
aud.WarningStatus = ResolveBFLAStatusInt(int(trace.APIEvent.StatusCode))
453453
}
454454
aud.StatusCode = trace.APIEvent.StatusCode
@@ -457,7 +457,7 @@ func (l *learnAndDetectBFLA) traceRunner(ctx context.Context, trace *CompositeTr
457457
return nil
458458
}
459459

460-
func (l *learnAndDetectBFLA) notifyController(ctx context.Context, apiID uint) error {
460+
func (l *learnAndDetectBFLA) notify(ctx context.Context, apiID uint) error {
461461
ntf := AuthzModelNotification{}
462462

463463
if l.IsLearning(apiID) {
@@ -481,7 +481,7 @@ func (l *learnAndDetectBFLA) notifyController(ctx context.Context, apiID uint) e
481481
ntf.AuthzModel, _ = v.Get().(AuthorizationModel)
482482
}
483483
}
484-
return l.controllerNotifier.Notify(ctx, apiID, ntf)
484+
return l.bflaNotifier.Notify(ctx, apiID, ntf)
485485
}
486486

487487
func (l *learnAndDetectBFLA) mustLearn(apiID uint) (decrementFn func(), ok bool) {
@@ -696,18 +696,18 @@ func (l *learnAndDetectBFLA) ProvideAuthzModel(apiID uint, am AuthorizationModel
696696
})
697697
}
698698

699-
func (l *learnAndDetectBFLA) ctrlNotifier(ctx context.Context) {
700-
t := time.NewTicker(l.controllerResyncInterval)
699+
func (l *learnAndDetectBFLA) notifier(ctx context.Context) {
700+
t := time.NewTicker(l.notifierResyncInterval)
701701
defer t.Stop()
702702

703703
for {
704704
select {
705705
case <-ctx.Done():
706-
log.Errorf("Controller notifier finished working %s", ctx.Err())
706+
log.Errorf("Bfla notifier finished working %s", ctx.Err())
707707
return
708708
case <-t.C:
709709
for _, key := range l.authzModelsMap.Keys() {
710-
l.logError(l.notifyController(ctx, key))
710+
l.logError(l.notify(ctx, key))
711711
}
712712
}
713713
}

backend/pkg/modules/internal/bfla/bfladetector/learn_and_detect_bfla_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,9 @@ func initBFLADetector(ctrl *gomock.Controller, backendAccessor *core.MockBackend
115115
}).AnyTimes()
116116
backendAccessor.EXPECT().CreateAPIEventAnnotations(ctx, gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes()
117117
backendAccessor.EXPECT().GetAPIInfoAnnotation(ctx, gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes()
118-
ctrlNotifier := bfladetector.NewControllerNotifier("bfla", backendAccessor)
118+
bflaNotifier := bfladetector.NewBFLANotifier(string(models.APIClarityFeatureEnumBfla), backendAccessor)
119119

120-
return bfladetector.NewBFLADetector(ctx, "bfla", backendAccessor, eventAlerter, ctrlNotifier, statePersister, 5*time.Second)
120+
return bfladetector.NewBFLADetector(ctx, string(models.APIClarityFeatureEnumBfla), backendAccessor, eventAlerter, bflaNotifier, statePersister, 5*time.Second)
121121
}
122122

123123
func Test_learnAndDetectBFLA_BuildAuthzModel(t *testing.T) {

backend/pkg/modules/internal/bfla/init.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func newModule(ctx context.Context, modName string, accessor core.BackendAccesso
7373
}
7474

7575
sp := recovery.NewStatePersister(ctx, accessor, modName, persistenceInterval)
76-
ctrlNotifier := bfladetector.NewControllerNotifier(modName, accessor)
76+
ctrlNotifier := bfladetector.NewBFLANotifier(modName, accessor)
7777
p.bflaDetector = bfladetector.NewBFLADetector(ctx, modName, accessor, eventAlerter{accessor}, ctrlNotifier, sp, controllerResyncInterval)
7878

7979
handler := &httpHandler{

backend/pkg/modules/internal/core/modules.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,12 @@ func NewAccessor(dbHandler *database.Handler, clientset kubernetes.Interface, sa
8585
n = notifier.NewNotifier(notificationPrefix, 100, 10)
8686
n.Start(context.Background())
8787
}
88-
89-
return &accessor{dbHandler, clientset, n, samplingManager}
88+
return &accessor{
89+
dbHandler: dbHandler,
90+
clientset: clientset,
91+
notifier: n,
92+
samplingManager: samplingManager,
93+
}
9094
}
9195

9296
type accessor struct {

backend/pkg/modules/modules.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import (
3535

3636
type (
3737
ModuleInfo = core.ModuleInfo
38-
Module = core.Module
38+
ModulesManager = core.Module
3939
MockModule = core.MockModule
4040
Annotation = core.Annotation
4141
BackendAccessor = core.BackendAccessor
@@ -44,10 +44,10 @@ type (
4444
)
4545

4646
var (
47-
NewMockModule = core.NewMockModule
47+
NewMockModulesManager = core.NewMockModule
4848
NewMockBackendAccessor = core.NewMockBackendAccessor
4949
)
5050

51-
func New(ctx context.Context, dbHandler *database.Handler, clientset kubernetes.Interface, samplingManager *manager.Manager) (Module, []ModuleInfo) {
51+
func New(ctx context.Context, dbHandler *database.Handler, clientset kubernetes.Interface, samplingManager *manager.Manager) (ModulesManager, []ModuleInfo) {
5252
return core.New(ctx, core.NewAccessor(dbHandler, clientset, samplingManager), samplingManager)
5353
}

backend/pkg/rest/server.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,16 @@ type Server struct {
3636
server *restapi.Server
3737
dbHandler database.Database
3838
speculator *_speculator.Speculator
39-
modulesWrapper modules.Module
39+
modulesManager modules.ModulesManager
4040
samplingManager *manager.Manager
4141
features []modules.ModuleInfo
4242
}
4343

44-
func CreateRESTServer(port int, speculator *_speculator.Speculator, dbHandler *database.Handler, modulesWrapper modules.Module, samplingManager *manager.Manager, features []modules.ModuleInfo) (*Server, error) {
44+
func CreateRESTServer(port int, speculator *_speculator.Speculator, dbHandler *database.Handler, modulesManager modules.ModulesManager, samplingManager *manager.Manager, features []modules.ModuleInfo) (*Server, error) {
4545
s := &Server{
4646
speculator: speculator,
4747
dbHandler: dbHandler,
48-
modulesWrapper: modulesWrapper,
48+
modulesManager: modulesManager,
4949
samplingManager: samplingManager,
5050
features: features,
5151
}
@@ -155,7 +155,7 @@ func CreateRESTServer(port int, speculator *_speculator.Speculator, dbHandler *d
155155
newHandler := http.NewServeMux()
156156

157157
// Enhance the default handler with modules apis handlers
158-
newHandler.Handle("/api/modules/", modulesWrapper.HTTPHandler())
158+
newHandler.Handle("/api/modules/", modulesManager.HTTPHandler())
159159
newHandler.Handle("/", origHandler)
160160
server.SetHandler(newHandler)
161161
s.server = server

tools/spec-aggregator/main.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ func aggregateGlobalSpecs() {
8787
coreSpec := loadSpec(rootPath+"/"+coreSpecPath, true)
8888

8989
featureEnum := coreSpec.Components.Schemas[featureEnumName]
90-
_ = featureEnum
9190
coreComponents := reflect.ValueOf(coreSpec.Components)
9291

9392
moduleSpecs := loadModuleSpecs()

0 commit comments

Comments
 (0)