@@ -19,7 +19,7 @@ import (
19
19
"strconv"
20
20
"time"
21
21
22
- cr "github.com/haproxytech/kubernetes-ingress/pkg/customresource "
22
+ corev1alpha1 "github.com/haproxytech/kubernetes-ingress/crs/api/core/v1alpha1 "
23
23
"github.com/haproxytech/kubernetes-ingress/pkg/k8s"
24
24
"github.com/haproxytech/kubernetes-ingress/pkg/store"
25
25
"k8s.io/client-go/informers"
@@ -32,12 +32,11 @@ func (c *HAProxyController) monitorChanges() {
32
32
informersSynced := []cache.InformerSynced {}
33
33
stop := make (chan struct {})
34
34
epMirror := c .endpointsMirroring ()
35
- c .crManager = cr .NewCRManager (& c .store , c .k8s .RestConfig , c .osArgs .CacheResyncPeriod , c .eventChan , stop )
36
35
37
36
c .k8s .EventPods (c .podNamespace , c .podPrefix , c .osArgs .CacheResyncPeriod , c .eventChan )
38
37
39
38
for _ , namespace := range c .getWhitelistedNamespaces () {
40
- factory := informers .NewSharedInformerFactoryWithOptions (c .k8s .API , c .osArgs .CacheResyncPeriod , informers .WithNamespace (namespace ))
39
+ factory := informers .NewSharedInformerFactoryWithOptions (c .k8s .GetClient () , c .osArgs .CacheResyncPeriod , informers .WithNamespace (namespace ))
41
40
42
41
// Core.V1 Resources
43
42
svci := factory .Core ().V1 ().Services ().Informer ()
@@ -79,7 +78,7 @@ func (c *HAProxyController) monitorChanges() {
79
78
}
80
79
81
80
// Custom Resources
82
- informersSynced = append (informersSynced , c .crManager . RunInformers (namespace )... )
81
+ informersSynced = append (informersSynced , c .k8s . RunCRInformers (namespace , stop )... )
83
82
}
84
83
85
84
if ! cache .WaitForCacheSync (stop , informersSynced ... ) {
@@ -109,8 +108,24 @@ func (c *HAProxyController) SyncData() {
109
108
hadChanges = false
110
109
continue
111
110
}
112
- case k8s .CUSTOM_RESOURCE :
113
- change = c .crManager .EventCustomResource (job )
111
+ case k8s .CR_GLOBAL :
112
+ var data * corev1alpha1.Global
113
+ if job .Data != nil {
114
+ data = job .Data .(* corev1alpha1.Global )
115
+ }
116
+ change = c .store .EventGlobalCR (job .Namespace , job .Name , data )
117
+ case k8s .CR_DEFAULTS :
118
+ var data * corev1alpha1.Defaults
119
+ if job .Data != nil {
120
+ data = job .Data .(* corev1alpha1.Defaults )
121
+ }
122
+ change = c .store .EventDefaultsCR (job .Namespace , job .Name , data )
123
+ case k8s .CR_BACKEND :
124
+ var data * corev1alpha1.Backend
125
+ if job .Data != nil {
126
+ data = job .Data .(* corev1alpha1.Backend )
127
+ }
128
+ change = c .store .EventBackendCR (job .Namespace , job .Name , data )
114
129
case k8s .NAMESPACE :
115
130
change = c .store .EventNamespace (ns , job .Data .(* store.Namespace ))
116
131
case k8s .INGRESS :
@@ -134,7 +149,7 @@ func (c *HAProxyController) SyncData() {
134
149
135
150
func (c * HAProxyController ) getIngressSharedInformers (factory informers.SharedInformerFactory ) (ii , ici cache.SharedIndexInformer ) {
136
151
for i , apiGroup := range []string {"networking.k8s.io/v1" , "networking.k8s.io/v1beta1" , "extensions/v1beta1" } {
137
- resources , err := c .k8s .API .ServerResourcesForGroupVersion (apiGroup )
152
+ resources , err := c .k8s .GetClient () .ServerResourcesForGroupVersion (apiGroup )
138
153
if err != nil {
139
154
continue
140
155
}
@@ -168,7 +183,7 @@ func (c *HAProxyController) getIngressSharedInformers(factory informers.SharedIn
168
183
169
184
func (c * HAProxyController ) getEndpointSlicesSharedInformer (factory informers.SharedInformerFactory ) cache.SharedIndexInformer {
170
185
for i , apiGroup := range []string {"discovery.k8s.io/v1" , "discovery.k8s.io/v1beta1" } {
171
- resources , err := c .k8s .API .ServerResourcesForGroupVersion (apiGroup )
186
+ resources , err := c .k8s .GetClient () .ServerResourcesForGroupVersion (apiGroup )
172
187
if err != nil {
173
188
continue
174
189
}
@@ -213,7 +228,7 @@ func (c *HAProxyController) getWhitelistedNamespaces() []string {
213
228
func (c * HAProxyController ) endpointsMirroring () bool {
214
229
var major , minor int
215
230
var err error
216
- version , _ := c .k8s .API .ServerVersion ()
231
+ version , _ := c .k8s .GetClient () .ServerVersion ()
217
232
if version == nil {
218
233
return false
219
234
}
0 commit comments