0.159.0
🛑 Breaking changes 🛑
target allocator: Addnoneas an explicit filter strategy and preserve explicitly configured empty strategies. (#5444)
The Go type ofTargetAllocatorSpec.FilterStrategychanged to a pointer so typed clients can
distinguish an unset strategy from an explicitly configured value. The legacy empty value remains
accepted as an alias for disabling filtering, but new configurations should usenone.
The Target Allocator now rejects any other value offilter_strategyon startup, and normalizes
the empty value tononewhen loading its configuration.
💡 Enhancements 💡
-
collector: AddresizePolicyto the OpenTelemetryCollector CR to control how the primary container responds to in-place resource resizes. (#5501) -
opampbridge: Add explicit proxy configuration for OpAMP Bridge server connections. (#5351) -
target allocator: Add anallocation_strategy_configsection to the target allocator configuration, allowing the per-node fallback strategy to be set viaallocation_strategy_config.per_node.fallback_strategy.name. (#5183)
The top-levelallocation_fallback_strategyoption is now deprecated in favor of the new
strategy-specific configuration. When both are set, the strategy-specific option takes precedence. -
target allocator: Add API fields to configure the TargetAllocator's OTLP self-telemetry export. (#5047)
Addsspec.targetAllocator.telemetry.metrics.readerson the OpenTelemetryCollector CR and
spec.telemetry.metrics.readerson the TargetAllocator CR. The schema mirrors the OTel
declarative configuration spec. The operator renders these
fields into the TargetAllocator ConfigMap consumed by the binary-side OTLP self-telemetry
support.
When theoperand.networkpolicyfeature gate is enabled, the TargetAllocator's generated
NetworkPolicy now leaves egress unrestricted if self-telemetry export is configured, since
its destination can be an arbitrary (often external) endpoint that can't be scoped with a
NetworkPolicy IPBlock/selector.
🧰 Bug fixes 🧰
-
collector: Report aReady=Falsestatus condition and a Warning event on the OpenTelemetryCollector when the referenced TargetAllocator cannot be fetched or the collector manifests cannot be built, instead of only logging the error in the operator. (#4296) -
collector: Detect changes to the immutable StatefulSetpodManagementPolicyfield so the collector StatefulSet is recreated instead of failing reconciliation with a forbidden update error. (#4203) -
operator: Resolve the operator's own Deployment through pod owner references instead of a hardcoded name, so the operator NetworkPolicy no longer crashes the operator or selects no pods when installed with custom names (e.g. via the Helm chart). (#5493) -
operator: Add API server discovery fallback to env vars and guard CSV controller on non-OLM clusters. (#5493)
When EndpointSlice discovery fails, the operator now falls back to KUBERNETES_SERVICE_HOST
and KUBERNETES_SERVICE_PORT environment variables for API server discovery. The CSV webhook
controller is skipped on clusters without OLM (operators.coreos.com CRDs not present). -
opamp: Rebuild the OpAMP Bridge's applied-keys tracking from cluster state on startup, so a remote config that drops a collector after a bridge restart correctly deletes it. (#5445)