agent-platform release v4.69.0
Changed
- Substrate’s six metrics endpoints are collected:
substrate.metrics.podMonitor (giantswarm/giantswarm#36711). ate-api-server, atelet, atenet-router, atenet-egress, k8s-credential-provider and ate-controller each serve metrics, the fleet’s collector discovers monitors and nothing else, and the chart shipped no monitor, so the whole ate registry was served and thrown away: actor crashes, lifecycle and scheduler durations, checkpoint and restore phases, actor CPU and memory, image-cache hits, worker pool desired against ready, router route duration and parking, and ate-controller’s controller_runtime_* and workqueue_*. The block follows the resolved global.observability.metrics.serviceMonitor.enabled (auto | true | false) and carries observability.giantswarm.io/tenant. The floor 1.0.3 already carries the monitors (giantswarm/substrate#50, upstream kagent-dev/substrate#46, open). - The kagent controller’s metrics are collected:
kagent.controller.metrics, with the kagent chart’s own ServiceMonitor (giantswarm/giantswarm#36711). The controller served no endpoint before the line’s 1.0.2 (metricsserver.Options{BindAddress: "0"}, which no variable changed, so the METRICS_BIND_ADDRESS this chart set had no effect); from 1.0.2 on it reads METRICS_BIND_ADDRESS and METRICS_SECURE, and the controller-runtime families and the line’s kagent_grpc_server_requests_total / ..._request_duration_seconds reach a scrape. metrics.enabled: true, plain HTTP on :8080 (secureServing: false: the secure endpoint authenticates the scraper with a TokenReview and authorizes it with a SubjectAccessReview, which the fleet’s collector does not do), serviceMonitor.enabled: auto following the resolved global.observability.metrics.serviceMonitor.enabled, the tenant label on the monitor. The floor 1.0.3 carries the keys.
Removed
kagent.serviceMonitor and the connectivity chart’s kagent controller metrics Service and ServiceMonitor (templates/kagent/servicemonitor.yaml; giantswarm/giantswarm#36711). Both were a workaround for a kagent chart that exposed only the API port; the line’s chart ships the metrics Service and its ServiceMonitor since 1.0.2 (kagent.controller.metrics), and keeping ours would have scraped one endpoint twice. An installation that set kagent.serviceMonitor.* drops the key.