Releases: open-telemetry/opentelemetry-operator
Release v0.127.0
0.127.0
💡 Enhancements 💡
-
collector
: Move validation to be part of the CRD for sidecar mode (#3319) -
target allocator
: Promote the operator.collector.targetallocatorcr feature flag to Beta (#2422)As a result of this change, when the target allocator section is enabled in the Collector CR,
this now creates a TargetAllocator CR instead of generating the manifests directly. Behavior should otherwise be
unchanged. You can go back to the previous behaviour by passing the
--feature-gates=-operator.collector.targetallocatorcr
command-line option to the operator. -
collector
: Set the default spec.replicas to 1 in the OpenTelemetryCollector CRD. (#4042)This default no longer relies on the admission webhook.
🧰 Bug fixes 🧰
-
collector, target allocator
: Fix operator RBAC for managing targetallocator finalizers on OpenShift. (#4069)
On OpenShiftOwnerReferencesPermissionEnforcement
is enabled by default, which requires the operator to have permissions to remove finalizers from resources it owns.
https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement -
target allocator
: Add app.kubernetes.io/managed-by label to Target Allocator CRs created by the Collector CR (#4025) -
target allocator
: Fixes an issue where the same target from two different jobs was being allocated for only one job (#4044)
Components
Release v0.126.0
0.126.0
🛑 Breaking changes 🛑
target-allocator
: Switch to Prometheus 3.0 defaults for ScraperProtocols, requires prometheusreceiver >0.120.0 (#3872)
💡 Enhancements 💡
target-allocator
: Allow to configure ScraperProtocols in prometheus common config (#4000)target allocator
: set default target allocator grace period to 30 seconds (#3989)
The config option collectorNotReadyGracePeriod have been set to 30s by default. The target allocator now waits for 30 seconds before reallocating targets from a collector which isn't Ready.
Setting this value to 0 will restore previous behaviour.
🧰 Bug fixes 🧰
otel-allocator
: Remove overwrite of global config ScraperProtocols (#3996)target allocator
: Fix user-defined volumes in the TargetAllocator CR (#3992)collector
: add terminationGracePeriodSeconds to DaemonSet and StatefulSet specs (#4003)
Components
Release v0.125.0
0.125.0
💡 Enhancements 💡
webhook
: Allow to run the operator without the OpenTelemetry CRDs present (#3568)
Skip registering the webhook and keep the operator working in case the OpenTelemetryCollector CRDs are not deployed.
🧰 Bug fixes 🧰
-
collector
: Fixes container port duplication for user-provided and operator inferred ports (#3950)
This patch improves container port collisions when the user defines additional ports in the CR.When ports are specified in the CR:
- If a port number from the CR matches a port inferred from the config, the inferred port is removed
- If a port name from the CR matches an inferred port name, the inferred port is renamed to "port-{number}"
-
collector
: Prevent the operator from overriding the env vars defined by the user in the OpenTelemetryCollector spec. (#3963)
This change ensures that the operator does not override the environment variables defined by the user in the OpenTelemetryCollector spec.
It combines user-defined environment variables with automatically inferred ones, giving precedence to user-defined ones. -
opamp
: Fix config loading priority (#3928) -
target allocator
: Fix config loading priority (#3928) -
collector
: Set thestatusReplicas
field for theDaemonSet
(#3930) -
collector
: Fix OpenShift internal collector metrics dashboards to use_total
suffix (#3994)
The following settings (or missing metrics configuration since 0.119.0) exposes metrics with_total
suffix:service: telemetry: metrics: readers: - pull: exporter: prometheus: host: '0.0.0.0' port: 8888
The following settings exposes metrics without
_total
suffix:service: telemetry: address: 0.0.0.0:8888
-
targetallocator
: Do not override the collector namespace from the config file if the environment variable is not set. (#3976)
Components
Release v0.124.0
0.124.0
💡 Enhancements 💡
collector
: Re-try failed upgrades (#3515)
The upgrade process runs now in the reconcile loop.
In case of an error, the operator re-tries the upgrade with exponential backoff.
Components
Release v0.123.0
0.123.0
💡 Enhancements 💡
opamp
: Enables the OpAMP Bridge to act as a read-only proxy for effective configuration and health reporting. (#3823)
🧰 Bug fixes 🧰
Release v0.122.0
0.122.0
🛑 Breaking changes 🛑
-
auto-instrumentation
: Update recommended resource attributes to match the semantic conventions (#3797)
This change updates the recommended resource attributes to match the semantic conventions.
The following attributes have been updated:service.version
now uses the docker image digest in addition to the tag- the well-known label
app.kubernetes.io/part-of
forservice.namespace
has been removed - the well-known label
app.kubernetes.io/instance
has been added (translates toservice.name
) service.namespace
now also uses the Kubernetes namespace name (ifresource.opentelemetry.io/service.namespace
is not set)
You can do the following to avoid breaking changes:
service.version
: Set the version explicitly usingresource.opentelemetry.io/service.version
(not recommended, the version has only been made more specific)service.namespace
: Set the namespace explicitly usingresource.opentelemetry.io/service.namespace
-
or just rely on the Kubernetes namespace name, which is now the defaultservice.name
: If you have enableduseLabelsForResourceAttributes
:
Set the name explicitly usingresource.opentelemetry.io/service.name
ifapp.kubernetes.io/instance
is used for another purpose
💡 Enhancements 💡
target allocator
: Specific changes on CRD, Manifest, Controller, etc to allow specifying value for collector grace period (#3781)auto-instrumentation
: Increase default instrumentation memory limit to 256Mi (#3479)
🧰 Bug fixes 🧰
collector
: Fix the default configuration for the internal metrics endpoint (#3730)collector
: Set the default endpoint to 0.0.0.0:13133 for the collector health check extension (#3825, #3688)
Components
Release v0.121.0
0.121.0
🛑 Breaking changes 🛑
all
: Move feature gateoperator.observability.prometheus
to stable (#3669)operator
: Remove the deprecated--label
command-line option (#3236)
Use--labels-filter
instead.
💡 Enhancements 💡
-
opamp
: Allows specifying non-identifying attributes for the Bridge, also follows OpAMP guidelines for reporting instance.service.id (#2301) -
target allocator
: Allow setting the collector namespace via the config file (#3782) -
auto-instrumentation
: Add support to set image pull policy for agent images (#3575) -
auto-instrumentation
: Enhanced Java auto-instrumentation with improved volume mount paths and configuration options (#3843)- Added support for unique volume mount paths for Java instrumentation
- Improved configuration options for Java auto-instrumentation
- Enhanced stability and reliability of Java instrumentation process
-
target allocator
: Add support for setting the allowNamespaces and denyNamespaces in the target allocator.
(#3086)
allowNamespaces can be set to an empty list to watch all namespaces (default) or to list of namespaces to watch.
denyNamespaces can be set to an empty list to deny watching any namespaces (default) or to a list of namespaces to deny watching. -
target allocator
: Do not assign targets to a collector pod that is not Ready for longer than a non-zero grace period (#3781)
🧰 Bug fixes 🧰
collector
: Add nil check for Extensions in GetLivenessProbe and GetReadinessProbe functions (#3747)
Components
Release v0.120.0
Release v0.119.0
0.119.0
🛑 Breaking changes 🛑
operator
: Make ServiceMonitor for operator metrics optional and disable it by default (#3474)
Add--create-sm-operator-metrics
flag to create a ServiceMonitor for the operator metrics.
This is disabled by default, which is a breaking change, because it was enabled by default in 0.113.0 and 0.114.0.
🧰 Bug fixes 🧰
auto-instrumentation
: add upper version limit to Python dependency urllib3 (#3616)target allocator
: check for Prometheus CRDs before watching Service/Pod Monitors (#3726)
Components
Release v0.118.0
0.118.0
🚀 New components 🚀
target allocator
: Introduce TargetAllocator CRD (#2422)
See the CRD changelog for more information.
💡 Enhancements 💡
target allocator
: Support camelcase matchLabels and matchExpressions in target allocator config (#3350)
🧰 Bug fixes 🧰
collector
: Fix config handling with null values. (#3452)
Fix the defaulting webhook errorsrc and dst must not be nil
caused by defaulting a known component with a null value:
e.g.receivers: zipkin:
collector
: Prevent mounting secrets to collector when TA is not deployed and mTLS feature gate is enabled (#3456)