@@ -120,59 +120,13 @@ func (builder *Builder) Build() *HAProxyController {
120120 }
121121
122122 chShutdown := make (chan struct {})
123+
123124 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 )
153126 }
154127
155128 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 )
176130 }
177131
178132 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 {
194148 }
195149}
196150
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+
197206func requestHandler (ctx * fasthttp.RequestCtx ) {
198207 ctx .SetStatusCode (fasthttp .StatusOK )
199208 ctx .Response .Header .Set ("X-HAProxy-Ingress-Controller" , "healtz" )
0 commit comments