forked from kyma-project/kyma
/
ui.go
38 lines (29 loc) · 1.05 KB
/
ui.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package ui
import (
"time"
"github.com/kyma-project/kyma/components/idppreset/pkg/client/clientset/versioned"
"github.com/kyma-project/kyma/components/idppreset/pkg/client/informers/externalversions"
"github.com/pkg/errors"
"k8s.io/client-go/rest"
)
type Resolver struct {
*idpPresetResolver
informerFactory externalversions.SharedInformerFactory
}
func New(restConfig *rest.Config, informerResyncPeriod time.Duration) (*Resolver, error) {
client, err := versioned.NewForConfig(restConfig)
if err != nil {
return nil, errors.Wrap(err, "while initializing Clientset")
}
informerFactory := externalversions.NewSharedInformerFactory(client, informerResyncPeriod)
idpPresetGroup := informerFactory.Ui().V1alpha1()
svc := newIDPPresetService(client.UiV1alpha1(), idpPresetGroup.IDPPresets().Informer())
return &Resolver{
idpPresetResolver: newIDPPresetResolver(svc),
informerFactory: informerFactory,
}, nil
}
func (r *Resolver) WaitForCacheSync(stopCh <-chan struct{}) {
r.informerFactory.Start(stopCh)
r.informerFactory.WaitForCacheSync(stopCh)
}