Skip to content

Latest commit

 

History

History
1417 lines (1115 loc) · 103 KB

CHANGELOG.md

File metadata and controls

1417 lines (1115 loc) · 103 KB

Changes by Version

0.96.0

🛑 Breaking changes 🛑

  • operator: change dotnet instrumentation feature gate into command line flag --enable-dotnet-instrumentation (#2582, #2671)

💡 Enhancements 💡

  • operator: Created ability to filter out Annotations (#2627)

🧰 Bug fixes 🧰

  • target allocator: Fix per-node target allocation for targets from endpointslices (#2718) The per-node target allocation strategy was not matching endpointslice entries for with a kind of Node, such as those for the kubelet metrics created by the prometheus operator
  • operator: Removes UPDATE from pod mutating admission webhook since it only needs to mutate on pod CREATE events. (#1514) The pod webhook currently modifies the pod spec in invalid ways on UPDATE events, and UPDATES are not necessary in the webhook.

Components

0.95.0

🛑 Breaking changes 🛑

  • The operator now requires CRUD permissions for PersistentVolume and PersistentVolumeClaim. See #2575 for details. The official kustomize manifests and Helm Chart will include this change, otherwise it will need to be applied manually.
  • operator: remove featuregate EnableApacheHTTPAutoInstrumentationSupport. Use command line flag --enable-apache-httpd-instrumentation instead (#2582, #2670)
  • operator: change multi instrumentation feature gate into command line flag --enable-multi-instrumentation (#2582)

💡 Enhancements 💡

  • operator: Allow for label selectors on the daemonset through update status (#2605)

🧰 Bug fixes 🧰

  • operator: propagate otel name label down to selector of ta resources (#2598)
  • operator: fixes an error in conversion from v1alpha1 to v1beta1 (#2689)
  • operator: Fixes a panic on exporter prometheus endpoint not valid (#2628)
  • operator: Fixed HPA deletion (#2568, #2587, #2651)

Components

0.94.0

💡 Enhancements 💡

  • target allocator: Add new "per node" allocation strategy to target allocator. This strategy will allocate targets to nodes on which given target resides. It should only be used conjunction with the daemonset mode. (#1828)

🧰 Bug fixes 🧰

  • operator: Fixed handling of protocol in exposed ports. (#2619) Make distinction not only on the port number, but also on protocol. This fix allows to have multiple exposed ServicePorts with the same port number, but different protocols.

  • operator: Fixed handling of exposed port protocol in syslog, tcplog and udplog receivers. (#767, #2619) Please note that the operator currently exposes just one port (tcp or udp) of syslog receiver due to the current receiver implementation (patches are welcome).

  • operator: Fixing WATCH_NAMESPACE for a single namespace value (#2589)

Components

0.93.0

🛑 Breaking changes 🛑

This version brings stable semantic convention for network and HTTP. It includes new metrics and attributes names.

  • target allocator: Use standard K8s label selectors for Prometheus CRs in target allocator config (#1907) This is a breaking change only for users of standalone target allocator. Operator users are unaffected. The operator is still compatible with previous target allocator versions, and will be for the next 3 releases.
  • target allocator: Use recommended interfaces(resource selector) by the prometheus-operator for watching CRs. (#2309) The target allocator now requires get/list/watch permissions for namespaces. Update your RBAC permissions for the attached role, if necessary.

💡 Enhancements 💡

  • operator: Add SharedProcessNamespace capabilities to the OpenTelemetryCollector CRD (#2472)
  • opamp bridge: Added env variable parsing to opamp bridge config loading (#2577)
  • target allocator: Set the default filter strategy in the CRD (#2477)
  • operator, target allocator: Adding a feature flag to disable default prometheus annotations (#2554)

🧰 Bug fixes 🧰

  • operator: Fix annotations required by the OpenShift Operator Hub (#2557)

Components

0.92.1

💡 Enhancements 💡

  • operator: Adds deployment rollout strategy to CRD fields (#2512)

🧰 Bug fixes 🧰

  • operator: Fix ClusterRole and ClusterRoleBinding reconciliation (#2525)

0.92.0

🛑 Breaking changes 🛑

  • target allocator: Use standard K8s label selectors for collectors in target allocator config (#2422) This is a breaking change only for users of standalone target allocator. Operator users are unaffected. The operator is still compatible with previous target allocator versions, and will be for the next 3 releases.

  • target allocator: Use container securityContext for target allocator (#2490) This is really a bug fix, as the current behaviour is not intended. We've marked it as breaking in case anyone started depending on it.

💡 Enhancements 💡

  • operator: Automate the creation of the permissions needed by the resourcedetection processor (#2393)
  • operator: Automate the creation of the permissions needed by the k8sattributes processor (#2395)
  • target allocator: Change default allocation and filtering strategy (#2477)
  • operator: Introduce common fields to the v1alpha2 types that can be reused for any CRDs. (#901)
  • target allocator: Use Pod securityContext for target allocator (#2495) Bring back PodSecurityContext as it was removed in the previous changes.
  • bridge: Sets pods in the component health map (#2489) this change adds a requirement for a new permission for the bridge to list and get pods.

Components

0.91.0

🛑 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

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

0.89.0

🛑 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

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

0.87.0

🛑 Breaking changes 🛑

  • OpAMP Bridge: This PR simplifies the bridge's configuration and logging by renaming and removing fields. (#1368) components_allowed => componentsAllowedprotocol 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

0.86.0

🛑 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

0.85.0

💡 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

0.84.0

💡 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

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

0.82.0

🛑 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

0.81.0

💡 Enhancements 💡

  • operator: Create index image to be used as a Catalog. (#1823)

🧰 Bug fixes 🧰

  • operator: Fix .sampler.type being incorrectly required for Instrumentation (#1886)
  • receivers: Skip service port for scraper receivers (#1866)

Components

0.80.0

💡 Enhancements 💡

  • collector: Add Skywalking parser to extract skywalking service port from config (#1634)
  • target allocator: Only admit configurations where Target Allocator actually has targets (#1859)
  • target allocator: Populate credentials for Prometheus CR (service and pod monitor) scrape configs. (#1669)
  • collector: Adds ability to set init containers for collector (#1684)
  • operator: Adding more tests to validate existence of init containers. (#1826)
  • operator: For Apache HTTPD instrumentation, use latest instrumentation library v1.0.3. (#1827)
  • autoinstrumentation/nodejs: Bump python packages to 1.14.0/0.40.0 (#1790)
  • samplers: Add ParentBasedJaegerRemote sampler & validate argument (#1801)
  • operator: Operator-sdk upgrade to v1.29.0 (#1755)

🧰 Bug fixes 🧰

  • operator: Fix for #1820 and #1821 plus added covering unit tests. (#1847)
  • operator: Fix the upgrade mechanism to not crash when one OTEL Collector instance uses the old approach to set the autoscaler. (#1799)
  • target allocator: Fix the empty global scrape interval in Prometheus CR watcher, which causes configuration unmarshalling to fail. (#1811)

🚀 New components 🚀

  • operator: Instrumentation crd for Nginx auto-instrumentation. (#1853)

Components

0.79.0

💡 Enhancements 💡

  • nodejs autoinstrumentation: Prometheus metric exporter support for nodejs autoinstrumentation (#1798)
  • operator: Add service version injection (#1670) Adds the ability to inject the service version into the environment of the instrumented application.
  • operator: Added readyReplicas field to the status section and added Current,Desired and Image to the get operation. (#1355)

🧰 Bug fixes 🧰

  • operator: The OpenTelemetry Collector version is not shown properly in the status field if no upgrade routines are performed. (#1802)

Components

0.78.0

💡 Enhancements 💡

  • autoinstrumentaiton/nodejs: Bump js packages to latest versions (#1791)
  • autoinstrumentation/python: Bump python packages to 1.18.0/0.39b0 (#1790)
  • operator: Added all webhook instrumentation logic, e2e tests, readme (#1444)
  • Autoscaler: Support scaling on Pod custom metrics. (#1560)
  • targetallocator: Set resource requests/limits for TargetAllocator (#1103)
  • operator: provide default resource limits for go sidecar container (#1732)
  • operator: Propagate Metadata.Annotations to PodSpec.Annotations (#900)
  • operator: Improve config validation for prometheus receiver and target allocator (#1581)

🧰 Bug fixes 🧰

  • operator: fixes a previously undocumented behavior that a collector could not override the collector's app name (#1777)
  • operator: Fix issue where the operator's released image did not correctly set the default go auto-instrumentation version (#1757)
  • pkg/collector, pkg/targetallocator: fix issues related to prometheus relabel configs when target allocator is enabled (#958, #1622, #1623)

Components

0.77.0

💡 Enhancements 💡

  • operator: Add support for Go auto instrumentation (#1555)
  • operator: Add liveness probe configs (#760)
  • operator: set default resource limits for instrumentation init containers (#1407)
  • github actions: Publish image to dockerhub too (#1708)
  • instrumentation: Bump Go Instrumentation image from v0.2.0-alpha to v0.2.1-alpha (#1740)

🧰 Bug fixes 🧰

  • operator: fixes a bug where setting the http_sd_config would crash the configmap replacement. (#1742)

Components

0.76.1

💡 Enhancements 💡

  • operator: add support for lifecycle hooks and terminationGracePeriodSeconds in collector spec. (#1618)

  • autoinstrumentation: Bump OpenTelemetry .NET Automatic Instrumentation to 0.7.0 (#1672)

  • autoinstrumentation: Bump nodejs dependencies to latest versions (#1682)

  • pkg/instrumentation: Add dotnet instrumentation capability behind a feature gate which is enabled by default. (#1629)

  • operator: Add ability to use feature gates in the operator (#1619)

  • autoinstrumentation: Add metrics exporter to Node.JS autoinstrumentation (#1627)

  • autoinstrumentation: Bump nodejs dependencies to latest versions (#1626)

  • pkg/instrumentation: Add java instrumentation capability behind a feature gate which is enabled by default. (#1695)

  • pkg/instrumentation: Add nodejs instrumentation capability behind a feature gate which is enabled by default. (#1697)

  • operator: Introduces a new feature flag "operator.collector.rewritetargetallocator" that allows an operator to add the target_allocator configuration to the collector configuration (#1581) Note that the ConfigToPromConfig function in pkg/targetallocator/adapters now correctly returns the prometheus receiver config in accordance with its docstring. It used to erroneously return the actual Prometheus config from a level lower.

  • pkg/instrumentation: Add python instrumentation capability behind a feature gate which is enabled by default. (#1696)

🧰 Bug fixes 🧰

  • target allocator: fix updating scrape configs (#1415)

Components

0.75.0

💡 Enhancements 💡

  • operator: Add ability to use feature gates in the operator (#1619)
  • autoinstrumentation: Add metrics exporter to Node.JS autoinstrumentation (#1627)
  • autoinstrumentation: Bump nodejs dependencies to latest versions (#1626)
  • autoinstrumentation: Bump python dependencies to latest versions (#1640)

Components

0.74.0

Components

0.73.0

💡 Enhancements 💡

  • target allocator: Use jsoniter to marshal json (#1336)

Components

0.72.0

🛑 Breaking changes 🛑

  • operator: Fixes inability of the operator to reconcile in stateful set mode when the immutable field volumeClaimTemplates is changed. If such change is detected, the operator will recreate the stateful set. (#1491)

💡 Enhancements 💡

  • operator: Bump OpenTelemetry .NET Automatic Instrumentation to 0.6.0 (#1538)
  • operator: Bump Kubernetes golang dependencies to 1.26.x (#1385)
  • operator: Build operator, target-allocator and opAMP bridge with golang 1.20. (#1566)

🧰 Bug fixes 🧰

  • Autoscaler: Fix the issue where HPA fails to update when an additional metric is added to the spec. (#1439)
  • operator: The args created for corev1.container object is not ordered and creates a situation where there is a diff detected during reconcile. Forces an ordered args. (#1460)
  • Autoscaler: Fix the issue where HPA fails to update autoscaler behavior. (#1516)
  • operator: Set ServiceInternalTrafficPolicy`` to Local` when using daemonset mode. (#1401)

Components

0.71.0

🛑 Breaking changes 🛑

  • target allocator: Updates versions of many dependencies, sets defaults for prometheus operator to work. The breaking change introduced is the new RBAC requirement for "endpointslices" in the "discovery.k8s.io" api group. (#1464)

🧰 Bug fixes 🧰

  • target allocator: Properly handle all types of profiles in the pprof endpoint. Previously, some profiles where unavailable, leading to 404 response. (#1478)

0.70.0

💡 Enhancements 💡

  • target allocator: Save the scrape config response in the HTTP server upon relevant config change, instead of building it on every handler call. At the same time, this avoids data race when accessing the scrape configs map. (#1359)
  • target allocator: Configure gin router to be used in release mode and do not use the default logging middleware which is noisy and not formatted properly. (#1352)
  • github action: This PR adds github action for publishing the Operator OpAMP Bridge container image to Github Container Registry. (#1369)
  • operator: Add Operator-OpAMP-Bridge version info to Operator (#1455)

🧰 Bug fixes 🧰

  • statsd-receiver: Switched the protocol of statsd-receiver to UDP from TCP (#1476)

Components

0.69.0

🚩 Deprecations 🚩

  • target allocator: Replace deprecated gorilla/mux dependency with gin (#1383, @matej-g)

💡 Enhancements 💡

🧰 Bug fixes 🧰

Components

0.68.0

🚩 Deprecations 🚩

🚀 New components 🚀

💡 Enhancements 💡

  • instrumentation/python: Update default python exporters to use OTLP. (#1328, @TylerHelmuth)
  • target-allocator: Change the github action to match the operator. (#1347, @jaronoff97)

🧰 Bug fixes 🧰

  • operator: Missing resource from OpenShift Routes prevents them to be deployed in OpenShift clusters.(#1337, @iblancasa)
  • target allocator: Refactor the target allocator build to not run it as root. (#1345, @iblancasa)

OpenTelemetry Collector and Contrib

0.67.0

🚀 New components 🚀

💡 Enhancements 💡

OpenTelemetry Collector and Contrib

0.66.0

🚀 New components 🚀

💡 Enhancements 💡

  • Update the javaagent version to 1.20.2 (#1212)
  • Bump OTel .NET AutoInstrumentation to 0.5.0 (#1276, @pellared)

🧰 Bug fixes 🧰

  • Fix bug found when using relabel-config filterStrategy with serviceMonitors (#1232, @moh-osman3)

OpenTelemetry Collector and Contrib

0.64.1

🚀 New components 🚀

💡 Enhancements 💡

  • Only create ServiceAccounts if existing ServiceAccount is not specified (#1246, @csquire)
  • feat(otel-allocator): use type for AllocationStrategy (#1220, @secustor)
  • fix min tls setting for webhook server (#1225) (#1230, @kangsheng89)
  • Bump OTel python versions to 1.14.0 and 0.35b0 (#1227, @vainikkaj)
  • Trim unnecessary otelcol operator verbs (#1222, @Allex1)
  • decrease autoscaling version detection log verbosity (#1212, @frzifus)

🧰 Bug fixes 🧰

  • None

OpenTelemetry Collector and Contrib

0.63.1

🚀 New components 🚀

  • None

💡 Enhancements 💡

  • None

🧰 Bug fixes 🧰

  • None

OpenTelemetry Collector and Contrib

0.62.1

🚀 New components 🚀

💡 Enhancements 💡

🧰 Bug fixes 🧰

  • Fix panic if maxreplicas is set but autoscale is not defined in the CR (#1201, @kevinearls)

OpenTelemetry Collector and Contrib

0.61.0

❌ Breaking Changes ❌

  • Jaeger receiver no longer supports remote sampling. To be able to perform an update, it must be deactivated or replaced by a configuration of the jaegerremotesampling extension. It is important that the jaegerremotesampling extension and the jaegerreceiver do not use the same port. To increase the collector version afterwards, the update must be triggered again by restarting the operator. Alternatively, the OpenTelemetryCollector CRD can be re-created. (otel-contrib#14707)

🚀 New components 🚀

💡 Enhancements 💡

🧰 Bug fixes 🧰

OpenTelemetry Collector and Contrib

0.60.0

🚀 New components 🚀

💡 Enhancements 💡

  • Expose Horizontal Pod Autoscaler Behavior and add hpa scaledown test (#1077, @kevinearls)
  • Utilize .NET AutoInstrumentation docker image v.0.3.1-beta.1 (#1091, @Kielek)
  • Update the javaagent version to 1.18.0 (#1096, @opentelemetrybot)
  • Update GetAllTargetsByCollectorAndJob to use TargetItem hash (#1086, @kelseyma)
  • Upgrade kind images and add testing for Kubernetes 1.25 (#1078, @iblancasa)
  • Bump .NET OTel AutoInstrumentation to 0.3.1-beta.1 (#1085, @Kielek)
  • Make sure we return the right version when autoscaling v2 is found (#1075, @kevinearls)
  • Add retry loop for client.get of replicaset as that sometimes fails (#1072, @kevinearls)

OpenTelemetry Collector and Contrib

0.59.0

💡 Enhancements 💡

🧰 Bug fixes 🧰

  • adds dotnet-auto-instrumentation image version env variable to the operator publish workflow (#1060, @avadhut123pisal)

OpenTelemetry Collector and Contrib

0.58.0

🧰 Bug fixes 🧰

OpenTelemetry Collector and Contrib

0.57.2

🚀 New components 🚀

💡 Enhancements 💡

🧰 Bug fixes 🧰

  • Resolve bug where TA doesn't allocate all targets (#1039, @jaronoff97)
  • Fix the issue that target-level metadata labels were missing (#948) (#949, @CoderPoet)

OpenTelemetry Collector and Contrib

0.56.0

💡 Enhancements 💡

OpenTelemetry Collector and Contrib

0.55.0

🧰 Bug fixes 🧰

💡 Enhancements 💡

OpenTelemetry Collector and Contrib

0.54.0

🧰 Bug fixes 🧰

OpenTelemetry Collector and Contrib

0.53.0

💡 Enhancements 💡

OpenTelemetry Collector and Contrib

0.52.0

🚀 New components 🚀

💡 Enhancements 💡

🧰 Bug fixes 🧰

OpenTelemetry Collector and Contrib

0.51.0

🚀 New components 🚀

  • Choose target container injection with annotation (#689, @fscellos)
  • Fix K8s attributes values in OTEL_RESOURCE_ATTRIBUTES env var (#864, @mat-rumian)

💡 Enhancements 💡

🧰 Bug fixes 🧰

OpenTelemetry Collector and Contrib

0.50.0

🚀 New components 🚀

  • Add resource attributes to collector sidecar (#832, @rubenvp8510)
  • Create serving certs for headless services on OpenShift (#818) (#824, @rkukura)
  • [targetallocator] PrometheusOperator CRD MVC (#653, @secustor)

💡 Enhancements 💡

🧰 Bug fixes 🧰

OpenTelemetry Collector and Contrib

0.49.0

🚀 New components 🚀

  • Including new label (#797, @yuriolisa)
  • Add scale subresource status to the OpenTelemetryCollector CRD status (#785, @secat)

💡 Enhancements 💡

🧰 Bug fixes 🧰

OpenTelemetry Collector and Contrib

0.48.0

  • Bumped OpenTelemetry Collector to v0.48.0
  • Filter out unneeded labels (#606, @ekarlso)
  • add labels in order to make selectors unique (#796, @davidkarlsen)

OpenTelemetry Collector and Contrib

0.47.0

  • Bumped OpenTelemetry Collector to v0.47.0
  • doc: customized auto-instrumentation (#762, @cuichenli)
  • Remove v prefix from the container image version/tag (#771, @pavolloffay)

OpenTelemetry Collector and Contrib

0.46.0

  • Bumped OpenTelemetry Collector to v0.46.0
  • add autoscale option to enable support for Horizontal Pod Autoscaling (#746, @binjip978)
  • chore(nodejs): bump auto-instrumentations (#763, @mat-rumian)
  • Make operator more resiliant to etcd defrag activity (#742, @pavolloffay)

OpenTelemetry Collector and Contrib

0.45.0

  • Bumped OpenTelemetry Collector to v0.45.0
  • Match pod dnsPolicy to hostNetwork config (#691, @gai6948)
  • Change container image USER to UID (#738, @kraman)
  • Use OTEL collector image from GHCR (#732, @pavolloffay)

0.44.0

0.43.0

0.42.0

0.41.1

  • Add support for nodejs and python image defaulting and upgrade (#607, @pavolloffay)
  • Bugfix for kubeletstats receiver operator is exposing the service port, ignore port exposition as it is a scraper (#558, @mritunjaysharma394)

0.41.0

0.40.0

  • Bumped OpenTelemetry Collector to v0.40.0
  • Support K8s liveness probe to otel collector, if health_check extension is defined in otel collector config (#574)

0.39.0

  • Bumped OpenTelemetry Collector to v0.39.0
  • Upgrade path for Instrumentation kind (#548)
  • Auto-instrumentation support for python (#532)
  • Support for PodSecurityContext in OpenTelemetry collector (#469)
  • Java auto-instrumentation support is bumped to 1.7.2 (#549)
  • Auto-instrumentation support for nodejs (#507)
  • Sampler configuration support in instrumentation kind (#514)

0.38.0

  • Bumped OpenTelemetry Collector to v0.38.0
  • Initial support for auto-instrumentation at the moment supported only for Java (#464, @pavolloffay)

0.37.1

  • Bumped OpenTelemetry Collector to v0.37.1

0.37.0

  • Bumped OpenTelemetry Collector to v0.37.0

0.36.0

  • Bumped OpenTelemetry Collector to v0.36.0
  • Add envFrom to collector spec (#419, @ctison)
  • Allow changing Pod annotations using podAnnotations (#451, @indrekj)

0.35.0

  • Bumped OpenTelemetry Collector to v0.35.0
  • Target Allocator implementation (Part 3 - OTEL Operator Enhancements) (#389, @Raul9595)
  • Target Allocator implementation (Part 2 - OTEL Operator Enhancements) (#354, @alexperez52)

0.34.0

0.33.0 (2021-08-20)

  • Bumped OpenTelemetry Collector to v0.33.0
  • Add statsd receiver (#364, @VineethReddy02)
  • Allow running daemonset in hostNetwork mode (#393, @owais)
  • Target Allocator implementation (Part 1 - OTEL Operator Enhancements) (#351, @)
  • Change the default port for OTLP HTTP (#373, @joaopgrassi)
  • Add Kubernetes 1.22 to the test matrix (#382, @jpkrohling)
  • Add protocol: TCP value under ports key to avoid the known limitation for Kubernetes 1.19 (#372, @Saber-W)
  • Add fluentforward receiver (#367, @VineethReddy02)

0.32.0

  • We skipped this release.

0.31.0 (2021-07-29)

  • Bumped OpenTelemetry Collector to v0.31.0

0.30.0 (2021-07-15)

  • Bumped OpenTelemetry Collector to v0.30.0
  • Container Security Context (#332, @owais)

0.29.0 (2021-06-25)

0.28.0 (2021-06-12)

  • Bumped OpenTelemetry Collector to v0.28.0
  • Tolerations support in OpenTelemetryCollector CRD (#302, @VineethReddy02)
  • Copy desired service ports when reconciling (#299, @thib92)
  • Remove the OTLP receiver legacy gRPC port(55680) references (#293, @mxiamxia)

0.27.0 (2021-05-20)

  • Bumped OpenTelemetry Collector to v0.27.0

0.26.0 (2021-05-12)

  • Bumped OpenTelemetry Collector to v0.26.0

0.25.0 (2021-05-06)

  • Bumped OpenTelemetry Collector to v0.25.0

0.24.0 (2021-04-20)

0.23.0 (2021-04-04)

  • Bumped OpenTelemetry Collector to v0.23.0

0.22.0 (2021-03-11)

  • Bumped OpenTelemetry Collector to v0.22.0

0.21.0 (2021-03-09)

  • Bumped OpenTelemetry Collector to v0.21.0
  • Restart collector pod when config is updated (#215, @bhiravabhatla)
  • Add permissions for opentelemetry finalizer resource (#212, @rubenvp8510)
  • fix: collector selection should not fail if there is a single sidecar (#210, @vbehar)

0.20.0 (2021-02-11)

  • Bumped OpenTelemetry Collector to v0.20.0
  • Add correct boundary to integer parsing (#187, @jpkrohling)

0.19.0 (2021-01-27)

  • Bumped OpenTelemetry Collector to v0.19.0

0.18.1 (2021-01-25)

  • Fixed testing image from being used in non-test artifacts (fixes #170) (#171, @gramidt)

0.18.0 (2021-01-22)

0.17.1 (2020-12-17)

0.17.0 (2020-12-16)

0.16.0 (2020-12-03)

Note: The default port for the OTLP receiver has been changed from 55680 to 4317. To keep compatibility with your existing workload, the operator is now generating a service with the two port numbers by default. Both have 4317 as the target port.

0.15.0 (2020-11-27)

0.14.0 (2020-11-09)

Note: The tailsampling processor was moved to the contrib repository, requiring a manual intervention in case this processor is being used: either replace the image with the contrib one (v0.14.0, which includes this processor), or remove the processor.

0.13.0 (2020-10-22)

  • Bumped OpenTelemetry Collector to v0.13.0 (#101, @dengliming)
  • Allow for spec.Env to be set on the OTEL Collector Spec (#94, @ekarlso)

Note: The groupbytrace processor was moved to the contrib repository, requiring a manual intervention in case this processor is being used: either replace the image with the contrib one (v0.13.1, which includes this processor), or remove the processor.

0.12.0 (2020-10-12)

  • Bumped OpenTelemetry Collector to v0.12.0 (#81, @jpkrohling)
  • Remove use of deprecated controller runtime log API (#78, @bvwells)

0.11.0 (2020-09-30)

  • Initial release after the migration to kubebuilder
  • Support for OpenTelemetry Collector v0.11.0
  • Features:
    • Provisioning of an OpenTelemetry Collector based on the CR definition
    • Sidecar injected via webhook
    • Deployment modes: daemonset, deployment, sidecar
    • Automatic upgrade between collector versions
  • CRs from the older version should still work with this operator