Skip to content

Commit 3bb92f1

Browse files
committed
fix: metrics/healthz bind port
1 parent a42ace9 commit 3bb92f1

File tree

4 files changed

+18
-12
lines changed

4 files changed

+18
-12
lines changed

.changelog/100.txt

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
```release-note:bug
2+
`metrics` - Fix the issue where the port specified in the `metrics-port` configuration was not being used.
3+
```
4+
5+
```release-note:bug
6+
`healthz` - Fix the issue where the port specified in the `healthz-port` configuration was not being used.
7+
```

cmd/operator/main.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package main
1919
import (
2020
"context"
2121
"flag"
22+
"fmt"
2223
"os"
2324
"os/signal"
2425
"syscall"
@@ -84,7 +85,7 @@ func main() {
8485
},
8586
HealthProbeBindAddress: func() string {
8687
if flag.Lookup(models.HealthzFlagName).Value.String() == "true" {
87-
return httpserver.HealthzPort
88+
return fmt.Sprintf(":%d", httpserver.HealthzPort)
8889
}
8990

9091
return "0" // disable healthz server

internal/httpserver/httpserver.go

+7-11
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,11 @@ type (
6060
)
6161

6262
var (
63-
HealthzPort string = "" // expose var to be able to operator
63+
HealthzPort int = 0 // expose var to be able to operator
6464
HealthzPath string = "" // expose var to be able to operator
65-
metricsPort string = ""
65+
metricsPort int = 0
6666
metricsPath string = ""
6767

68-
defaultAddr string = ":8080"
6968
timeoutR = 5 * time.Second
7069
DefaultFuncHealthz HealthzFunc = func() (bool, error) {
7170
_, err := net.DialTimeout("tcp", models.HealthzDefaultAddr, timeoutR)
@@ -79,12 +78,12 @@ var (
7978
func init() {
8079
// * Healthz
8180
flag.Bool(models.HealthzFlagName, false, "Enable the healthz server.")
82-
flag.StringVar(&HealthzPort, models.HealthzPortFlagName, models.HealthzDefaultAddr, "Healthz server port.")
81+
flag.IntVar(&HealthzPort, models.HealthzPortFlagName, int(models.HealthzDefaultPort), "Healthz server port.")
8382
flag.StringVar(&HealthzPath, models.HealthzPathFlagName, models.HealthzDefaultPath, "Healthz server path.")
8483

8584
// * Metrics
8685
flag.Bool(models.MetricsFlagName, false, "Enable the metrics server.")
87-
flag.StringVar(&metricsPort, models.MetricsPortFlagName, models.MetricsDefaultAddr, "Metrics server port.")
86+
flag.IntVar(&metricsPort, models.MetricsPortFlagName, int(models.MetricsDefaultPort), "Metrics server port.")
8887
flag.StringVar(&metricsPath, models.MetricsPathFlagName, models.MetricsDefaultPath, "Metrics server path.")
8988
}
9089

@@ -135,13 +134,13 @@ func DisableMetrics() OptionServer {
135134

136135
// Function to create a new server for health
137136
func (a *app) createHealth() *server {
138-
s := a.new(WithAddr(HealthzPort))
137+
s := a.new(WithAddr(fmt.Sprintf(":%d", HealthzPort)))
139138
return s
140139
}
141140

142141
// Function to create a new server for metrics
143142
func (a *app) createMetrics() *server {
144-
s := a.new(WithAddr(metricsPort))
143+
s := a.new(WithAddr(fmt.Sprintf(":%d", metricsPort)))
145144
s.Config.Get(metricsPath, metrics.Handler().ServeHTTP)
146145
return s
147146
}
@@ -156,7 +155,6 @@ func (a *app) new(opts ...Option) *server {
156155
// create a new server with default parameters
157156
s := &server{
158157
http: &http.Server{
159-
Addr: defaultAddr,
160158
ReadTimeout: timeoutR,
161159
},
162160
Config: r,
@@ -174,9 +172,7 @@ func (a *app) new(opts ...Option) *server {
174172
func WithAddr(addr string) Option {
175173
_, _, err := net.SplitHostPort(addr)
176174
if err != nil {
177-
return func(s *server) {
178-
s.http.Addr = defaultAddr
179-
}
175+
panic(fmt.Sprintf("invalid address: %s", addr))
180176
}
181177
return func(s *server) {
182178
s.http.Addr = addr

tools/env-dev/pod-operator.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ spec:
1414
args:
1515
- "/main"
1616
- "--metrics"
17+
- "--metrics-port=9080"
1718
- "--healthz"
19+
- "--healthz-port=9081"
1820
- "--leader-elect"
1921
ports:
2022
- containerPort: 9443

0 commit comments

Comments
 (0)