github.com/jingruilea/kubeedge@v1.2.0-beta.0.0.20200410162146-4bb8902b3879/cloud/pkg/cloudhub/config/config.go (about)

     1  package config
     2  
     3  import (
     4  	"io/ioutil"
     5  	"sync"
     6  
     7  	"k8s.io/client-go/tools/cache"
     8  	"k8s.io/klog"
     9  
    10  	"github.com/kubeedge/kubeedge/cloud/pkg/client/clientset/versioned"
    11  	syncinformer "github.com/kubeedge/kubeedge/cloud/pkg/client/informers/externalversions/reliablesyncs/v1alpha1"
    12  	synclister "github.com/kubeedge/kubeedge/cloud/pkg/client/listers/reliablesyncs/v1alpha1"
    13  	"github.com/kubeedge/kubeedge/pkg/apis/componentconfig/cloudcore/v1alpha1"
    14  )
    15  
    16  var Config Configure
    17  var once sync.Once
    18  
    19  type Configure struct {
    20  	v1alpha1.CloudHub
    21  	KubeAPIConfig *v1alpha1.KubeAPIConfig
    22  	Ca            []byte
    23  	Cert          []byte
    24  	Key           []byte
    25  }
    26  
    27  func InitConfigure(hub *v1alpha1.CloudHub, kubeAPIConfig *v1alpha1.KubeAPIConfig) {
    28  	once.Do(func() {
    29  		ca, err := ioutil.ReadFile(hub.TLSCAFile)
    30  		if err != nil {
    31  			klog.Fatalf("read ca file %v error %v", hub.TLSCAFile, err)
    32  		}
    33  		cert, err := ioutil.ReadFile(hub.TLSCertFile)
    34  		if err != nil {
    35  			klog.Fatalf("read cert file %v error %v", hub.TLSCertFile, err)
    36  		}
    37  		key, err := ioutil.ReadFile(hub.TLSPrivateKeyFile)
    38  		if err != nil {
    39  			klog.Fatalf("read key file %v error %v", hub.TLSPrivateKeyFile, err)
    40  		}
    41  		Config = Configure{
    42  			CloudHub:      *hub,
    43  			KubeAPIConfig: kubeAPIConfig,
    44  			Ca:            ca,
    45  			Cert:          cert,
    46  			Key:           key,
    47  		}
    48  	})
    49  }
    50  
    51  // ObjectSyncController use beehive context message layer
    52  type ObjectSyncController struct {
    53  	CrdClient versioned.Interface
    54  
    55  	// informer
    56  	ClusterObjectSyncInformer syncinformer.ClusterObjectSyncInformer
    57  	ObjectSyncInformer        syncinformer.ObjectSyncInformer
    58  
    59  	// synced
    60  	ClusterObjectSyncSynced cache.InformerSynced
    61  	ObjectSyncSynced        cache.InformerSynced
    62  
    63  	// lister
    64  	ClusterObjectSyncLister synclister.ClusterObjectSyncLister
    65  	ObjectSyncLister        synclister.ObjectSyncLister
    66  }