Skip to content

Releases: open-telemetry/opentelemetry-operator

Release v0.91.0

08 Jan 14:10
95a791e
Compare
Choose a tag to compare

🛑 Breaking changes 🛑

  • target allocator: Remove configuration hot reloading from target allocator (#2032)
    This only affects use of target allocator without the operator.

💡 Enhancements 💡

  • target allocator: Create ServiceMonitor to monitor target allocator (#2311)
  • collector: Add Loki parser to extract loki service port from config (#1825)
  • operator: Bump Apache httpd version (#2463)
  • operator: Bump NodeJS dependencies. (#2459)
  • operator: Bump python autoinstrumentation version to 1.22.0/0.43b0 (#2460)
  • operator: Add version label to target allocator resources (#2454)
  • operator: Support for Kubernetes 1.29 version. (#2458)
  • target allocator: PDB support for target allocator (#2261)
  • operator: enables the operator to create subject access reviews for different required permissions.(#2426)

🧰 Bug fixes 🧰

  • target allocator: Fix ServiceAccount naming for target allocator (#2443)
  • operator: add missing appProtocol in opencensus receiver(#2487)

Components

Release v0.90.0

06 Dec 19:57
979acc2
Compare
Choose a tag to compare

0.90.0

💡 Enhancements 💡

  • autoinstrumentation: Bump OpenTelemetry .NET Automatic Instrumentation to 1.2.0 (#2382)
  • operator: add liveness probe to target allocator deployment generation (#2258)
  • operator: added reconciliation errors for CRD events (#1972)
  • operator: removes the old way of running autodetection for openshift routes being available (#2108)
  • bridge: adds request headers to the opamp bridge config (#2410)
  • bridge: adds Headers to opamp bridge spec and configmap generation (#2410)
  • operator: Create PodMonitor when deploying collector in sidecar mode and Prometheus exporters are used. (#2306)
  • operator: add readiness probe to target allocator deployment generation (#2258)
  • target allocator: add readyz endpoint to TA (#2258)
  • target allocator: add target allocator securityContext configuration (#2397)
  • target allocator: Use only target address for allocation in consistent-hashing strategy (#2280)

🧰 Bug fixes 🧰

  • operator: fixes ability to do a foreground cascading delete (#2364)
  • operator: fix error logging in collector container creation (#2420)
  • operator: lifecycle spec removed from cloned initContainer (#2366)
  • operator: add missing pod in the rbac (#1679)
  • operator: check if service account specified in otelcol before creating service account resource for collectors (#2372)
  • target allocator: Save targets discovered before collector instances come up (#2350)

Components

Release v0.89.0

17 Nov 15:31
17bde33
Compare
Choose a tag to compare

🛑 Breaking changes 🛑

  • autoinstrumentation: Bump Go auto instrumentation version to v0.8.0-alpha (#2358)
    The default export protocol was switched from grpc to http/proto
  • target allocator: Disable configuration hot reload (#2032)
    This feature can be re-enabled by passing the --reload-config flag to the target allocator.
    However, this is deprecated and will be removed in an upcoming release.

💡 Enhancements 💡

  • target allocator: add healthcheck endpoint to TA (#2258)
  • OpAMP Bridge: Sends a heartbeat from the bridge and brings the annotation to spec. (#2132)
  • operator: Added updateStrategy for DaemonSet mode. (#2107)
  • operator: add target allocator affinity configuration (#2263)
  • Operator: Added the service.instance.id as the pod.UID into the traces resource Env. (#1921)
  • operator: Support configuring images via RELATED_IMAGE_ environment variables (#2326)
  • target allocator: Declare and use ContainerPort for Target Allocator (#2312)
  • target allocator: Add logging for prometheus operator in TargetAllocator's config generator (#2348)

🧰 Bug fixes 🧰

  • target allocator: Update file watcher to detect file write events (#2349)

  • target allocator: Run the target allocator as a non-root user (#738)
    Some Kubernetes configurations do not allow running images as root, so
    provide a non-zero UID in the Docker image.

  • operator: Truncate sidecar.opentelemetry.io/injected sidecar pod label to 63 characters (#1031)

Components

Release v0.88.0

01 Nov 15:40
5075077
Compare
Choose a tag to compare

0.88.0

🛑 Breaking changes 🛑

  • OpAMP Bridge: Currently, the bridge doesn't adhere to the spec for the naming structure. This changes the bridge to use the / structure as described. (#2131)
    • Updates the bridge to get collectors using the reporting annotation
    • Fixes a bug where we were using the incorrect structure for the collectors

💡 Enhancements 💡

  • operator-opamp-bridge: Creates the CRD for the OpAMPBridge resource (#1368)
  • autoinstrumentation: Bump OpenTelemetry .NET Automatic Instrumentation to 1.1.0 (#2252)
  • operator: Bump NodeJS dependencies. Also, increase the size of the default size for the volume used to copy the autoinstrumentation libraries from 150M to 200M (#2240, #2237)

🧰 Bug fixes 🧰

  • Operator: Fixed the labeling process which was broken at the moment to capture the current image tag when the users set the sha256 reference. (#1982)
  • target allocator: reset kubeconfig to empty string when using in-cluster config (#2262)

Components

Release v0.87.0

18 Oct 15:24
eb765b8
Compare
Choose a tag to compare

🛑 Breaking changes 🛑

  • OpAMP Bridge: This PR simplifies the bridge's configuration and logging by renaming and removing fields. (#1368)
    components_allowed => componentsAllowed
    protocol which is now inferred from endpoint
    capabilities []string => map[Capability]bool for enhanced configuration validation
  • operator: Enable Target Allocator Rewrite by default (#2208)
    See the documentation for details.
    Use the --feature-gates=-operator.collector.rewritetargetallocator command line option to switch back to the old behaviour.

💡 Enhancements 💡

  • operator: updating the operator to use the Collector's debug exporter in replacement of the deprecated logging exporter (#2130)
  • operator: Publish operator images for I IBM P/Z (linux/s390x,linux/ppc64le) architectures. (#2215)
  • Documentation: Add diagrams to Target Allocator Readme. (#2229)
  • target allocator: Add rate limiting for scrape config updates (#1544)

🧰 Bug fixes 🧰

  • operator: Set the security context for the init containers of the Apache HTTPD instrumentation (#2050)

Components

Release v0.86.0

10 Oct 12:39
c6dc1d1
Compare
Choose a tag to compare

🛑 Breaking changes 🛑

  • operator: Get rid of autoscaling/v2beta2 (#2145)
    Kubernetes 1.23 is the minimum available version everywhere after 1.22 deprecation,
    due to it, the minimum required version has been updated to it, dropping support for
    autoscaling/v2beta2

💡 Enhancements 💡

  • operator: Add support for multi instrumentation (#1717)
  • operator: Implementation of new Nginx autoinstrumentation. (#2033)
  • operator: Add PDB support for OpenTelemetryCollector (#2136)
    This PR adds support for PodDisruptionBudgets when OpenTelemetryCollector is deployed
    as deployment or statefulset.
  • operator: Add support for Tolerations on target allocator (#2172)
  • autoinstrumentation: Bump OpenTelemetry .NET Automatic Instrumentation to 1.0.2 (#2168)
  • target allocator: Enable discovery manager metrics in target allocator (#2170)
  • target allocator: Allow target allocator to be completely configured via the config file (#2129)
  • operator: Propagate proxy environment variables to operands. (#2146)
  • autoinstrumentation: Bump python autoinstrumentation version to 1.20.0/0.41b0 (#2192)

🧰 Bug fixes 🧰

  • autoinstrumentation: Fix .NET Automatic Instrumentation for alpine based images configured by namespace annotations (#2179)
  • operator: fixes scenario where an old CRD would cause the operator to default to an unmanaged state (#2039)
  • target allocator: Rebuild targets on scrape config regex-only changes (#1358, #1926)

Components

Release v0.85.0

20 Sep 16:32
7dbb29a
Compare
Choose a tag to compare

💡 Enhancements 💡

  • autoinstrumentation: .NET Automatic Instrumentation support for Alpine-based images (#1849)
  • operator: Allow the collector CRD to specify a list of configmaps to mount (#1819)
  • autoinstrumentation: Bump Go auto-instrumentation support to v0.3.0-alpha. (#2123)
  • operator: Introduces a new method of reconciliation to reduce duplication and complexity (#1959)

🧰 Bug fixes 🧰

  • operator: Run the upgrade mechanism when there is a change in an instance to ensure it is upgraded. This is useful for cases where the instance uses the unmanaged state, the operator is upgraded and the instance changes to use a managed state. (#1890)

Components

Release v0.84.0

13 Sep 12:39
19b0ec1
Compare
Choose a tag to compare

💡 Enhancements 💡

  • autoinstrumentation: Bump dotnet instrumentation version to 1.0.0 (#2096)
  • operator: Remove default cpu and mem requests and limits from target allocator to match otel-collector behaviour (#1914)
    To preserve the old behaviour for the case when the requests/limits were not explicitely set during the deployment, make sure to set the requests/limits of 100m/200m for CPU and 250Mi/500Mi for memory.
  • operator: Create ServiceMonitors when the Prometheus exporters are used. (#1963)
  • operator: Run end-to-end tests on Kubernetes 1.28 (#2047)
  • operator: Limit auto-instrumentation emptydir volume size (#2044)
  • operator: Make OpenShift routes work with missing hostname (#2074)
    If the Ingress hostname is not specified OpenShift route hostname is set to <port-name>-<otel-cr-name>-route-<otel-cr-namespace>-basedomain.

🧰 Bug fixes 🧰

  • operator: Avoid running the auto-instrumentation pod mutator for pods already auto-instrumented (#1366)
  • autoinstrumentation: Allow the usage of the Apache HTTPD autoinstrumentation to be run as non-root user. Change the files permission to allow their copy from a non-root user. (#2068)
  • operator: Fixes reconciling otel-collector service's internal traffic policy changes. (#2061)
  • operator: Make OpenShift Route work with gRPC receivers by using h2c appProtocol (#1969)

Components

Release v0.83.0

18 Aug 16:20
c3d8153
Compare
Choose a tag to compare

0.83.0

🛑 Breaking changes 🛑

  • operator: Make sure OTLP export can report data to OTLP ingress/route without additional configuration (#1967)
    The ingress can be configured to create a single host with multiple paths or
    multiple hosts with subdomains (one per receiver port).
    The path from OpenShift route was removed.
    The port names are truncate to 15 characters. Users with custom receivers
    which create ports with longer name might need to update their configuration.

💡 Enhancements 💡

  • operator: Add AdditionalContainers to the collector spec allowing to configure sidecar containers. This only applies to Deployment/StatefulSet/DeamonSet deployment modes of the collector. (#1987)
  • operator: Add flag to enable support for the pprof server in the operator. (#1997)
  • operator: Set the level 4 of capabilities in the CSV for the OpenTelemetry Operator. (#2002)
  • autoinstrumentation: Bump OpenTelemetry .NET Automatic Instrumentation to 1.0.0-rc.2 (#2030)
  • operator: Use scratch as the base image for operator (#2011)
  • operator: Bump Golang to 1.21 (#2009)
  • operator: Daemonsets can be instrumented so the generated servicename should use their name for better discoverability (#2015)

🧰 Bug fixes 🧰

  • operator: fixes bug introduced in v0.82.0 where Prometheus exporters weren't being generated correctly (#2016)

Components

Release v0.82.0

09 Aug 09:50
5104e72
Compare
Choose a tag to compare

🛑 Breaking changes 🛑

  • operator: Remove legacy OTLP HTTP port (#1954)

💡 Enhancements 💡

  • operator: Expose the Prometheus exporter port in the OpenTelemetry Collector container when it is used in the configuration. (#1689)
  • operator: Add the ability to the operator to create Service Monitors for the OpenTelemetry Collectors in order to gather the metrics they are generating (#1768)
  • target allocator: Add support for environment variables in target allocator config.
    (#1773)
  • operator: Add a GitHub Actions Workflow to build and publish the operator bundle images (#1879)
  • operator: Add a new field called managementState in the OpenTelemetry Collector CRD. (#1881)
  • operator: When an user specifies the monitoring port for their collector in the configuration, the monitoring service uses that port. (#1931)
  • operator: Add support for TopologySpreadConstraints & nodeSelector on collector and target allocator (#1899)
  • autoinstrumentation: Bump dotnet dependency to 1.0.0-rc.1 (#1978)
  • autoinstrumentation: Bump opentelemetry-go-instrumentation image to v0.2.2-alpha (#1915)
  • autoinstrumentation: Bumps java autoinstrumentation version to 1.28.0 (#1918)
  • autoinstrumentaion: Bump NodeJS dependencies to 1.15.1/0.41.1 (#1977)
  • autoinstrumentation: Bump python packages to 1.19.0/0.40b0 (#1930)
  • target allocator: Restart target allocator when its configuration changes (#1882)
  • target allocator: Make the Target Allocator default scrape interval for Prometheus CRs configurable (#1925)
    Note that this only works for Prometheus CRs, raw Prometheus configuration from the receiver uses its own settings.
  • operator: Set securityContext on injected initContainer based on existing containers. (#1084, #1058)
  • Documentation: Update OTel Operator and Target Allocator readmes. (#1952)

🧰 Bug fixes 🧰

  • operator: Fix port name matching between ingress/route and service. All ports are truncated to 15 characters. If the port name is longer it is changed to port-%d pattern. (#1954)
  • operator: Fix for issue #1893 (#1905)

Components