@@ -22,7 +22,7 @@ import (
22
22
"os"
23
23
24
24
_ "k8s.io/client-go/plugin/pkg/client/auth"
25
- "k8s.io/klog/v2"
25
+ "k8s.io/klog/v2/textlogger "
26
26
27
27
"k8s.io/apimachinery/pkg/runtime"
28
28
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
@@ -34,7 +34,11 @@ import (
34
34
"sigs.k8s.io/controller-runtime/pkg/webhook"
35
35
36
36
nfdkubernetesiov1 "sigs.k8s.io/node-feature-discovery-operator/api/v1"
37
- "sigs.k8s.io/node-feature-discovery-operator/controllers"
37
+ "sigs.k8s.io/node-feature-discovery-operator/internal/configmap"
38
+ "sigs.k8s.io/node-feature-discovery-operator/internal/controllers"
39
+ "sigs.k8s.io/node-feature-discovery-operator/internal/daemonset"
40
+ "sigs.k8s.io/node-feature-discovery-operator/internal/deployment"
41
+ "sigs.k8s.io/node-feature-discovery-operator/internal/job"
38
42
"sigs.k8s.io/node-feature-discovery-operator/pkg/utils"
39
43
"sigs.k8s.io/node-feature-discovery-operator/pkg/version"
40
44
// +kubebuilder:scaffold:imports
@@ -71,12 +75,17 @@ func main() {
71
75
printVersion := flags .Bool ("version" , false , "Print version and exit." )
72
76
73
77
args := initFlags (flags )
74
- // Inject klog flags
75
- klog .InitFlags (flags )
78
+
79
+ logConfig := textlogger .NewConfig ()
80
+ logConfig .AddFlags (flag .CommandLine )
81
+ logger := textlogger .NewLogger (logConfig ).WithName ("nfd" )
82
+
83
+ ctrl .SetLogger (logger )
84
+ setupLogger := logger .WithName ("setup" )
76
85
77
86
_ = flags .Parse (os .Args [1 :])
78
87
if len (flags .Args ()) > 0 {
79
- fmt . Fprintf ( flags . Output (), "unknown command line argument: %s \n " , flags .Args ()[0 ])
88
+ setupLogger . Info ( "unknown command line argument" , flags .Args ()[0 ])
80
89
flags .Usage ()
81
90
os .Exit (2 )
82
91
}
@@ -88,7 +97,7 @@ func main() {
88
97
89
98
watchNamespace , envSet := utils .GetWatchNamespace ()
90
99
if ! envSet {
91
- klog .Info ("unable to get WatchNamespace, " +
100
+ setupLogger .Info ("unable to get WatchNamespace, " +
92
101
"the manager will watch and manage resources in all namespaces" )
93
102
}
94
103
@@ -112,37 +121,47 @@ func main() {
112
121
})
113
122
114
123
if err != nil {
115
- klog .Error (err , "unable to start manager" )
124
+ setupLogger .Error (err , "unable to start manager" )
116
125
os .Exit (1 )
117
126
}
118
127
119
- if err = (& controllers.NodeFeatureDiscoveryReconciler {
120
- Client : mgr .GetClient (),
121
- Scheme : mgr .GetScheme (),
122
- }).SetupWithManager (mgr ); err != nil {
123
- klog .Error (err , "unable to create controller" , "controller" , "NodeFeatureDiscovery" )
128
+ client := mgr .GetClient ()
129
+ scheme := mgr .GetScheme ()
130
+
131
+ deploymentAPI := deployment .NewDeploymentAPI (client , scheme )
132
+ daemonsetAPI := daemonset .NewDaemonsetAPI (client , scheme )
133
+ configmapAPI := configmap .NewConfigMapAPI (client , scheme )
134
+ jobAPI := job .NewJobAPI (client , scheme )
135
+
136
+ if err = new_controllers .NewNodeFeatureDiscoveryReconciler (client ,
137
+ deploymentAPI ,
138
+ daemonsetAPI ,
139
+ configmapAPI ,
140
+ jobAPI ,
141
+ scheme ).SetupWithManager (mgr ); err != nil {
142
+ setupLogger .Error (err , "unable to create controller" , "controller" , "NodeFeatureDiscovery" )
124
143
os .Exit (1 )
125
144
}
126
145
// +kubebuilder:scaffold:builder
127
146
128
147
// Next, add a Healthz checker to the manager. Healthz is a health and liveness package
129
148
// that the operator will use to periodically check the health of its pods, etc.
130
149
if err := mgr .AddHealthzCheck ("health" , healthz .Ping ); err != nil {
131
- klog .Error (err , "unable to set up health check" )
150
+ setupLogger .Error (err , "unable to set up health check" )
132
151
os .Exit (1 )
133
152
}
134
153
135
154
// Now add a ReadyZ checker to the manager as well. It is important to ensure that the
136
155
// API server's readiness is checked when the operator is installed and running.
137
156
if err := mgr .AddReadyzCheck ("check" , healthz .Ping ); err != nil {
138
- klog .Error (err , "unable to set up ready check" )
157
+ setupLogger .Error (err , "unable to set up ready check" )
139
158
os .Exit (1 )
140
159
}
141
160
142
161
// Register signal handler for SIGINT and SIGTERM to terminate the manager
143
- klog .Info ("starting manager" )
162
+ setupLogger .Info ("starting manager" )
144
163
if err := mgr .Start (ctrl .SetupSignalHandler ()); err != nil {
145
- klog .Error (err , "problem running manager" )
164
+ setupLogger .Error (err , "problem running manager" )
146
165
os .Exit (1 )
147
166
}
148
167
}
0 commit comments