@@ -46,6 +46,10 @@ type Manager interface {
46
46
// implements the inject interface - e.g. inject.Client
47
47
Add (Runnable ) error
48
48
49
+ // ServeMetrics serves the metrics until the stop channel is closed.
50
+ // It serves the metrics on `/metrics` on the port configured through the MetricsBindAddress.
51
+ ServeMetrics (<- chan struct {})
52
+
49
53
// SetFields will set any dependencies on an object for which the object has implemented the inject
50
54
// interface - e.g. inject.Client.
51
55
SetFields (interface {}) error
@@ -116,6 +120,11 @@ type Options struct {
116
120
// for serving prometheus metrics
117
121
MetricsBindAddress string
118
122
123
+ // MetricsServingDisabled does not serve the metrics. This can be used when
124
+ // user wants to serve the metrics separately.
125
+ // If not set it is set to false by default.
126
+ MetricsServingDisabled bool
127
+
119
128
// Functions to all for a user to customize the values that will be injected.
120
129
121
130
// NewCache is the function that will create the cache to be used
@@ -211,18 +220,19 @@ func New(config *rest.Config, options Options) (Manager, error) {
211
220
stop := make (chan struct {})
212
221
213
222
return & controllerManager {
214
- config : config ,
215
- scheme : options .Scheme ,
216
- errChan : make (chan error ),
217
- cache : cache ,
218
- fieldIndexes : cache ,
219
- client : writeObj ,
220
- recorderProvider : recorderProvider ,
221
- resourceLock : resourceLock ,
222
- mapper : mapper ,
223
- metricsListener : metricsListener ,
224
- internalStop : stop ,
225
- internalStopper : stop ,
223
+ config : config ,
224
+ scheme : options .Scheme ,
225
+ errChan : make (chan error ),
226
+ cache : cache ,
227
+ fieldIndexes : cache ,
228
+ client : writeObj ,
229
+ recorderProvider : recorderProvider ,
230
+ resourceLock : resourceLock ,
231
+ mapper : mapper ,
232
+ metricsListener : metricsListener ,
233
+ metricsServingDisabled : options .MetricsServingDisabled ,
234
+ internalStop : stop ,
235
+ internalStopper : stop ,
226
236
}, nil
227
237
}
228
238
0 commit comments