Skip to content

Releases: open-telemetry/opentelemetry-operator

Release v0.109.0

21 Sep 22:02
f81ef33
Compare
Choose a tag to compare

0.109.0

🚩 Deprecations 🚩

  • operator: Deprecated label flag and introduced labels-filter flag to align the label filtering with the attribute filtering flag name. The label flag will be removed when #3236 issue is resolved. (#3218)

💡 Enhancements 💡

  • collector: adds test for memory utilization (#3283)
  • operator: Added reconciliation errors for webhook events. The webhooks run the manifest generators to check for any errors. (#2399)

Components

Release v0.108.0

05 Sep 17:18
e023705
Compare
Choose a tag to compare

0.108.0

💡 Enhancements 💡

  • auto-instrumentation: set OTEL_EXPORTER_OTLP_PROTOCOL instead of signal specific env vars in python instrumentation (#3165)
  • collector: Allow autoscaler targetCPUUtilization and TargetMemoryUtilization to be greater than 99 (#3258)
  • auto-instrumentation: Not ignore the instrumentation.opentelemetry.io/container-names annotation when the multi-instrumentation is enabled (#3090)
  • operator: Support for Kubernetes 1.31 version. (#3247)
  • target allocator: introduces the global field in the TA config to allow for setting scrape protocols (#3160)

🧰 Bug fixes 🧰

  • auto-instrumentation: Fix file copy for NGINX auto-instrumentation for non-root workloads. (#2726)

  • target allocator: Retrying failed namespace informer creation in promOperator CRD watcher, then exit if creation issue cannot be resolved (#3216)

  • target allocator: Rollback #3187 (#3242)
    This Rollsback 3187 which breaks TargetAllocator config for clusters with custom domains.

  • auto-instrumentation: Fixes a bug that was preventing auto instrumentation from getting correct images. (#3014)
    This PR removes the restriction on the operator to only upgrade manually applied CRDs. This meant
    that resources applied by helm were not upgraded at all. The solution was to remove the restriction
    we had on querying the label app.kubernetes.io/managed-by=opentelemetry-operator, thereby upgrading
    ALL CRDs in the cluster.

  • collector: Fixes a bug that was preventing upgrade patches from reliably applying. (#3074)
    A bug was discovered in the process of testing the PR that was failing to remove the environment
    variables introduced in the 0.104.0 upgrade. The fix was to take a deepcopy of the object and update that.

  • collector: Don't unnecessarily take ownership of PersistentVolumes and PersistentVolumeClaims (#3042)

  • awsxray-receiver: Switched the protocol of awsxray-receiver to UDP from TCP (#3261)

Components

Release v0.107.0

15 Aug 16:12
b40287d
Compare
Choose a tag to compare

0.107.0

💡 Enhancements 💡

  • instrumentation: introduced ability to set Otel resource attributes based on annotations for instrumentation (#2181)

    resource.opentelemetry.io/your-key: "your-value"

🧰 Bug fixes 🧰

  • collector: Fix example for labels-filter startup parameter --label. (#3201)

Components

Release v0.106.0

07 Aug 15:28
c839f73
Compare
Choose a tag to compare

0.106.0

🧰 Bug fixes 🧰

  • collector: Fixes a bug where the operator would default the PDB in the wrong place. (#3198)
  • operator: The OpenShift dashboard shown namespaces where PodMonitors or ServiceMonitors were created even if they were not associated to OpenTelemetry Collectors. (#3196)
    Now, the dashboard lists only those namespaces where there are OpenTelemetry Collectors.
  • operator: When there were multiple OpenTelemetry Collector, the dashboard doesn't allow to select them individually. (#3189)
  • target allocator: Fix collector to target allocator connection in clusters with proxy. (#3187)
    On clusters with global proxy the collector might fail to talk to target allocator
    because the endpoint is set to <ta-service-name>:port and therefore it will go to proxy
    and request might be forwarded to internet. Clusters with proxy configure NO_PROXY to .svc.cluster.local so
    the calls to this endpoint will not go through the proxy.

Components

Release v0.105.0

30 Jul 20:01
2fbc1fd
Compare
Choose a tag to compare

0.105.0

💡 Enhancements 💡

  • collector: Create automatically an OpenShift dashboard to visualize OpenTelemetry Collector metrics (#2995)
    To enable this feature, you need to specify the --openshift-create-dashboard argument to the operator
  • bundle: Create an specific bundle for OpenShift environments. (#3054)
  • collector: Enabling ipFamilies and ipFamilyPolicy to be configured via OpenTelemetryCollector (#2958)
  • auto-instrumentation: Add Prometheus exporter to Python auto-instrumentation (#3122)
  • collector: Configmap, rbac, service, serviceaccount apply annotations-filter. (#3151)

🧰 Bug fixes 🧰

Release v0.104.0

18 Jul 11:03
a9251b3
Compare
Choose a tag to compare

0.104.0

🛑 Breaking changes 🛑

  • opamp: Adds support for v1beta1 OpenTelemetry Collector API in the OpAMP Bridge (#2985)
    This change adds support for the OpAMP Bridge to manage and apply OpenTelemetry Collectors using the v1beta1 API in
    the OpAMP Bridge. This change removes support for applying OpenTelemetry Collectors using the v1alpha1 API version.
    The v1beta1 API is the latest version of the OpenTelemetry Collector API and is the recommended version for new
    deployments.

💡 Enhancements 💡

  • collector: Since collector version 0.104.0 the collector listens on localhost instead of 0.0.0.0 by default (collector#8510). To avoid breaking changes the component.UseLocalHostAsDefaultHost feature-gate is disabled by the Operator. (#3119)
  • collector: Changes the default parser to silently fail. (#3133)
  • collector, target allocator: If the target allocator is enabled, the collector featuregate `confmap.unifyEnvVarExpansion' is disabled. (#3119)
  • operator: Release leader election lease on exit (#3058)
  • collector, target allocator, opamp: Enabling PodDnsConfig for OpenTelemetry Collector, TargetAllocator and OpAMPBridge. (#2658)
  • collector: Make the spec.mode field of the OpenTelemetryCollector Custom Resource (CR) immutable (#3055)
  • collector: Improves the performance of port and configuration parsing in the operator (#2603)

🧰 Bug fixes 🧰

  • collector: Fixes a bug where an exporter would cause a port collision (#3124)

  • collector: Fix deletion issue of otelcol CR by making spec.config.service.pipelines.processors optional (#3075)
    This change makes spec.config.service.pipelines.processors in OpenTelemetryCollector CRD optional, aligning with OTel Collector best practices. It resolves deletion issues by providing flexibility in CRD configuration, addressing conflicts between strict validation and practical uses.
    Note: Updating the opentelemetrycollectors.opentelemetry.io CRD resource is required.

  • collector: Allow annotations on service account to prevent infinite reconciliation on OpenShift and creating infinite pull secrets. (#3106)
    On OpenShift 4.16 the platform automatically adds an annotation openshift.io/internal-registry-pull-secret-ref: <simplest-collector-dockercfg-jwq66>
    to the service account which contains secret name with image pull secret.

Components

Release v0.103.0

25 Jun 18:35
c9a8ce2
Compare
Choose a tag to compare

0.103.0

💡 Enhancements 💡

  • collector, target allocator, opamp: Require Go 1.22 for building the operator (#2757)

🧰 Bug fixes 🧰

  • auto-instrumentation: Fix webserver instrumentation log file name (#2978)

    Since webserver instrumentation 1.0.4, the configuration log file has been renamed from appdynamics_sdk_log4cxx.xml.template to opentelemetry_sdk_log4cxx.xml.template. The operator upgraded the webserver instrumentation version but haven't change the configuration file name.

  • target-allocator: Fixes a bug that didn't automatically create a PDB for a TA with per-node strategy (#2900)

Components

Release v0.102.0

06 Jun 15:16
251de12
Compare
Choose a tag to compare

0.102.0

💡 Enhancements 💡

  • collector: Add usage metrics for the collector (#2829)
    This change will add metrics to the OpenTelemetry operator about how the collector is used in the cluster,
    it will add the following metrics to the opentelemetry-operator metrics endpoint
    opentelemetry_collector_receivers{collector_name="collector_name", namespace="ns", type="otlp"} 1
    opentelemetry_collector_exporters{collector_name="collector_name", namespace="ns", type="otlp"} 1
    opentelemetry_collector_processors{collector_name="collector_name", namespace="ns", type="otlp"} 1
    opentelemetry_collector_connectors{collector_name="collector_name", namespace="ns", type="myconnector"} 0
    opentelemetry_collector_info{collector_name="simplest",namespace="default", type="deployment"} 1
    

🧰 Bug fixes 🧰

  • collector: Fixes a bug that was preventing regexes from being loaded correctly. Now the filter provide is exactly what's used. (#3007)
    This is technically a breaking change if a user relied on the previously broken regex functionality.
    This change will actually fix their regex to work where it didn't before. I expect that users would rather their
    regexes work than break silently.
  • collector: Upgrades to 0.102.1 which resolves a CVE in the configgrpc package. See here for more details

Components

Release v0.101.0

29 May 12:22
9a186e1
Compare
Choose a tag to compare

0.101.0

💡 Enhancements 💡

  • operator: Support for Kubernetes 1.30 version. (#2881)
  • collector: Keep multiple previous versions of the Collector ConfigMap, configurable via the ConfigVersions field. (#2871)
    This change introduces a new field in the Collector ConfigMap, ConfigVersions, which allows users to specify the number of previous versions of the Collector ConfigMap to keep. The default value is 1, which means that the current and one previous version of the Collector ConfigMap are kept. By keeping historical versions of the configuration, we ensure that during a config upgrade the previous configuration is still available for running (non-upgraded) pods as well as for rollbacks. If we overwrite the original ConfigMap with the new configuration, any pod which restarts for any reason will get the new configuration, which makes rollouts impossible to control.
  • collector, target allocator, opamp: Introduces a new feature gate for operator.golang.flags to automatically add the environment variables for GOMAXPROCS and GOMEMLIMIT (#2919, #1456)
    A new featuregate operator.golang.flags is added. This featuregate will allow the operator to automatically
    set GOMAXPROCS and GOMEMLIMIT equal to the CPU and Memory limit provided respectively for the pod.

Components

Release v0.100.1

20 May 20:41
20e9b35
Compare
Choose a tag to compare

0.100.1

💡 Enhancements 💡

  • target allocator: Refactor allocation strategies (#2928)
    The performance of the per-node strategy was massively improved as part of this change.

🧰 Bug fixes 🧰

  • operator: Fixes an issue where the user can no longer set the webhook port (#2923)

Components