0.161.0
🛑 Breaking changes 🛑
-
opamp: Use the Kubernetes cluster ID to compute standalone OpAMP Bridge agent instance IDs. (#5689)- Existing standalone agents will report new instance IDs after upgrade.
- The bridge now requires the "get" permission on the "kube-system" namespace to read the cluster ID.
-
collector: Remove the deprecated--create-rbac-permissionsCLI flag. RBAC permission creation is now exclusively autodetected at startup. (#2588)
The flag was deprecated in v0.88.0. The operator now always autodetects whether its service account can create ClusterRoles and ClusterRoleBindings.
💡 Enhancements 💡
-
collector: AddrevisionHistoryLimitfield to OpenTelemetryCommonFields to control the number of old ReplicaSets retained for Deployment and StatefulSet workloads, and for the TargetAllocator Deployment. (#0) -
collector: Skip the automaticGOMEMLIMITandGOMAXPROCSenvironment variables when the collector config enables thecgroup_runtimeextension. (#5651)
The extension sets both variables from the cgroup limits and does nothing when they are already present.
The deprecatedcgroupruntimetype name is recognized as well.
Each variable is skipped only while itsgomemlimit.enabledorgomaxprocs.enabledsetting is true. -
collector, target allocator: AddimagePullSecretsto the OpenTelemetryCollector and TargetAllocator CRs, passed through to the pod spec of the generated workloads. A target allocator embedded in an OpenTelemetryCollector uses the collector'simagePullSecrets. (#4376) -
collector: Register thewebhook_eventreceiver (aliaswebhookevent) so the operator derives its Service port fromendpoint, which the receiver requires, and rejects a configuration that omits it. (#5631)
🧰 Bug fixes 🧰
-
collector: Fix the collector defaulting webhook panicking whenreceiversorexportersis missing. (#5735)
The request is now rejected by CRD validation, as it already was when no component defaults apply. -
target allocator: Honor the cumulative temporality preference for counters bridged from the Prometheus registry in OTLP self-telemetry. (#5700)
Bridged counters, such as the Prometheus service discovery metrics, were converted to delta regardless of
temporality_preference. They are now converted only when the preference selects delta for counters
(deltaorlow_memory), and are exported as cumulative otherwise. -
target allocator: Keep the Kubernetes API server addresses in the target allocator NetworkPolicy up to date. (#5551)
The operator now watches the EndpointSlices of thedefault/kubernetesService and updates the target allocator
NetworkPolicy when they change, instead of using the addresses discovered once at operator startup.
Addresses which disappear from the EndpointSlices remain allowed for 5 minutes, to tolerate transient changes.
The NetworkPolicy also allows egress to thekubernetesService ClusterIP, and uses correct CIDRs for IPv6 addresses.
The operator now requires thewatchpermission onendpointslicesin thediscovery.k8s.ioAPI group. -
operator: Fix the--tls-min-versionCLI flag being ignored because it was matched against the wrong flag name. (#3565) -
sidecar: Prevent sidecar injection into invalid pods with zero regular containers (#5737)
Pods without containers are invalid in Kubernetes. Skipping injection allows Kubernetes to reject the invalid Pod rather than mutating it into a valid one.