Skip to content

Commit 72f558f

Browse files
refactor: unify registry port configuration and enforce positive duration constraints for registry TTL and health intervals
Signed-off-by: Ankit Kr. Chowdhury <rakesh856100@gmail.com>
1 parent bd1efa2 commit 72f558f

4 files changed

Lines changed: 22 additions & 13 deletions

File tree

charts/agentrax/templates/deployment.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ spec:
4545
{{- if hasKey .Values.manager "metricsSecure" }}
4646
- --metrics-secure={{ .Values.manager.metricsSecure }}
4747
{{- end }}
48-
- --registry-bind-address={{ .Values.registry.bindAddress | default ":9090" }}
48+
- --registry-bind-address=:{{ .Values.registry.bindPort | default 9090 }}
4949
- --gpu-resource-name={{ .Values.manager.gpuResourceName | default "nvidia.com/gpu" }}
5050
{{- if .Values.prometheus.url }}
5151
- --prometheus-url={{ .Values.prometheus.url }}
@@ -76,6 +76,11 @@ spec:
7676
- name: health
7777
containerPort: {{ .Values.manager.healthProbeBindPort | default 8081 }}
7878
protocol: TCP
79+
{{- if and .Values.manager.metricsBindAddress (ne .Values.manager.metricsBindAddress "0") }}
80+
- name: {{ if eq (toString .Values.manager.metricsSecure) "false" }}http{{ else }}https{{ end }}
81+
containerPort: {{ if eq .Values.manager.metricsBindAddress ":8080" }}8080{{ else if eq .Values.manager.metricsBindAddress ":8443" }}8443{{ else if eq (toString .Values.manager.metricsSecure) "false" }}8080{{ else }}8443{{ end }}
82+
protocol: TCP
83+
{{- end }}
7984
livenessProbe:
8085
httpGet:
8186
path: /healthz

charts/agentrax/templates/metrics-service.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ spec:
1111
selector:
1212
{{- include "agentrax.selectorLabels" . | nindent 4 }}
1313
ports:
14-
- name: https
15-
port: 8443
16-
targetPort: 8443
14+
- name: {{ if eq (toString .Values.manager.metricsSecure) "false" }}http{{ else }}https{{ end }}
15+
port: {{ if eq .Values.manager.metricsBindAddress ":8080" }}8080{{ else if eq .Values.manager.metricsBindAddress ":8443" }}8443{{ else if eq (toString .Values.manager.metricsSecure) "false" }}8080{{ else }}8443{{ end }}
16+
targetPort: {{ if eq .Values.manager.metricsBindAddress ":8080" }}8080{{ else if eq .Values.manager.metricsBindAddress ":8443" }}8443{{ else if eq (toString .Values.manager.metricsSecure) "false" }}8080{{ else }}8443{{ end }}
1717
protocol: TCP
1818
{{- end }}

charts/agentrax/values.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,7 @@ registry:
9494
port: 9090
9595
# -- Registry Service type
9696
type: ClusterIP
97-
# -- Bind address for the in-operator registry HTTP server
98-
bindAddress: ":9090"
99-
# -- Bind port for the registry HTTP server (referenced by container port and targetPort).
97+
# -- Bind port for the registry HTTP server (used for container port, service targetPort, and manager bind address).
10098
bindPort: 9090
10199
# -- Registry entry TTL (e.g. "90s")
102100
ttl: "90s"

cmd/main.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -219,28 +219,34 @@ func main() {
219219

220220
registryTTL := registry.DefaultTTL
221221
if v := os.Getenv("AGENTRAX_REGISTRY_TTL"); v != "" {
222-
if parsed, err := time.ParseDuration(v); err == nil {
222+
if parsed, err := time.ParseDuration(v); err == nil && parsed > 0 {
223223
registryTTL = parsed
224224
} else {
225-
setupLog.Error(err, "invalid AGENTRAX_REGISTRY_TTL, using default", "default", registry.DefaultTTL)
225+
setupLog.Error(err, "invalid or non-positive AGENTRAX_REGISTRY_TTL, using default",
226+
"default", registry.DefaultTTL)
226227
}
227228
}
228229

229230
mcpHealthInterval := 60 * time.Second
230231
if v := os.Getenv("AGENTRAX_MCP_HEALTH_INTERVAL"); v != "" {
231-
if parsed, err := time.ParseDuration(v); err == nil {
232+
if parsed, err := time.ParseDuration(v); err == nil && parsed > 0 {
232233
mcpHealthInterval = parsed
233234
} else {
234-
setupLog.Error(err, "invalid AGENTRAX_MCP_HEALTH_INTERVAL, using default", "default", mcpHealthInterval)
235+
setupLog.Error(err, "invalid or non-positive AGENTRAX_MCP_HEALTH_INTERVAL, using default",
236+
"default", mcpHealthInterval)
235237
}
236238
}
237239

238240
if mcpHealthInterval >= registryTTL {
241+
adjusted := registryTTL / 2
242+
if adjusted <= 0 {
243+
adjusted = time.Second
244+
}
239245
setupLog.Info("AGENTRAX_MCP_HEALTH_INTERVAL must be strictly less than AGENTRAX_REGISTRY_TTL",
240246
"configuredInterval", mcpHealthInterval,
241247
"registryTTL", registryTTL,
242-
"adjustedInterval", registryTTL/2)
243-
mcpHealthInterval = registryTTL / 2
248+
"adjustedInterval", adjusted)
249+
mcpHealthInterval = adjusted
244250
}
245251

246252
mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{

0 commit comments

Comments
 (0)