...

Source file src/edge-infra.dev/pkg/sds/ien/k8s/controllers/nodeagent/manager.go

Documentation: edge-infra.dev/pkg/sds/ien/k8s/controllers/nodeagent

     1  package nodeagent
     2  
     3  import (
     4  	kruntime "k8s.io/apimachinery/pkg/runtime"
     5  	utilruntime "k8s.io/apimachinery/pkg/util/runtime"
     6  	clientgoscheme "k8s.io/client-go/kubernetes/scheme"
     7  	ctrl "sigs.k8s.io/controller-runtime"
     8  
     9  	"edge-infra.dev/pkg/k8s/runtime/controller"
    10  	v1ien "edge-infra.dev/pkg/sds/ien/k8s/apis/v1"
    11  )
    12  
    13  // createControllerManager returns a new controller manager.
    14  func createControllerManager(o ...controller.Option) (ctrl.Manager, error) {
    15  	log := ctrl.Log.WithName("setup")
    16  
    17  	o = append(o, controller.WithMetricsAddress(":9080"))
    18  	ctlCfg, opts := controller.ProcessOptions(o...)
    19  	opts.Scheme = createScheme()
    20  
    21  	mgr, err := ctrl.NewManager(ctlCfg, opts)
    22  	if err != nil {
    23  		log.Error(err, "unable to create manager")
    24  		return nil, err
    25  	}
    26  
    27  	return mgr, nil
    28  }
    29  
    30  // createScheme creates a new Kubernetes schema and registers the built-in
    31  // Kubernetes resources along with the IENode and NodeFirewall resources.
    32  func createScheme() *kruntime.Scheme {
    33  	scheme := kruntime.NewScheme()
    34  	utilruntime.Must(clientgoscheme.AddToScheme(scheme))
    35  	utilruntime.Must(v1ien.AddToScheme(scheme))
    36  	return scheme
    37  }
    38  

View as plain text