collector
: enables support for pulling scrape config and probe CRDs in the target allocator (#1842)collector
: support for creating a service for extensions when ports are specified. (#3460)
-
github action
: Add new line character at the end of PrometheusRule file. (#3503) -
auto-instrumentation
: Reverts PR 3379 which inadvertently broke users setting JAVA_TOOL_OPTIONS (#3463) Reverts a previous PR which was causing JAVA_TOOL_OPTIONS to not be overriden when set by users. This was resulting in application crashloopbackoffs for users relying on java autoinstrumentation. -
auto-instrumentation
: Remove the mapping ofapp.kubernetes.io/instance
toservice.instance.id
(#3495) Technically, this is a breaking change, but we regard it as a bug fix because the previous behavior was incorrect.if you did have multiple container instrumentation and use
app.kubernetes.io/instance
to set theservice.instance.id
, you will now see multiple instances in the UI - which is the correct behavior.You can still use the attribute
resource.opentelemetry.io/service.instance.id
to set theservice.instance.id
, which will be shared across all containers in the pod - but this is not recommended for multiple container instrumentation instances.Refer to the semantic conventions for more information.
- OpenTelemetry Collector - v0.115.1
- OpenTelemetry Contrib - v0.115.1
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.53.0
- Python - v0.48b0
- Go - v0.19.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
auto-instrumentation
: Reverts PR 3379 which inadvertently broke users setting JAVA_TOOL_OPTIONS (#3463) Reverts a previous PR which was causing JAVA_TOOL_OPTIONS to not be overriden when set by users. This was resulting in application crashloopbackoffs for users relying on java autoinstrumentation.github action
: Add new line character at the end of PrometheusRule file. (#3503)
- OpenTelemetry Collector - v0.114.0
- OpenTelemetry Contrib - v0.114.0
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.53.0
- Python - v0.48b0
- Go - v0.17.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
-
collector
: Create RBAC rules for the k8s_cluster receiver automatically. (#3427) -
collector
: Create RBAC rules for the k8sobjects receiver automatically. (#3429) -
collector
: Add a warning message when one created collector needs extra RBAC permissions and the service account doesn't have them. (#3432) -
target allocator
: Added allocation_fallback_strategy option as fallback strategy for per-node allocation strategy, can be enabled with feature flag operator.targetallocator.fallbackstrategy (#3477)If using per-node allocation strategy, targets that are not attached to a node will not be allocated. As the per-node strategy is required when running as a daemonset, it is not possible to assign some targets under a daemonset deployment. Feature flag operator.targetallocator.fallbackstrategy has been added and results in consistent-hashing being used as the fallback allocation strategy for "per-node" only at this time.
-
auto-instrumentation
: updated node auto-instrumentation dependencies to the latest version (#3476)- auto-instrumentations-node to 0.53.0
- exporter-metrics-otlp-grpc to 0.55.0
- exporter-prometheus to 0.55.0
-
operator
: Replace references to gcr.io/kubebuilder/kube-rbac-proxy with quay.io/brancz/kube-rbac-proxy (#3485)
-
operator
: Operator pod crashed if the Service Monitor for the operator metrics was created before by another operator pod. (#3446)Operator fails when the pod is restarted and the Service Monitor for operator metrics was already created by another operator pod. To fix this, the operator now sets the owner reference on the Service Monitor to itself and checks if the Service Monitor already exists.
-
auto-instrumentation
: Bump base memory requirements for python and go (#3479)
- OpenTelemetry Collector - v0.114.0
- OpenTelemetry Contrib - v0.114.0
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.53.0
- Python - v0.48b0
- Go - v0.17.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
This release fixes an important bug that caused the operator to crash when prometheus-operator CRDs were present in the cluster. See #3446 for details. This fix is also present in v0.114.0.
operator
: Operator pod crashed if the Service Monitor for the operator metrics was created before by another operator pod. (#3446) Operator fails when the pod is restarted and the Service Monitor for operator metrics was already created by another operator pod. To fix this, the operator now sets the owner reference on the Service Monitor to itself and checks if the Service Monitor already exists.
- OpenTelemetry Collector - v0.113.0
- OpenTelemetry Contrib - v0.113.0
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.53.0
- Python - v0.48b0
- Go - v0.17.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
operator
: Programmatically create theServiceMonitor
for the operator metrics endpoint, ensuring correct namespace handling and dynamic configuration. (#3370) Previously, theServiceMonitor
was created statically from a manifest file, causing failures when the operator was deployed in a non-default namespace. This enhancement ensures automatic adjustment of theserverName
and seamless metrics scraping.collector
: Create RBAC rules for the k8s_events receiver automatically. (#3420)collector
: Inject environment K8S_NODE_NAME environment variable for the Kubelet Stats Receiver. (#2779)auto-instrumentation
: add config for installing musl based auto-instrumentation for Python (#2264)auto-instrumentation
: Supporthttp/json
andhttp/protobuf
via OTEL_EXPORTER_OTLP_PROTOCOL environment variable in addition to defaultgrpc
for exporting traces (#3412)target allocator
: enables support for pulling scrape config and probe CRDs in the target allocator (#1842)
collector
: Fix mutation of deployments, statefulsets, and daemonsets allowing to remove fields on update (#2947)
- OpenTelemetry Collector - v0.113.0
- OpenTelemetry Contrib - v0.113.0
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.53.0
- Python - v0.48b0
- Go - v0.17.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
-
auto-instrumentation
: Support configuring Java auto-instrumentation when runtime configuration is provided from configmap or secret. (#1814) This change allows users to configure JAVA_TOOL_OPTIONS in config map or secret when the name of the variable is defined in the pod spec. The operator in this case set another JAVA_TOOL_OPTIONS that references the original value e.g.JAVA_TOOL_OPTIONS=$(JAVA_TOOL_OPTIONS) -javaagent:/otel-auto-instrumentation-java/javaagent.jar
. -
auto-instrumentation
: Adds VolumeClaimTemplate field to Instrumentation spec to enable user-definable ephemeral volumes for auto-instrumentation. (#3267) -
collector
: Add support for persistentVolumeClaimRetentionPolicy field (#3305) -
auto-instrumentation
: build musl based auto-instrumentation in Python docker image (#2264) -
auto-instrumentation
: An empty line should come before the addition of Include ...opentemetry_agent.conf, as a protection measure against cases of httpd.conf w/o a blank last line (#3401) -
collector
: Add automatic RBAC creation for thekubeletstats
receiver. (#3155) -
auto-instrumentation
: Add Nodejs auto-instrumentation image builds for linux/s390x,linux/ppc64le. (#3322)
target allocator
: Permission check fixed for the serviceaccount of the target allocator (#3380)target allocator
: Change docker image to run as non-root (#3378)
- OpenTelemetry Collector - v0.112.0
- OpenTelemetry Contrib - v0.112.0
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.53.0
- Python - v0.48b0
- Go - v0.15.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
-
auto-instrumentation
: set OTEL_LOGS_EXPORTER env var to otlp in python instrumentation (#3330) -
collector
: Expose the Collector telemetry endpoint by default. (#3361)The collector v0.111.0 changes the default binding of the telemetry metrics endpoint from
0.0.0.0
tolocalhost
. To avoid any disruption we fallback to0.0.0.0:{PORT}
as default address. Details can be found here: opentelemetry-collector#11251 -
auto-instrumentation
: Add support for specifying exporter TLS certificates in auto-instrumentation. (#3338)Now Instrumentation CR supports specifying TLS certificates for exporter:
spec: exporter: endpoint: https://otel-collector:4317 tls: secretName: otel-tls-certs configMapName: otel-ca-bundle # otel-ca-bundle ca_file: ca.crt # present in otel-tls-certs cert_file: tls.crt # present in otel-tls-certs key_file: tls.key
- Propagating secrets across namespaces can be done with https://github.com/EmberStack/kubernetes-reflector or https://github.com/zakkg3/ClusterSecret
- Restarting workloads on certificate renewal can be done with https://github.com/stakater/Reloader or https://github.com/wave-k8s/wave
-
collector
: Add native sidecar injection behind a feature gate which is disabled by default. (#2376)Native sidecars are supported since Kubernetes version
1.28
and are availabe by default since1.29
. To use native sidecars on Kubernetes v1.28 make sure the "SidecarContainers" feature gate on kubernetes is enabled. If native sidecars are available, the operator can be advised to use them by adding the--feature-gates=operator.sidecarcontainers.native
to the Operator args. In the future this may will become availabe as deployment mode on the Collector CR. See #3356 -
target allocator, collector
: Enable mTLS between the TA and collector for passing secrets in the scrape_config securely (#1669)This change enables mTLS between the collector and the target allocator (requires cert-manager). This is necessary for passing secrets securely from the TA to the collector for scraping endpoints that have authentication. Use the
operator.targetallocator.mtls
to enable this feature. See the target allocator documentation for more details.
-
collector-webhook
: Fixed validation ofstabilizationWindowSeconds
in autoscaler behaviour (#3345)The validation of
stabilizationWindowSeconds
in theautoscaler.behaviour.scale[Up|Down]
incorrectly rejected 0 as an invalid value. This has been fixed to ensure that the value is validated correctly (should be >=0 and <=3600) and the error messsage has been updated to reflect this.
- OpenTelemetry Collector - v0.111.0
- OpenTelemetry Contrib - v0.111.0
- Java auto-instrumentation - v1.33.5
- .NET auto-instrumentation - v1.2.0
- Node.JS - v0.53.0
- Python - v0.48b0
- Go - v0.15.0-alpha
- ApacheHTTPD - 1.0.4
- Nginx - 1.0.4
-
auto-instrumentation
: Enable multi instrumentation by default. (#3090)Starting with this release, the OpenTelemetry Operator now enables multi-instrumentation by default. This enhancement allows instrumentation of multiple containers in a pod with language-specific configurations.
Key Changes:
- Single Instrumentation (Default Behavior): If no container names are specified using the
instrumentation.opentelemetry.io/container-names
annotation, instrumentation will be applied to the first container in the pod spec by default. This only applies when single instrumentation injection is configured. - Multi-Container Pods: In scenarios where different containers in a pod use distinct technologies, users must specify the container(s) for instrumentation using language-specific annotations. Without this specification, the default behavior may not work as expected for multi-container environments.
Compatibility:
- Users already utilizing the
instrumentation.opentelemetry.io/container-names
annotation do not need to take any action. Their existing setup will continue to function as before. - Important: Users who attempt to configure both
instrumentation.opentelemetry.io/container-names
and language-specific annotations (for multi-instrumentation) simultaneously will encounter an error, as this configuration is not supported.
- Single Instrumentation (Default Behavior): If no container names are specified using the
-
collector
: Remove ComponentUseLocalHostAsDefaultHost collector feature gate. (#3306)This change may break setups where receiver endpoints are not explicitly configured to listen on e.g. 0.0.0.0. Change #3333 attempts to address this issue for a known set of components. The operator performs the adjustment for the following receivers:
- otlp
- skywalking
- jaeger
- loki
- opencensus
- zipkin
- tcplog
- udplog
- fluentforward
- statsd
- awsxray/UDP
- carbon
- collectd
- sapm
- signalfx
- splunk_hec
- wavefront
-
auto-instrumentation, collector
: Add a must gather utility to help troubleshoot (#3149)The new utility is available as part of a new container image.
To use the image in a running OpenShift cluster, you need to run the following command:
oc adm must-gather --image=ghcr.io/open-telemetry/opentelemetry-operator/must-gather -- /usr/bin/must-gather --operator-namespace opentelemetry-operator-system
See the README for more details.
-
collector
: set default address for all parsed receivers (#3126)This feature is enabled by default. It can be disabled by specifying
--feature-gates=-operator.collector.default.config
. -
operator
: Use 0.0.0.0 as otlp receiver default address (#3126) -
collector
: Add flag to disable components when operator runs on FIPS enabled cluster. (#3315) Flag--fips-disabled-components=receiver.otlp,exporter.otlp,processor.batch,extension.oidc
can be used to disable components when operator runs on FIPS enabled cluster. The operator uses/proc/sys/crypto/fips_enabled
to check if FIPS is enabled. -
collector
: Improves healthcheck parsing capabilities, allowing for future extensions to configure a healthcheck other than the v1 healthcheck extension. (#3184) -
auto-instrumentation
: Add support for k8s labels such as app.kubernetes.io/name for resource attributes (#3112)You can opt-in as follows:
apiVersion: opentelemetry.io/v1alpha1 kind: Instrumentation metadata: name: my-instrumentation spec: defaults: useLabelsForResourceAttributes: true
The following labels are supported:
app.kubernetes.io/name
becomesservice.name
app.kubernetes.io/version
becomesservice.version
app.kubernetes.io/part-of
becomesservice.namespace
app.kubernetes.io/instance
becomesservice.instance.id
-
auto-instrumentation
: Fix ApacheHttpd, Nginx and SDK injectors to honour their container-names annotations. (#3313)This is a breaking change if anyone is accidentally using the enablement flag with container names for these 3 injectors.
- OpenTelemetry Collector - v0.110.0
- OpenTelemetry Contrib - v0.110.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
operator
: Deprecatedlabel
flag and introducedlabels-filter
flag to align the label filtering with the attribute filtering flag name. Thelabel
flag will be removed when #3236 issue is resolved. (#3218)
collector
: adds test for memory utilization (#3283)operator
: Added reconciliation errors for webhook events. The webhooks run the manifest generators to check for any errors. (#2399)
- OpenTelemetry Collector - v0.109.0
- OpenTelemetry Contrib - v0.109.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
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