MCPcopy Index your code
hub / github.com/zalando/postgres-operator / NewController

Function NewController

pkg/controller/controller.go:78–121  ·  view source on GitHub ↗

NewController creates a new controller

(controllerConfig *spec.ControllerConfig, controllerId string)

Source from the content-addressed store, hash-verified

76
77// NewController creates a new controller
78func NewController(controllerConfig *spec.ControllerConfig, controllerId string) *Controller {
79 logger := logrus.New()
80 if controllerConfig.EnableJsonLogging {
81 logger.SetFormatter(&logrus.JSONFormatter{})
82 } else {
83 if os.Getenv("LOG_NOQUOTE") != "" {
84 logger.SetFormatter(&logrus.TextFormatter{PadLevelText: true, DisableQuote: true})
85 }
86 }
87
88 var myComponentName = "postgres-operator"
89 if controllerId != "" {
90 myComponentName += "/" + controllerId
91 }
92
93 eventBroadcaster := record.NewBroadcaster()
94
95 // disabling the sending of events also to the logoutput
96 // the operator currently duplicates a lot of log entries with this setup
97 // eventBroadcaster.StartLogging(logger.Infof)
98 scheme := scheme.Scheme
99 acidv1.AddToScheme(scheme)
100 recorder := eventBroadcaster.NewRecorder(scheme, v1.EventSource{Component: myComponentName})
101
102 c := &Controller{
103 config: *controllerConfig,
104 opConfig: &config.Config{},
105 logger: logger.WithField("pkg", "controller"),
106 eventRecorder: recorder,
107 eventBroadcaster: eventBroadcaster,
108 controllerID: controllerId,
109 curWorkerCluster: sync.Map{},
110 clusterWorkers: make(map[spec.NamespacedName]uint32),
111 clusters: make(map[spec.NamespacedName]*cluster.Cluster),
112 clusterLogs: make(map[spec.NamespacedName]ringlog.RingLogger),
113 clusterHistory: make(map[spec.NamespacedName]ringlog.RingLogger),
114 teamClusters: make(map[string][]spec.NamespacedName),
115 stopCh: make(chan struct{}),
116 podCh: make(chan cluster.PodEvent),
117 }
118 logger.Hooks.Add(c)
119
120 return c
121}
122
123func (c *Controller) initClients() {
124 var err error

Callers 4

mainFunction · 0.92
newUtilTestControllerFunction · 0.85
newNodeTestControllerFunction · 0.85

Calls

no outgoing calls

Tested by 3

newUtilTestControllerFunction · 0.68
newNodeTestControllerFunction · 0.68