@@ -48,8 +48,11 @@ import (
48
48
)
49
49
50
50
const (
51
+ // PluginTrustDisabled - enum representing plugin trust disabled
51
52
PluginTrustDisabled int = iota
53
+ // PluginTrustEnabled - enum representing plugin trust enabled
52
54
PluginTrustEnabled
55
+ // PluginTrustWarn - enum representing plugin trust warning
53
56
PluginTrustWarn
54
57
)
55
58
58
61
"_module" : "control" ,
59
62
})
60
63
64
+ // ErrLoadedPluginNotFound - error message when a loaded plugin is not found
61
65
ErrLoadedPluginNotFound = errors .New ("Loaded plugin not found" )
66
+ // ErrControllerNotStarted - error message when the Controller was not started
62
67
ErrControllerNotStarted = errors .New ("Must start Controller before calling Load()" )
63
68
)
64
69
@@ -125,29 +130,33 @@ type managesSigning interface {
125
130
ValidateSignature ([]string , string , []byte ) error
126
131
}
127
132
128
- type ControlOpt func (* pluginControl )
133
+ // PluginControlOpt is used to set optional parameters on the pluginControl struct
134
+ type PluginControlOpt func (* pluginControl )
129
135
130
- func MaxRunningPlugins (m int ) ControlOpt {
136
+ // MaxRunningPlugins sets the maximum number of plugins to run per pool
137
+ func MaxRunningPlugins (m int ) PluginControlOpt {
131
138
return func (c * pluginControl ) {
132
139
maximumRunningPlugins = m
133
140
}
134
141
}
135
142
136
- func CacheExpiration (t time.Duration ) ControlOpt {
143
+ // CacheExpiration is the PluginControlOpt which sets the global metric cache TTL
144
+ func CacheExpiration (t time.Duration ) PluginControlOpt {
137
145
return func (c * pluginControl ) {
138
146
client .GlobalCacheExpiration = t
139
147
}
140
148
}
141
149
142
- func OptSetConfig (cfg * config ) ControlOpt {
150
+ // OptSetConfig sets the plugin control configuration.
151
+ func OptSetConfig (cfg * config ) PluginControlOpt {
143
152
return func (c * pluginControl ) {
144
153
c .Config = cfg
145
154
c .pluginManager .SetPluginConfig (cfg .Plugins )
146
155
}
147
156
}
148
157
149
158
// New returns a new pluginControl instance
150
- func New (opts ... ControlOpt ) * pluginControl {
159
+ func New (opts ... PluginControlOpt ) * pluginControl {
151
160
152
161
c := & pluginControl {}
153
162
c .Config = NewConfig ()
@@ -313,11 +322,10 @@ func (p *pluginControl) verifySignature(rp *core.RequestedPlugin) (bool, serror.
313
322
if rp .Signature () == nil {
314
323
controlLogger .WithFields (f ).Warn ("Loading unsigned plugin " , rp .Path ())
315
324
return false , nil
316
- } else {
317
- err := p .signingManager .ValidateSignature (p .keyringFiles , rp .Path (), rp .Signature ())
318
- if err != nil {
319
- return false , serror .New (err )
320
- }
325
+ }
326
+ err := p .signingManager .ValidateSignature (p .keyringFiles , rp .Path (), rp .Signature ())
327
+ if err != nil {
328
+ return false , serror .New (err )
321
329
}
322
330
}
323
331
return true , nil
@@ -521,7 +529,7 @@ func (p *pluginControl) validateMetricTypeSubscription(mt core.RequestedMetric,
521
529
522
530
// No metric found return error.
523
531
if m == nil {
524
- serrs = append (serrs , serror .New (errors . New ( fmt .Sprintf ("no metric found cannot subscribe: (%s) version(%d)" , mt .Namespace (), mt .Version () ))))
532
+ serrs = append (serrs , serror .New (fmt .Errorf ("no metric found cannot subscribe: (%s) version(%d)" , mt .Namespace (), mt .Version ())))
525
533
return nil , serrs
526
534
}
527
535
@@ -603,7 +611,7 @@ func (p *pluginControl) gatherCollectors(mts []core.Metric) ([]core.Plugin, []se
603
611
return plugins , nil
604
612
}
605
613
606
- func (p * pluginControl ) SubscribeDeps (taskId string , mts []core.Metric , plugins []core.Plugin ) []serror.SnapError {
614
+ func (p * pluginControl ) SubscribeDeps (taskID string , mts []core.Metric , plugins []core.Plugin ) []serror.SnapError {
607
615
var serrs []serror.SnapError
608
616
609
617
collectors , errs := p .gatherCollectors (mts )
@@ -628,7 +636,7 @@ func (p *pluginControl) SubscribeDeps(taskId string, mts []core.Metric, plugins
628
636
serrs = append (serrs , serror .New (err ))
629
637
return serrs
630
638
}
631
- pool .subscribe (taskId , unboundSubscriptionType )
639
+ pool .subscribe (taskID , unboundSubscriptionType )
632
640
if pool .eligible () {
633
641
err = p .verifyPlugin (latest )
634
642
if err != nil {
@@ -647,7 +655,7 @@ func (p *pluginControl) SubscribeDeps(taskId string, mts []core.Metric, plugins
647
655
serrs = append (serrs , serror .New (err ))
648
656
return serrs
649
657
}
650
- pool .subscribe (taskId , boundSubscriptionType )
658
+ pool .subscribe (taskID , boundSubscriptionType )
651
659
if pool .eligible () {
652
660
pl , err := p .pluginManager .get (fmt .Sprintf ("%s:%s:%d" , sub .TypeName (), sub .Name (), sub .Version ()))
653
661
if err != nil {
@@ -666,7 +674,7 @@ func (p *pluginControl) SubscribeDeps(taskId string, mts []core.Metric, plugins
666
674
}
667
675
}
668
676
}
669
- serr := p .sendPluginSubscriptionEvent (taskId , sub )
677
+ serr := p .sendPluginSubscriptionEvent (taskID , sub )
670
678
if serr != nil {
671
679
serrs = append (serrs , serr )
672
680
}
@@ -690,13 +698,13 @@ func (p *pluginControl) verifyPlugin(lp *loadedPlugin) error {
690
698
return nil
691
699
}
692
700
693
- func (p * pluginControl ) sendPluginSubscriptionEvent (taskId string , pl core.Plugin ) serror.SnapError {
701
+ func (p * pluginControl ) sendPluginSubscriptionEvent (taskID string , pl core.Plugin ) serror.SnapError {
694
702
pt , err := core .ToPluginType (pl .TypeName ())
695
703
if err != nil {
696
704
return serror .New (err )
697
705
}
698
706
e := & control_event.PluginSubscriptionEvent {
699
- TaskId : taskId ,
707
+ TaskId : taskID ,
700
708
PluginType : int (pt ),
701
709
PluginName : pl .Name (),
702
710
PluginVersion : pl .Version (),
@@ -711,7 +719,7 @@ func (p *pluginControl) sendPluginSubscriptionEvent(taskId string, pl core.Plugi
711
719
return nil
712
720
}
713
721
714
- func (p * pluginControl ) UnsubscribeDeps (taskId string , mts []core.Metric , plugins []core.Plugin ) []serror.SnapError {
722
+ func (p * pluginControl ) UnsubscribeDeps (taskID string , mts []core.Metric , plugins []core.Plugin ) []serror.SnapError {
715
723
var serrs []serror.SnapError
716
724
717
725
collectors , errs := p .gatherCollectors (mts )
@@ -727,9 +735,9 @@ func (p *pluginControl) UnsubscribeDeps(taskId string, mts []core.Metric, plugin
727
735
return serrs
728
736
}
729
737
if pool != nil {
730
- pool .unsubscribe (taskId )
738
+ pool .unsubscribe (taskID )
731
739
}
732
- serr := p .sendPluginUnsubscriptionEvent (taskId , sub )
740
+ serr := p .sendPluginUnsubscriptionEvent (taskID , sub )
733
741
if serr != nil {
734
742
serrs = append (serrs , serr )
735
743
}
@@ -738,13 +746,13 @@ func (p *pluginControl) UnsubscribeDeps(taskId string, mts []core.Metric, plugin
738
746
return serrs
739
747
}
740
748
741
- func (p * pluginControl ) sendPluginUnsubscriptionEvent (taskId string , pl core.Plugin ) serror.SnapError {
749
+ func (p * pluginControl ) sendPluginUnsubscriptionEvent (taskID string , pl core.Plugin ) serror.SnapError {
742
750
pt , err := core .ToPluginType (pl .TypeName ())
743
751
if err != nil {
744
752
return serror .New (err )
745
753
}
746
754
e := & control_event.PluginUnsubscriptionEvent {
747
- TaskId : taskId ,
755
+ TaskId : taskID ,
748
756
PluginType : int (pt ),
749
757
PluginName : pl .Name (),
750
758
PluginVersion : pl .Version (),
0 commit comments