@@ -49,24 +49,25 @@ const controllerAgentName = "flagger"
49
49
50
50
// Controller is managing the canary objects and schedules canary deployments
51
51
type Controller struct {
52
- kubeClient kubernetes.Interface
53
- flaggerClient clientset.Interface
54
- flaggerInformers Informers
55
- flaggerSynced cache.InformerSynced
56
- flaggerWindow time.Duration
57
- workqueue workqueue.RateLimitingInterface
58
- eventRecorder record.EventRecorder
59
- logger * zap.SugaredLogger
60
- canaries * sync.Map
61
- jobs map [string ]CanaryJob
62
- recorder metrics.Recorder
63
- notifier notifier.Interface
64
- canaryFactory * canary.Factory
65
- routerFactory * router.Factory
66
- observerFactory * observers.Factory
67
- meshProvider string
68
- eventWebhook string
69
- clusterName string
52
+ kubeClient kubernetes.Interface
53
+ flaggerClient clientset.Interface
54
+ flaggerInformers Informers
55
+ flaggerSynced cache.InformerSynced
56
+ flaggerWindow time.Duration
57
+ workqueue workqueue.RateLimitingInterface
58
+ eventRecorder record.EventRecorder
59
+ logger * zap.SugaredLogger
60
+ canaries * sync.Map
61
+ jobs map [string ]CanaryJob
62
+ recorder metrics.Recorder
63
+ notifier notifier.Interface
64
+ canaryFactory * canary.Factory
65
+ routerFactory * router.Factory
66
+ observerFactory * observers.Factory
67
+ meshProvider string
68
+ eventWebhook string
69
+ clusterName string
70
+ noCrossNamespaceRefs bool
70
71
}
71
72
72
73
type Informers struct {
@@ -89,6 +90,7 @@ func NewController(
89
90
version string ,
90
91
eventWebhook string ,
91
92
clusterName string ,
93
+ noCrossNamespaceRefs bool ,
92
94
) * Controller {
93
95
logger .Debug ("Creating event broadcaster" )
94
96
flaggerscheme .AddToScheme (scheme .Scheme )
@@ -103,24 +105,25 @@ func NewController(
103
105
recorder .SetInfo (version , meshProvider )
104
106
105
107
ctrl := & Controller {
106
- kubeClient : kubeClient ,
107
- flaggerClient : flaggerClient ,
108
- flaggerInformers : flaggerInformers ,
109
- flaggerSynced : flaggerInformers .CanaryInformer .Informer ().HasSynced ,
110
- workqueue : workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), controllerAgentName ),
111
- eventRecorder : eventRecorder ,
112
- logger : logger ,
113
- canaries : new (sync.Map ),
114
- jobs : map [string ]CanaryJob {},
115
- flaggerWindow : flaggerWindow ,
116
- observerFactory : observerFactory ,
117
- recorder : recorder ,
118
- notifier : notifier ,
119
- canaryFactory : canaryFactory ,
120
- routerFactory : routerFactory ,
121
- meshProvider : meshProvider ,
122
- eventWebhook : eventWebhook ,
123
- clusterName : clusterName ,
108
+ kubeClient : kubeClient ,
109
+ flaggerClient : flaggerClient ,
110
+ flaggerInformers : flaggerInformers ,
111
+ flaggerSynced : flaggerInformers .CanaryInformer .Informer ().HasSynced ,
112
+ workqueue : workqueue .NewNamedRateLimitingQueue (workqueue .DefaultControllerRateLimiter (), controllerAgentName ),
113
+ eventRecorder : eventRecorder ,
114
+ logger : logger ,
115
+ canaries : new (sync.Map ),
116
+ jobs : map [string ]CanaryJob {},
117
+ flaggerWindow : flaggerWindow ,
118
+ observerFactory : observerFactory ,
119
+ recorder : recorder ,
120
+ notifier : notifier ,
121
+ canaryFactory : canaryFactory ,
122
+ routerFactory : routerFactory ,
123
+ meshProvider : meshProvider ,
124
+ eventWebhook : eventWebhook ,
125
+ clusterName : clusterName ,
126
+ noCrossNamespaceRefs : noCrossNamespaceRefs ,
124
127
}
125
128
126
129
flaggerInformers .CanaryInformer .Informer ().AddEventHandler (cache.ResourceEventHandlerFuncs {
0 commit comments