@@ -120,59 +120,13 @@ func (builder *Builder) Build() *HAProxyController {
120
120
}
121
121
122
122
chShutdown := make (chan struct {})
123
+
123
124
if builder .osArgs .ControllerPort != 0 {
124
- rtr := router .New ()
125
- var runningServices string
126
- if builder .osArgs .PprofEnabled {
127
- rtr .GET ("/debug/pprof/{profile:*}" , pprofhandler .PprofHandler )
128
- runningServices += " pprof"
129
- }
130
- if builder .osArgs .PrometheusEnabled {
131
- rtr .GET ("/metrics" , fasthttpadaptor .NewFastHTTPHandler (promhttp .Handler ()))
132
- runningServices += ", prometheus"
133
- }
134
- rtr .GET ("/healtz" , requestHandler )
135
- // all others will be 404
136
- go func () {
137
- server := fasthttp.Server {
138
- Handler : rtr .Handler ,
139
- NoDefaultServerHeader : true ,
140
- }
141
- go func () {
142
- <- chShutdown
143
- if err := server .Shutdown (); err != nil {
144
- logger .Errorf ("Could not gracefully shutdown controller data server: %v\n " , err )
145
- } else {
146
- logger .Errorf ("Gracefully shuting down controller data server" )
147
- }
148
- }()
149
- logger .Infof ("running controller data server on :%d, running%s" , builder .osArgs .ControllerPort , runningServices )
150
- err := server .ListenAndServe (":" + strconv .Itoa (builder .osArgs .ControllerPort ))
151
- logger .Error (err )
152
- }()
125
+ addControllerMetricData (builder , chShutdown )
153
126
}
154
127
155
128
if builder .osArgs .DefaultBackendService .String () == "" {
156
- rtr := router .New ()
157
- rtr .GET ("/healtz" , requestHandler )
158
- // all others will be 404
159
- go func () {
160
- server := fasthttp.Server {
161
- Handler : rtr .Handler ,
162
- NoDefaultServerHeader : true ,
163
- }
164
- go func () {
165
- <- chShutdown
166
- if err := server .Shutdown (); err != nil {
167
- logger .Errorf ("Could not gracefully shutdown controller data server: %v\n " , err )
168
- } else {
169
- logger .Errorf ("Gracefully shuting down controller data server" )
170
- }
171
- }()
172
- logger .Infof ("running default backend server on :%d" , builder .osArgs .DefaultBackendPort )
173
- err := server .ListenAndServe (":" + strconv .Itoa (builder .osArgs .DefaultBackendPort ))
174
- logger .Error (err )
175
- }()
129
+ addLocalDefaultService (builder , chShutdown )
176
130
}
177
131
178
132
haproxy , err := haproxy .New (builder .osArgs , builder .haproxyEnv , builder .haproxyCfgFile , builder .haproxyProcess , builder .haproxyClient , builder .haproxyRules )
@@ -194,6 +148,61 @@ func (builder *Builder) Build() *HAProxyController {
194
148
}
195
149
}
196
150
151
+ func addControllerMetricData (builder * Builder , chShutdown chan struct {}) {
152
+ rtr := router .New ()
153
+ var runningServices string
154
+ if builder .osArgs .PprofEnabled {
155
+ rtr .GET ("/debug/pprof/{profile:*}" , pprofhandler .PprofHandler )
156
+ runningServices += " pprof"
157
+ }
158
+ if builder .osArgs .PrometheusEnabled {
159
+ rtr .GET ("/metrics" , fasthttpadaptor .NewFastHTTPHandler (promhttp .Handler ()))
160
+ runningServices += ", prometheus"
161
+ }
162
+ rtr .GET ("/healtz" , requestHandler )
163
+ // all others will be 404
164
+ go func () {
165
+ server := fasthttp.Server {
166
+ Handler : rtr .Handler ,
167
+ NoDefaultServerHeader : true ,
168
+ }
169
+ go func () {
170
+ <- chShutdown
171
+ if err := server .Shutdown (); err != nil {
172
+ logger .Errorf ("Could not gracefully shutdown controller data server: %v\n " , err )
173
+ } else {
174
+ logger .Errorf ("Gracefully shuting down controller data server" )
175
+ }
176
+ }()
177
+ logger .Infof ("running controller data server on :%d, running%s" , builder .osArgs .ControllerPort , runningServices )
178
+ err := server .ListenAndServe (":" + strconv .Itoa (builder .osArgs .ControllerPort ))
179
+ logger .Error (err )
180
+ }()
181
+ }
182
+
183
+ func addLocalDefaultService (builder * Builder , chShutdown chan struct {}) {
184
+ rtr := router .New ()
185
+ rtr .GET ("/healtz" , requestHandler )
186
+ // all others will be 404
187
+ go func () {
188
+ server := fasthttp.Server {
189
+ Handler : rtr .Handler ,
190
+ NoDefaultServerHeader : true ,
191
+ }
192
+ go func () {
193
+ <- chShutdown
194
+ if err := server .Shutdown (); err != nil {
195
+ logger .Errorf ("Could not gracefully shutdown controller data server: %v\n " , err )
196
+ } else {
197
+ logger .Errorf ("Gracefully shuting down controller data server" )
198
+ }
199
+ }()
200
+ logger .Infof ("running default backend server on :%d" , builder .osArgs .DefaultBackendPort )
201
+ err := server .ListenAndServe (":" + strconv .Itoa (builder .osArgs .DefaultBackendPort ))
202
+ logger .Error (err )
203
+ }()
204
+ }
205
+
197
206
func requestHandler (ctx * fasthttp.RequestCtx ) {
198
207
ctx .SetStatusCode (fasthttp .StatusOK )
199
208
ctx .Response .Header .Set ("X-HAProxy-Ingress-Controller" , "healtz" )
0 commit comments