File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 5656 STREAMING_MAX_BUF_SIZE : {{ .Values.controller.streaming.maxBufSize | quote }}
5757 STREAMING_TIMEOUT : {{ .Values.controller.streaming.timeout | quote }}
5858 WATCH_NAMESPACES : {{ include "kagent.watchNamespaces" . | quote }}
59+ {{- if .Values.controller.metrics.enabled }}
60+ METRICS_BIND_ADDRESS : " :{{ .Values.controller.metrics.port }}"
61+ METRICS_SECURE : {{ .Values.controller.metrics.secure | quote }}
62+ {{- end }}
5963 ZAP_LOG_LEVEL : {{ .Values.controller.loglevel | quote }}
6064 {{- $agentHost := "" }}
6165 {{- if and .Values.controller.agentDeployment .Values.controller.agentDeployment.host (not (eq .Values.controller.agentDeployment.host "")) }}
Original file line number Diff line number Diff line change 9797 - name : http
9898 containerPort : {{ .Values.controller.service.ports.targetPort }}
9999 protocol : TCP
100+ {{- if .Values.controller.metrics.enabled }}
101+ - name : metrics
102+ containerPort : {{ .Values.controller.metrics.port }}
103+ protocol : TCP
104+ {{- end }}
100105 resources :
101106 {{- toYaml .Values.controller.resources | nindent 12 }}
102107 {{- with (.Values.controller.securityContext | default .Values.securityContext) }}
Original file line number Diff line number Diff line change 1212 targetPort : {{ .Values.controller.service.ports.targetPort }}
1313 protocol : TCP
1414 name : controller
15+ {{- if .Values.controller.metrics.enabled }}
16+ - port : {{ .Values.controller.metrics.port }}
17+ targetPort : {{ .Values.controller.metrics.port }}
18+ protocol : TCP
19+ name : metrics
20+ {{- end }}
1521 selector :
1622 {{- include "kagent.controller.selectorLabels" . | nindent 4 }}
Original file line number Diff line number Diff line change 1+ {{- if and .Values.controller.metrics.enabled .Values.controller.metrics.serviceMonitor.enabled }}
2+ apiVersion : monitoring.coreos.com/v1
3+ kind : ServiceMonitor
4+ metadata :
5+ name : {{ include "kagent.fullname" . }}-controller
6+ namespace : {{ include "kagent.namespace" . }}
7+ labels :
8+ {{- include "kagent.labels" . | nindent 4 }}
9+ {{- with .Values.controller.metrics.serviceMonitor.labels }}
10+ {{- toYaml . | nindent 4 }}
11+ {{- end }}
12+ spec :
13+ selector :
14+ matchLabels :
15+ {{- include "kagent.controller.selectorLabels" . | nindent 6 }}
16+ endpoints :
17+ - port : metrics
18+ interval : {{ .Values.controller.metrics.serviceMonitor.interval }}
19+ scrapeTimeout : {{ .Values.controller.metrics.serviceMonitor.scrapeTimeout }}
20+ {{- end }}
Original file line number Diff line number Diff line change @@ -76,6 +76,29 @@ tests:
7676 - equal :
7777 path : spec.template.spec.containers[0].ports[0].containerPort
7878 value : 8083
79+ - lengthEqual :
80+ path : spec.template.spec.containers[0].ports
81+ count : 1
82+
83+ - it : should add metrics port and env vars when enabled
84+ set :
85+ controller.metrics.enabled : true
86+ asserts :
87+ - contains :
88+ path : spec.template.spec.containers[0].ports
89+ content :
90+ name : metrics
91+ containerPort : 9093
92+ protocol : TCP
93+ template : controller-deployment.yaml
94+ - equal :
95+ path : data.METRICS_BIND_ADDRESS
96+ value : " :9093"
97+ template : controller-configmap.yaml
98+ - equal :
99+ path : data.METRICS_SECURE
100+ value : " false"
101+ template : controller-configmap.yaml
79102
80103 - it : should set A2A_BASE_URL with computed default value
81104 template : controller-configmap.yaml
Original file line number Diff line number Diff line change 2929 - equal :
3030 path : spec.ports[0].protocol
3131 value : TCP
32+ - lengthEqual :
33+ path : spec.ports
34+ count : 1
3235
3336 - it : should have correct selector labels
3437 asserts :
@@ -68,4 +71,16 @@ tests:
6871 asserts :
6972 - equal :
7073 path : metadata.namespace
71- value : custom-namespace
74+ value : custom-namespace
75+
76+ - it : should expose metrics port when enabled
77+ set :
78+ controller.metrics.enabled : true
79+ asserts :
80+ - contains :
81+ path : spec.ports
82+ content :
83+ port : 9093
84+ targetPort : 9093
85+ protocol : TCP
86+ name : metrics
Original file line number Diff line number Diff line change 1+ suite : test controller servicemonitor
2+ templates :
3+ - controller-servicemonitor.yaml
4+ tests :
5+ - it : should not render by default
6+ asserts :
7+ - hasDocuments :
8+ count : 0
9+
10+ - it : should not render when only metrics.enabled is true
11+ set :
12+ controller.metrics.enabled : true
13+ asserts :
14+ - hasDocuments :
15+ count : 0
16+
17+ - it : should render ServiceMonitor when both enabled
18+ set :
19+ controller.metrics.enabled : true
20+ controller.metrics.serviceMonitor.enabled : true
21+ asserts :
22+ - isKind :
23+ of : ServiceMonitor
24+ - equal :
25+ path : spec.endpoints[0].port
26+ value : metrics
Original file line number Diff line number Diff line change @@ -222,6 +222,15 @@ controller:
222222 ports :
223223 port : 8083
224224 targetPort : 8083
225+ metrics :
226+ enabled : false
227+ port : 9093
228+ secure : false
229+ serviceMonitor :
230+ enabled : false
231+ interval : 30s
232+ scrapeTimeout : 10s
233+ labels : {}
225234 env : []
226235 envFrom : []
227236
You can’t perform that action at this time.
0 commit comments