func()

in cmd/exporter/app/options/options.go [64:97]


func (o *ExporterOptions) Config() (*exporterconfig.Config, error) {
	c := &exporterconfig.Config{}

	// Prepare kube clients
	var (
		restConfig *restclient.Config
		err        error
	)
	restConfig, err = getClientConfig(o.ClientConnection, "", o.Timeout)
	if err != nil {
		return nil, err
	}
	clusterClient, err := clientset.NewForConfig(restclient.AddUserAgent(restConfig, "carbon-data-exporter"))
	if err != nil {
		return nil, err
	}

	// Prepare event clients.
	eventBroadcaster := record.NewBroadcaster()
	recorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: "carbon-data-exporter"})

	c.Kubeconfig = restConfig
	c.ClusterClient = clusterClient
	c.ClusterInformerFactory = informers.NewSharedInformerFactory(clusterClient, 0)
	c.Broadcaster = eventBroadcaster
	c.Recorder = recorder

	c.Address = o.Address
	c.Port = o.Port
	c.CertFile = o.CertFile
	c.KeyFile = o.KeyFile

	return c, nil
}