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 theinstrumentation.opentelemetry.io/container-names
annotation when the multi-instrumentation is enabled (#3090)operator
: Support for Kubernetes1.31
version. (#3247)target allocator
: introduces the global field in the TA config to allow for setting scrape protocols (#3160)
-
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)
- OpenTelemetry Collector - v0.108.0
- OpenTelemetry Contrib - v0.108.0
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.52.1
- Python - v0.48b0
- Go - v0.14.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
-
instrumentation
: introduced ability to set Otel resource attributes based on annotations for instrumentation (#2181)resource.opentelemetry.io/your-key: "your-value"
collector
: Fix example for labels-filter startup parameter --label. (#3201)
- OpenTelemetry Collector - v0.107.0
- OpenTelemetry Contrib - v0.107.0
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.52.1
- Python - v0.47b0
- Go - v0.14.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
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 configureNO_PROXY
to.svc.cluster.local
so the calls to this endpoint will not go through the proxy.
- OpenTelemetry Collector - v0.106.1
- OpenTelemetry Contrib - v0.106.1
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.52.1
- Python - v0.47b0
- Go - v0.14.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
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 operatorbundle
: 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)
collector
: Remove workaround for 0.104.0 that enabled feature-gateconfmap.unifyEnvVarExpansion
when Prometheus receiver was enabled. (#3142)opamp
: Fixes a bug where the collector was not being marshalled correctly by using a reference instead of a value. (#3171)auto-instrumentation
: Fixes a bug statefulSet wrong service.instance.id (#3157)
- OpenTelemetry Collector - v0.105.0
- OpenTelemetry Contrib - v0.105.0
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.52.1
- Python - v0.46b0
- Go - v0.13.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
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.
collector
: Since collector version0.104.0
the collector listens onlocalhost
instead of0.0.0.0
by default (collector#8510). To avoid breaking changes thecomponent.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 thespec.mode
field of theOpenTelemetryCollector
Custom Resource (CR) immutable (#3055)collector
: Improves the performance of port and configuration parsing in the operator (#2603)
-
collector
: Fixes a bug where an exporter would cause a port collision (#3124) -
collector
: Fix deletion issue ofotelcol
CR by makingspec.config.service.pipelines.processors
optional (#3075) This change makesspec.config.service.pipelines.processors
inOpenTelemetryCollector
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 theopentelemetrycollectors.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 annotationopenshift.io/internal-registry-pull-secret-ref: <simplest-collector-dockercfg-jwq66>
to the service account which contains secret name with image pull secret.
- OpenTelemetry Collector - v0.104.0
- OpenTelemetry Contrib - v0.104.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.52.1
- Python - v0.46b0
- Go - v0.13.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
collector, target allocator, opamp
: Require Go 1.22 for building the operator (#2757)
-
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)
- OpenTelemetry Collector - v0.103.0
- OpenTelemetry Contrib - v0.103.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.51.0
- Python - v0.46b0
- Go - v0.13.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
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 endpointopentelemetry_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
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
- OpenTelemetry Collector - v0.102.1
- OpenTelemetry Contrib - v0.102.1
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.51.0
- Python - v0.45b0
- Go - v0.13.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
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 foroperator.golang.flags
to automatically add the environment variables for GOMAXPROCS and GOMEMLIMIT (#2919, #1456) A new featuregateoperator.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.
- OpenTelemetry Collector - v0.101.0
- OpenTelemetry Contrib - v0.101.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.51.0
- Python - v0.44b0
- Go - v0.12.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
target allocator
: Refactor allocation strategies (#2928) The performance of the per-node strategy was massively improved as part of this change.
operator
: Fixes an issue where the user can no longer set the webhook port (#2923)
- OpenTelemetry Collector - v0.100.0
- OpenTelemetry Contrib - v0.100.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.51.0
- Python - v0.44b0
- Go - v0.12.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
-
opamp
: Add healthy field at collector pool level in opamp bridge heartbeat (#2936) -
collector
: Add support for readinessProbe on OpenTelemetryCollector CRD. (#2943) Add support for readinessProbe onOpenTelemetryCollector
and its default similar to the already supported livenessProbe. -
operator
: Enabling new Logs Enconder Configuration parameters. (#268) -
operator
: Automatically enable RBAC creation if operator SA can create clusterroles and bindings. --create-rbac-permissions flag is noop and deprecated now. (#2588) -
target allocator
: Added option for creating an mTLS-configured HTTPS server to fetch scrape config with real secret values. (#1669) The change introduces an option to create an additional HTTPS server with mTLS configuration. This server is specifically utilized for obtaining the scrape configuration with actual secret values.
-
collector
: Create a Service Monitor for the monitoring service and another one for the collector service when the Prometheus exporter is used. (#2877) Create a Service Monitor for the collector Service when Prometheus exporter is used. A different Service Monitor is created for the monitoring service. This helps excluding the headless service (duplicating the metrics collection) and splits responsibilities between the two Service Monitors. Now, the operator.opentelemetry.io/collector-service-type label is used to differentiate the services. operator.opentelemetry.io/collector-monitoring-service and operator.opentelemetry.io/collector-headless-service are deprecated now. -
target-allocator
: Fixed non-expected warnings on TA webhook. (#2685) -
collector
: Ensure all Prometheus CRDs are installed (#2964) -
collector
: Cleanup ClusterRoles and ClusterRoleBindings created by the operator (#2938) The operator uses finalizer on the collector to run the cleanup -
collector
: Use the k8snode detector instead of kubernetes for the automatic RBAC creation for the resourcedetector (#2833) -
collector
: When two Collectors are created with the same name but different namespaces, the ClusterRoleBinding created by the first will be overriden by the second one. (#2862) -
collector
: Fix to reflect changes of OpenTelemetryCollector.spec.nodeSelector in the collector Pods (#2940) When updatingOpenTelemetryCollector.spec.nodeSelector
it was not removing previous selector from the final collector pod (Deployment/Daemonset/Statefulset). -
collector
: Fix of Labels and Annotations filter (#2770) -
target allocator
: Fix target allocator readiness check (#2903)
- OpenTelemetry Collector - v0.100.0
- OpenTelemetry Contrib - v0.100.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.51.0
- Python - v0.44b0
- Go - v0.12.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
operator
: change java instrumentation feature gateoperator.autoinstrumentation.java
into command line flag--enable-java-instrumentation
(#2673, #2582)operator
: remove featuregateoperator.autoinstrumentation.nodejs
. Use command line flag--enable-nodejs-instrumentation
instead (#2674)operator
: remove featuregateoperator.autoinstrumentation.go
. Use command line flag--enable-go-instrumentation
instead (#2675)target allocator
: Removeoperator.collector.rewritetargetallocator
feature flag (#2796)target allocator
: Drop compatibility with older target allocator versions (#1907) We've made a breaking change to the target allocator configuration in 0.93.0. This change removes operator compatibility with target allocator versions older than that. Users running more recent target allocator versions are unaffected.
collector
: Enable reconciliation of Collector v1beta1 CRD. See CRD changelog for detailed information. (#2620, #1907) Users are expected to migrate tootelcol.v1beta1.opentelemetry.io
. The support forotelcol.v1alpha1.opentelemetry.io
will be removed in the future. Follow migration guide for upgrading already created collector instances. After allotelcol.v1alpha1.opentelemetry.io
are stored asv1beta1
update the collector CRD to store onlyv1beta1
kubectl patch customresourcedefinitions opentelemetrycollectors.opentelemetry.io --subresource='status' --type='merge' -p '{"status":{"storedVersions":["v1beta1"]}}'
. OnlyAllNamespaces
install mode is now supported due to the conversion webhook fromv1beta1
tov1alpha1
. See OLM docs and OLM operator groups docs.
collector
: Changes metric port logic to use intermediary struct. (#2603)collector
: Remove collector v1alpha1 defaulting and validating webhooks. (#2736) The functionality was moved to the collector v1beta1 webhooks.
-
auto-instrumentation
: Add attributeservice.instance.id
while pod is mutated. (#2679)service.instance.id
is expected to be<namespace>.<podName>.<containerName>
But while pod is created it may not have the
podName
yet at the podMutator webhooks.This changed to use the env var
OTEL_RESOURCE_ATTRIBUTES_POD_NAME
which will be present at runtime.<namespace>.$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME).<containerName>
Making a valid and complete value for
service.instance.id
to be added. -
collector
: Fixes a bug that would cause errant rollouts on a non-config related change. (#2899) -
collector
: resolves a bug that would create a junk selector for the service by merging rather than overriding. (#2873) -
target allocator
: Fix a metric relabel config unescaping bug (#2867) If only metric relabel configs were present, without target relabel configs, unescaping wouldn't be applied, leading to invalid Target Allocator configuration.
- OpenTelemetry Collector - v0.99.0
- OpenTelemetry Contrib - v0.99.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.49.1
- Python - v0.44b0
- Go - v0.12.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
operator
: Add support for adding/extending otc-collector container ports. (#2763)auto-instrumentation
: Support Java auto-instrumentation extensions. (#1785)
target allocator
: Fix for keepequal/dropequal action (#2793)collector
: Create automatically the RBAC permissions to manage replicasets when using the k8sattributesprocessor (#2823)documentation
: The description for some fields was truncated in the documentation. (#2563)
- OpenTelemetry Collector - v0.98.0
- OpenTelemetry Contrib - v0.98.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.49.1
- Python - v0.44b0
- Go - v0.10.1-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
collector
: Introduces ability to detect presence of Prometheus CRDs to dynamically add to scheme to prevent startup issues. (#2180)
- OpenTelemetry Collector - v0.97.0
- OpenTelemetry Contrib - v0.97.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.49.1
- Python - v0.44b0
- Go - v0.10.1-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
operator
: change nginx instrumentation feature gate operator.autoinstrumentation.nginx into command line flag --enable-nginx-instrumentation (#2582, #2676)operator
: remove featuregateoperator.autoinstrumentation.python
. Use command line flag--enable-python-instrumentation
instead (#2582, #2672)target allocator
: Promoteoperator.collector.rewritetargetallocator
feature flag to stable (#2796)
-
auto-instrumentation
: Bump NodeJS autoinstrumentations dependency to a version that supports enabling selected instrumentations via environment variable. (#2622) See the documentation for details. Usage example:export OTEL_NODE_ENABLED_INSTRUMENTATIONS="http,nestjs-core"
. -
auto-instrumentation
: CronJob name propagated to the OTEL Service Name (#2716) When instrumenting aCronJob
it would generate aJob
and then aPod
. Previously it would use theJob
name as the Service name, generating too many different services on each cron execution. This release fixed to collect theJob
parent's name, if it has one. -
instrumentation
: Instrumentation now automatically add node and pod ips as env varsOTEL_NODE_IP
andOTEL_POD_IP
to instrumented containers. (#2769) -
auto-instrumentation
: Remove NodeJS autoinstrumentation dev dependencies to reduce image size (#2802) -
instrumentation
: Remove env var prefix validation (#2768)
collector
: Fix the RBAC resources creation when the processor was only enabled (#2788)operator
: Added missing label for Service/Pod Monitors (#2251)instrumentation
: Don't preserve ownership of files copied from the autoinstrumenation image. This avoids issues when instrumenting workloads running as non-root (#2655)opamp bridge
: Fix opamp bridge configmap "app.kubernetes.io/version" label to be generated in the same way as other resource version labels (#2583)
- OpenTelemetry Collector - v0.97.0
- OpenTelemetry Contrib - v0.97.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.49.1
- Python - v0.44b0
- Go - v0.10.1-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
operator
: change dotnet instrumentation feature gate into command line flag --enable-dotnet-instrumentation (#2582, #2671)
operator
: Created ability to filter out Annotations (#2627)
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 akind
of Node, such as those for the kubelet metrics created by the prometheus operatoroperator
: 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.
- OpenTelemetry Collector - v0.96.0
- OpenTelemetry Contrib - v0.96.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.46.0
- Python - v0.44b0
- Go - v0.10.1-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
- 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 featuregateEnableApacheHTTPAutoInstrumentationSupport
. 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)
operator
: Allow for label selectors on the daemonset through update status (#2605)
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)
- OpenTelemetry Collector - v0.95.0
- OpenTelemetry Contrib - v0.95.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.46.0
- Python - v0.44b0
- Go - v0.10.1-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
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)
-
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)
- OpenTelemetry Collector - v0.94.0
- OpenTelemetry Contrib - v0.94.0
- Java auto-instrumentation - v1.32.1
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.46.0
- Python - v0.43b0
- Go - v0.10.1-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
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.
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)
operator
: Fix annotations required by the OpenShift Operator Hub (#2557)
- OpenTelemetry Collector - v0.92.0
- OpenTelemetry Contrib - v0.92.0
- Java auto-instrumentation - v1.32.0
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.46.0
- Python - v0.43b0
- Go - v0.10.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4]
operator
: Adds deployment rollout strategy to CRD fields (#2512)
operator
: Fix ClusterRole and ClusterRoleBinding reconciliation (#2525)
-
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.
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.
- OpenTelemetry Collector - v0.92.0
- OpenTelemetry Contrib - v0.92.0
- Java auto-instrumentation - v1.32.0
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.46.0
- Python - v0.43b0
- Go - v0.10.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4]
target allocator
: Remove configuration hot reloading from target allocator (#2032) This only affects use of target allocator without the operator.
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)
target allocator
: Fix ServiceAccount naming for target allocator (#2443)operator
: add missing appProtocol in opencensus receiver(#2487)
- OpenTelemetry Collector - v0.91.0
- OpenTelemetry Contrib - v0.91.0
- Java auto-instrumentation - v1.32.0
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.46.0
- Python - v0.43b0
- Go - v0.8.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4]
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)
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)
- OpenTelemetry Collector - v0.90.1
- OpenTelemetry Contrib - v0.90.1
- Java auto-instrumentation - v1.32.0
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.44.0
- Python - v0.41b0
- Go - v0.8.0-alpha
- ApacheHTTPD - 1.0.3
- Nginx - 1.0.3]
autoinstrumentation
: Bump Go auto instrumentation version to v0.8.0-alpha (#2358) The default export protocol was switched fromgrpc
tohttp/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.
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 RELATEDIMAGE 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)
-
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
: Truncatesidecar.opentelemetry.io/injected
sidecar pod label to 63 characters (#1031)
- OpenTelemetry Collector - v0.89.0
- OpenTelemetry Contrib - v0.89.0
- Java auto-instrumentation - v1.31.0
- .NET auto-instrumentation - v1.1.0
- Node.JS - v0.44.0
- Python - v0.41b0
- Go - v0.8.0-alpha
- ApacheHTTPD - 1.0.3
- Nginx - 1.0.3]
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
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)
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)
- OpenTelemetry Collector - v0.88.0
- OpenTelemetry Contrib - v0.88.0
- Java auto-instrumentation - v1.31.0
- .NET auto-instrumentation - v1.1.0
- Node.JS - v0.44.0
- Python - v0.41b0
- Go - v0.7.0-alpha
- ApacheHTTPD - 1.0.3
- Nginx - 1.0.3]
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 validationoperator
: 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.
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)
operator
: Set the security context for the init containers of the Apache HTTPD instrumentation (#2050)
- OpenTelemetry Collector - v0.87.0
- OpenTelemetry Contrib - v0.87.0
- Java auto-instrumentation - v1.30.0
- .NET auto-instrumentation - v1.0.2
- Node.JS - v0.41.1
- Python - v0.41b0
- Go - v0.7.0-alpha
- ApacheHTTPD - 1.0.3
- Nginx - 1.0.3]
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
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 asdeployment
orstatefulset
.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)
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)
- OpenTelemetry Collector - v0.86.0
- OpenTelemetry Contrib - v0.86.0
- Java auto-instrumentation - v1.30.0
- .NET auto-instrumentation - v1.0.2
- Node.JS - v0.41.1
- Python - v0.41b0
- Go - v0.3.0-alpha
- ApacheHTTPD - 1.0.3
- Nginx - 1.0.3]
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)
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)
- OpenTelemetry Collector - v0.85.0
- OpenTelemetry Contrib - v0.85.0
- Java auto-instrumentation - v1.30.0
- .NET auto-instrumentation - v1.0.0
- Node.JS - v0.41.1
- Python - v0.40b0
- Go - v0.3.0-alpha
- ApacheHTTPD - 1.0.3
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
.
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)
- OpenTelemetry Collector - v0.84.0
- OpenTelemetry Contrib - v0.84.0
- Java auto-instrumentation - v1.29.0
- .NET auto-instrumentation - v1.0.0
- Node.JS - v0.41.1
- Python - v0.40b0
- Go - v0.2.2-alpha
- ApacheHTTPD - 1.0.3
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.
operator
: AddAdditionalContainers
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)
operator
: fixes bug introduced in v0.82.0 where Prometheus exporters weren't being generated correctly (#2016)
- OpenTelemetry Collector - v0.83.0
- OpenTelemetry Contrib - v0.83.0
- Java auto-instrumentation - v1.29.0
- .NET auto-instrumentation - v1.0.0-rc.2
- Node.JS - v0.41.1
- Python - v0.40b0
- Go - v0.2.2-alpha
- ApacheHTTPD - 1.0.3
operator
: Remove legacy OTLP HTTP port (#1954)
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 calledmanagementState
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)
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)
- OpenTelemetry Collector - v0.82.0
- OpenTelemetry Contrib - v0.82.0
- Java auto-instrumentation - v1.28.0
- .NET auto-instrumentation - v1.0.0-rc.1
- Node.JS - v0.41.1
- Python - v0.40b0
- Go - v0.2.2-alpha
- ApacheHTTPD - 1.0.3
operator
: Create index image to be used as a Catalog. (#1823)
operator
: Fix.sampler.type
being incorrectly required for Instrumentation (#1886)receivers
: Skip service port for scraper receivers (#1866)
- OpenTelemetry Collector - v0.81.0
- OpenTelemetry Contrib - v0.81.0
- Java auto-instrumentation - v1.26.0
- .NET auto-instrumentation - v0.7.0
- Node.JS - v0.40.0
- Python - v0.39b0
- Go - 0.2.1-alpha
- ApacheHTTPD - 1.0.3
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)
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)
operator
: Instrumentation crd for Nginx auto-instrumentation. (#1853)
- OpenTelemetry Collector - v0.80.0
- OpenTelemetry Contrib - v0.80.0
- Java auto-instrumentation - v1.26.0
- .NET auto-instrumentation - v0.7.0
- Node.JS - v0.40.0
- Python - v0.39b0
- Go - 0.2.1-alpha
- ApacheHTTPD - 1.0.3
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)
operator
: The OpenTelemetry Collector version is not shown properly in the status field if no upgrade routines are performed. (#1802)
- OpenTelemetry Collector - v0.79.0
- OpenTelemetry Contrib - v0.79.0
- Java auto-instrumentation - v1.26.0
- .NET auto-instrumentation - v0.7.0
- Node.JS - v0.39.1
- Python - v0.39b0
- Go - 0.2.1-alpha
- ApacheHTTPD - 1.0.2
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)
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)
- OpenTelemetry Collector - v0.78.0
- OpenTelemetry Contrib - v0.78.0
- Java auto-instrumentation - v1.26.0
- .NET auto-instrumentation - v0.7.0
- Node.JS - v0.39.1
- Python - v0.39b0
- Go - 0.2.1-alpha
- ApacheHTTPD - 1.0.2
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 fromv0.2.0-alpha
tov0.2.1-alpha
(#1740)
operator
: fixes a bug where setting the http_sd_config would crash the configmap replacement. (#1742)
- OpenTelemetry Collector - v0.77.0
- OpenTelemetry Contrib - v0.77.0
- Java auto-instrumentation - v1.25.0
- .NET auto-instrumentation - v0.7.0
- Node.JS - v0.38.0
- Python - v0.38b0
- Go - 0.2.1-alpha
-
operator
: add support forlifecycle
hooks andterminationGracePeriodSeconds
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)
target allocator
: fix updating scrape configs (#1415)
- OpenTelemetry Collector - v0.76.1
- OpenTelemetry Contrib - v0.76.1
- Java auto-instrumentation - v1.25.0
- .NET auto-instrumentation - v0.7.0
- Node.JS - v0.38.0
- Python - v0.38b0
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)
- OpenTelemetry Collector - v0.75.0
- OpenTelemetry Contrib - v0.75.0
- Java auto-instrumentation - v1.24.0
- .NET auto-instrumentation - v0.6.0
- Node.JS - v0.37.0
- Python - v0.38b0
- OpenTelemetry Collector - v0.74.0
- OpenTelemetry Contrib - v0.74.0
- Java auto-instrumentation - v1.23.0
- .NET auto-instrumentation - v0.6.0
- Node.JS - v0.34.0
- Python - v0.36b0
target allocator
: Use jsoniter to marshal json (#1336)
- OpenTelemetry Collector - v0.73.0
- OpenTelemetry Contrib - v0.73.0
- Java auto-instrumentation - v1.23.0
- .NET auto-instrumentation - v0.6.0
- Node.JS - v0.34.0
- Python - v0.36b0
operator
: Fixes inability of the operator to reconcile in stateful set mode when the immutable fieldvolumeClaimTemplates
is changed. If such change is detected, the operator will recreate the stateful set. (#1491)
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)
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
: SetServiceInternalTrafficPolicy`` to
Local` when using daemonset mode. (#1401)
-
0.71.0
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)
-
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
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
: Configuregin
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 theOperator OpAMP Bridge
container image to Github Container Registry. (#1369)operator
: AddOperator-OpAMP-Bridge
version info to Operator (#1455)
statsd-receiver
: Switched the protocol of statsd-receiver to UDP from TCP (#1476)
-
0.69.0
operator
: CRD defs for Apache HTTPD Autoinstrumentation (#1305, @chrlic)operator
: Inject otelcol sidecar into any namespace (#1395, @pavolloffay)operator
: Update bridge and allocator dependencies (#1450, @jaronoff97)target allocator
: register pprof endpoints for allocator (#1408, @seankhliao)target allocator
: Addtl server unit tests (#1357, @kristinapathak)target-allocator
: Usegin
in release mode and without default logger middleware (#1414, @matej-g)operator
: Update README.md document Kubernetes Operator Introduction (#1440, @fengshunli)operator
: Update package dependencies (#1441, @fengshunli)
operator
: Fix daemonset-features E2E test for OpenShift (#1354, @iblancasa)operator
: Fix E2E autoscale test for OpenShift (#1365, @iblancasa)target allocator
: Fix Target Allocator tests (#1403, @jaronoff97)
-
0.68.0
HPA
: Move maxReplicas and minReplicas to AutoscalerSpec.(#1302, @moh-osman3)
Operator OpAMP Bridge
: Operator OpAMP Bridge Service. (#1339, @jaronoff97)
instrumentation/python
: Update default python exporters to use OTLP. (#1328, @TylerHelmuth)target-allocator
: Change the github action to match the operator. (#1347, @jaronoff97)
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)
- Support openshift routes (#1206, @frzifus)
- Add TargetMemoryUtilization metric for AutoScaling (#1223, @kevinearls)
- Update the javaagent version to 1.21.0 (#1324)
- Update default python exporters to use OTLP (#1328, @TylerHelmuth)
- Update default Node.JS instrumentation to 0.34.0 (#1334, @mat-rumian)
- Update default Python instrumentation to 0.36b0 (#1333, @mat-rumian)
- [HPA] Move maxReplicas and minReplicas to AutoscalerSpec (#1333, @moh-osman3)
- Memory improvements first pass (#1293, @jaronoff97)
- Add change handler to register callbacks (#1292, @frzifus)
- Ignore reconcile errors that occur because a pod is being terminated (#1233, @kevinearls)
- remove unused onChange function from config (#1290, @frzifus)
- Remove default claims - fixes #1281 (#1282, @ekarlso)
- Add ingressClassName field to collector spec (#1269, @avadhut123pisal)
- Add secure ciphersuites for TLS config (#1244, @kangsheng89)
- Add Apache-httpd instrumentation v1.0 (part-1) (#1236, @chrlic)
- Update the javaagent version to 1.20.2 (#1212)
- Bump OTel .NET AutoInstrumentation to 0.5.0 (#1276, @pellared)
- Fix bug found when using relabel-config filterStrategy with serviceMonitors (#1232, @moh-osman3)
- add headless label (#1088, @kristinapathak)
- Add new selector for pod and service monitor (#1256, @jaronoff97)
- [target-allocator] Add a pre-hook to the allocator to filter out dropped targets (#1127, @moh-osman3)
- [target-allocator] create new target package (#1214, @moh-osman3)
- 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)
- None
- None
- None
- None
- Adds support of affinity in collector spec (#1204, @avadhut123pisal)
- Make logging easier to configure (#1193, @pavolloffay)
- Using immutable labels as service selectors (#1152, @angelokurtis)
- Avoid OOM of the operator (#1194, @pavolloffay)
- Update the javaagent version to 1.19.1 (#1188, @opentelemetrybot)
- Bump OTel .NET AutoInstrumentation to 0.4.0-beta.1 (#1209, @pellared)
- Skip .NET auto-instrumentation if OTEL_DOTNET_AUTO_HOME env var is already set (#1177, @avadhut123pisal)
- Fix panic if maxreplicas is set but autoscale is not defined in the CR (#1201, @kevinearls)
- 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 thejaegerreceiver
do not use the same port. To increase the collector version afterwards, the update must be triggered again by restarting the operator. Alternatively, theOpenTelemetryCollector
CRD can be re-created. (otel-contrib#14707)
- [HPA] Add targetCPUUtilization field to collector config (#1066, @moh-osman3)
- Extend otelcol crd with minimalistic ingress options (#1128, @frzifus)
- Reconcile otel collector on given context (#1144, @frzifus)
- Expose container ports on the collector pod (#1070, @kristinapathak)
- Add scrape configs endpoint (#1124, @jaronoff97)
- Add local arm build (#1157, @Efrat19)
- [HPA] Add targetCPUUtilization field to collector config (#1066, @moh-osman3)
- Validate all env. vars. before starting injecting env. vars (#1141, @avadhut123pisal)
- Update routine for migration of jaeger remote sampling in version 0.61.0 (#1116, @frzifus)
- Allow version before 0.52 to upgrade (#1126, @pureklkl)
- Set OTEL_METRICS_EXPORTER to none to prevent using the default value (#1149, @aabmass)
- Change app image and context propagator b3 to b3multi in .Net e2e test case (#1151, @avadhut123pisal)
- Adds deepcopy missing implementation for TargetCPUUtilization field of AutoscalerSpec (#1138, @avadhut123pisal)
- Bump default python image version (#1150, @aabmass)
- Bump OTel python versions to 1.13.0 and 0.34b0 (#1147, @aabmass
- Change error logs to info for building container (#1146, @kristinapathak)
- Add missing nil checks in collector validating webhook (#1136, @kristinapathak)
- Fix lint issues in target allocator (#1090, @kristinapathak)
- Fix generated deepcopy file changes check (#1154, @pavolloffay)
- Fix Target Allocator builds by using versions.txt (#1140, @jaronoff97)
- Add missing entry to 0.60.0 changelog (#1102, @pavolloffay)
- .NET - enable bytecode instrumentation (#1081, @Kielek)
- Added consistent hashing strategy for target allocation (#1087, @jaronoff97)
- Introduce ability to specify strategies for target allocation (#1079, @jaronoff97)
- 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)
- Change log message to V(2), be sure to pass strings so it doesn't panic (#1069, @kevinearls)
- Use golang 1.19 (#1021, @pavolloffay)
- Bump k8s API to 0.25.0 (#1067, @pavolloffay)
- Bump python auto instrumentation version to 1.12&0.33b0 (#1063, @srikanthccv)
- Bump .NET OTel AutoInstrumentation to 0.3.0-beta.1 - adjustment (#1056, @Kielek)
- Bump .NET OTel AutoInstrumentation to 0.3.0-beta.1 (#1057, @Kielek)
- Upgrade operator-sdk to 1.23.0 (#1055, @iblancasa)
- adds dotnet-auto-instrumentation image version env variable to the operator publish workflow (#1060, @avadhut123pisal)
- Fix unnecessary and incorrect reallocation (#1041, @jaronoff97)
- Support .NET auto-instrumentation (#976, @avadhut123pisal)
- Enable instrumentation injecting only core SDK config (#1000, @bilbof)
- Instrument TA with prometheus (#1030, @jaronoff97)
- Protect allocator maps behind mutex, create getter funcs for them (#1040, @kristinapathak)
- Simultaneously support versions v2 and v2beta2 of Autoscaling (#1014, @kevinearls)
- Update the target allocator on any manifest change (#1027, @jaronoff97)
- chore(nodejs): update versions.txt to 0.31.0 (#1015, @mat-rumian)
- chore(nodejs): update to 0.31.0 (#955, @mat-rumian)
- chore(operator): update python inst to 0.32b0 (#1012, @ianmcnally)
- Sort order of ports returned to fix flaky tests (#1003, @kevinearls)
- Resolve bug where TA doesn't allocate all targets (#1039, @jaronoff97)
- Fix the issue that target-level metadata labels were missing (#948) (#949, @CoderPoet)
- Upgrade operator-sdk (#982, @yuriolisa)
- build and push dotnet-auto-instrumentation image (#989, @avadhut123pisal
- Change Horizontal Pod Autoscaler to scale on OpenTelemetry Collector β¦ (#984, @kevinearls)
- Fixing monitor configuration (#966, @yuriolisa)
- Fix Pod Mutation loop (#953, @mat-rumian)
- Fix the issue that the number of target-allocator replicas (#951, @CoderPoet)
- Update Python auto-instrumentation 0.32b0 (#961, @mat-rumian)
- Fix parameter encoding issue (#930, @jaronoff97)
- Print TA pod logs in e2e smoke test (#920, @pavolloffay)
- Add creation of ServiceAccount to the Target Allocator (#836, @jaronoff97)
- Cross namespace instrumentation (#889, @tKe)
- Added extra cli flag webhook-port (#899, @abelperezok)
- Add cert manager 1.8.0 (#905, @yuriolisa)
- updated module name and imports (#910, @evanli02)
- Fix docker multiarch build for operator (#882, @pavolloffay)
- avoid non static labels in workload objects selector (#849, @DWonMtl)
- Choose target container injection with annotation (#689, @fscellos)
- Fix K8s attributes values in OTEL_RESOURCE_ATTRIBUTES env var (#864, @mat-rumian)
- Update Python auto-instrumentation versions.txt (#867, @mat-rumian)
- Update Python instrumentation to 0.30b1 (#860, @mat-rumian)
- Fix changelog formatting (#863, @pavolloffay)
- 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)
- Set replicas to MaxReplicas if HPA is enabled (#833, @binjip978)
- Update sidecar example in README (#837, @erichsueh3)
- Fix Default Image Annotations (#842, @goatsthatcode)
- Do not block pod creating on internal error in webhook (#811, @pavolloffay)
- Including new label (#797, @yuriolisa)
- Add scale subresource status to the OpenTelemetryCollector CRD status (#785, @secat)
- Set replicas to default value (#814, @pavolloffay)
- Use golang 1.18 (#786, @pavolloffay)
- Support nodeSelector field for non-sidecar collectors (#789, @jutley)
- Fix Missing parameter on labels function (#809, @yuriolisa)
- Check exposed svc ports (#778, @yuriolisa)
- Fix panic when spec.replicas is nil (#798, @wei840222)
- Bumped OpenTelemetry Collector to v0.48.0
- Filter out unneeded labels (#606, @ekarlso)
- add labels in order to make selectors unique (#796, @davidkarlsen)
- Bumped OpenTelemetry Collector to v0.47.0
- doc: customized auto-instrumentation (#762, @cuichenli)
- Remove v prefix from the container image version/tag (#771, @pavolloffay)
- 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)
-
Bumped OpenTelemetry Collector to v0.45.0
-
Use OTEL collector image from GHCR (#732, @pavolloffay)
0.44.0
-
Bumped OpenTelemetry Collector to v0.44.0
-
Deprecate otelcol status messages (#733, @pavolloffay)
-
Make sure correct version of operator-sdk is always used (#728, @pavolloffay)
-
Storing upgrade status into events (#707, @yuriolisa)
-
Bump default java auto-instrumentation version to
1.11.1
(#731, @pavolloffay) -
Add appProtocol for otlp and jaeger receiver parsers (#704, @binjip978)
-
Add SPLUNK_ env prefix support to Instrumentation kind (#709, @elvis-cai)
-
Fix logger in instrumentation webhook (#698, @pavolloffay)
0.43.0
-
Bumped OpenTelemetry Collector to v0.43.0
-
Upgrade to 0.43.0 will move the metrics CLI arguments into the config, in response to (#680, @yuriolisa)
-
Add unique label and selector for operator objects (#697, @pavolloffay)
-
Bump operator-sdk to 1.17 (#692, @pavolloffay)
-
Add b3, jaeger, ottrace propagators to python instrumentation (#684, @anuraaga)
-
Add env support to instrumentation kind (#674, @Duncan-tree-zhou)
-
Fix collector config update (#670, @mcariapas)
0.42.0
-
Bumped OpenTelemetry Collector to v0.42.0
-
Parse flags before using them in config (#662, @rubenvp8510)
-
Fix port derivation (#651, @yuriolisa)
-
Remove publishing operator image to quay.io (#661, @pavolloffay)
-
Use target allocator from GHCR (#660, @pavolloffay)
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
-
Bumped OpenTelemetry Collector to v0.41.0
-
Support
OpenTelemetryCollector.Spec.UpgradeStrategy
with allowable values: automatic, none (#620, @adriankostrubiak-tomtom) -
Support
healthz
andreadyz
probes to controller manager (#603, @adriankostrubiak-tomtom)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
-
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
-
Bumped OpenTelemetry Collector to v0.34.0
-
Add AWS xray receiver (#421, @VineethReddy02)
-
Add syslog, tcplog and udplog receivers (#425, @VineethReddy02)
-
Add splunk hec receiver (#422, @VineethReddy02)
-
Add influxdb receiver (#423, @VineethReddy02)
-
Added imagePullPolicy option to CRD (#413, @mmatache)
0.33.0 (2021-08-20)
-
Bumped OpenTelemetry Collector to v0.33.0
-
Add statsd receiver (#364, @VineethReddy02)
-
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 underports
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)
-
Bumped OpenTelemetry Collector to v0.29.0
-
Add delete webhook (#313, @VineethReddy02)
0.28.0 (2021-06-12)
-
Bumped OpenTelemetry Collector to v0.28.0
-
Tolerations support in OpenTelemetryCollector CRD (#302, @VineethReddy02)
-
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)
-
Bumped OpenTelemetry Collector to v0.24.0 (#251, @jnodorp-jaconi)
-
Allow resource configuration on collector spec (#248, @jnodorp-jaconi)
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)
-
Bumped OpenTelemetry Collector to v0.18.0 (#169, @jpkrohling)
0.17.1 (2020-12-17)
-
Set env vars correctly in workflow steps (#152, @jpkrohling)
-
Add permissions for leases.coordination.k8s.io (#151, @jpkrohling)
-
Adjust container image tags (#148, @jpkrohling)
0.17.0 (2020-12-16)
-
Bumped OpenTelemetry Collector to v0.17.0 (#144, @jpkrohling)
-
Refactor how images are pushed (#138, @jpkrohling)
0.16.0 (2020-12-03)
- Bumped OpenTelemetry Collector to v0.16.0 (#135, @jpkrohling)
- Fix image prefix for release image (#133, @jpkrohling)
- Explicitly set Service Port Protocol for Jaeger Receivers (#117, @KingJ)
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.
-
Bumped OpenTelemetry Collector to v0.15.0 (#131, @jpkrohling)
0.14.0 (2020-11-09)
- Bumped OpenTelemetry Collector to v0.14.0 (#112, @jpkrohling)
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.
- 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.
-
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