Skip to content

Commit 9dd5d76

Browse files
committed
CLEANUP/MINOR: extract local services setup to separate functions
1 parent a224187 commit 9dd5d76

File tree

2 files changed

+60
-51
lines changed

2 files changed

+60
-51
lines changed

pkg/controller/builder.go

Lines changed: 58 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
197206
func requestHandler(ctx *fasthttp.RequestCtx) {
198207
ctx.SetStatusCode(fasthttp.StatusOK)
199208
ctx.Response.Header.Set("X-HAProxy-Ingress-Controller", "healtz")

pkg/controller/global.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ func (c *HAProxyController) handleDefaultService() (reload bool) {
166166
if err != nil {
167167
logger.Errorf("default service: %s", err)
168168
}
169-
return false
169+
return reload
170170
}
171171

172172
// handleDefaultServicePort configures local HAProy default backend provided via cli param "default-backend-port"
@@ -201,7 +201,7 @@ func (c *HAProxyController) handleDefaultServicePort() (reload bool) {
201201
if err != nil {
202202
logger.Errorf("default service port: %s", err)
203203
}
204-
return true
204+
return reload
205205
}
206206

207207
// handleDefaultCert configures default/fallback HAProxy certificate to use for client HTTPS requests.

0 commit comments

Comments
 (0)