feat(deps): update dependency otel-operator-source ( v0.132.0 → v0.145.0 )#1688
Open
chaplain-grimaldus[bot] wants to merge 1 commit intomainfrom
Open
feat(deps): update dependency otel-operator-source ( v0.132.0 → v0.145.0 )#1688chaplain-grimaldus[bot] wants to merge 1 commit intomainfrom
chaplain-grimaldus[bot] wants to merge 1 commit intomainfrom
Conversation
4ec8a38 to
ebc8005
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.132.0→v0.145.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
open-telemetry/opentelemetry-operator (otel-operator-source)
v0.145.0Compare Source
0.145.0
🛑 Breaking changes 🛑
collector: Remove operator.collector.default.config feature gate (#4473)🚀 New components 🚀
clusterObservability: Inital implementation of ClusterObservability CRD (#3820)This change provides an initial implementation of the Cluster Observability CRD and operator control loop.
Reconcilation is disabled by default.
Currently, the CRD is not included in the operator bundle and must be installed manually.
To enable reconciliation, enable the
--feature-gates=+operator.clusterobservabilityfeature gate.💡 Enhancements 💡
target allocator: Add readiness and liveness probe configurations for target allocator CRD (#4639)target allocator: Make the least-weighted target allocation strategy take job name into account. (#3128)Uses job name instead of "first match" to when number of targets is equal. The effect is to spread out targets with the same job name across collectors.
🧰 Bug fixes 🧰
target allocator: Fix TLS certificate hot-reload for mTLS connections (#4368)The Target Allocator now automatically reloads TLS certificates when they are renewed
by cert-manager. Previously, certificate renewals required a pod restart because
certificates were only loaded once at startup. The fix uses fsnotify to watch the
certificate directory and dynamically reloads certificates via the GetCertificate
callback, enabling seamless certificate rotation without downtime.
collector: Configure collector to reload client certificate periodically (#4657)When the collector connects to the target allocator over mTLS, certificates were not automatically reloaded after expiration. This adds reload_interval to the TLS configuration, enabling the Prometheus receiver to periodically reload certificates from disk.
The default interval of 5 minutes provides a good balance between picking up renewed certificates promptly and avoiding unnecessary overhead.
operator: Set Kubernetes API server egress network policy port dynamically. (#4411)The operator network policy egress rule for the Kubernetes API server was hardcoded to port 6443.
This PR uses uses
endpointslices.discovery.k8s.io -n default kubernetesto get the port and IP addresses of the Kubernetes API serverfor the operator egress network policy.
Components
v0.144.0Compare Source
0.144.0
💡 Enhancements 💡
operator: change operator args in bundle to env variables (#4612)The default configuration in the OLM bundle has been changed from command-line arguments to environment variables,
making it easily overwritable when deployed using OLM's Subscription config. Command-line flags continue to work.
All Config struct fields now support environment variable configuration.
Configuration set via the Subscription's config section will persist and be reapplied after operator upgrades.
Example of overriding configuration via OLM Subscription:
🧰 Bug fixes 🧰
collector: Fix PodDisruptionBudget using all labels instead of selector labels, preventing PDB breakage during rollouts (#4623)Use stable selector labels instead of all CR labels to prevent PDB breakage when mutable labels change during rollouts.
auto-instrumentation: Fix NGINX and Apache instrumentation init container creation to avoid copying init-container-incompatible fields. (#3729)The NGINX and Apache instrumentation init containers are now created from scratch instead of
cloning the main container, preventing probes, lifecycle hooks, and resize policies from being
applied to init containers.
Components
v0.143.0Compare Source
0.143.0
🧰 Bug fixes 🧰
operator: Fix operator ServiceMonitor not created on OpenShift (#4603)Two issues prevented the operator ServiceMonitor from being created on OpenShift:
--create-sm-operator-metrics=true.SchemeHTTPSconstant uses uppercase "HTTPS" which is rejected by ServiceMonitor CRD validation.Components
v0.142.0Compare Source
0.142.0
🛑 Breaking changes 🛑
operator: Remove kube-rbac-proxy from operator deployment and use controller-runtime built-in auth (#3369)The operator now uses controller-runtime built-in auth for the metrics server. It is disabled by default.
The client accessing the metrics endpoint must have the following RBAC rule
nonResourceURLs: "/metrics", verbs: get.Which didn't change from the previous approach of using kube-rbac-proxy.
This changes adds following flags to the operator:
metrics-secure- enables authentication and authorization for the metrics server. If no TLS certificates are provided, self signed certificates will be generated.metrics-tls-cert-file- TLS certificate file for the metrics servermetrics-tls-key-file- TLS private key file for the metrics serverThis change changes the following flags on the operator:
--metrics-addr- changes from127.0.0.1:8080to:8443which matches the operator's metrics service port.💡 Enhancements 💡
target allocator: Add support for prometheus scrape classes (#3600)Added support for configuring
scrapeClasseswhen using the PrometheusCR-feature of the target allocator. The format of thescrapeClassesarray is exactly as same asspec.scrapeClassesof thePrometheusCRD.operator: Add support for Kubernetes 1.35 (#4575)collector: exposes thespec.hostPIDfield for the collector. (#4214)This will allow to set the spec.HostPID field for the collector. By default this the field is false.
🧰 Bug fixes 🧰
target allocator: Fix CA certificate race condition with client cert renewals by extending its duration and and renewal attempt. (#4441)The CA certificate now has a 2-year duration (instead of the default 90 days) to prevent race conditions
where client and server certificates could be signed by different CA versions during simultaneous renewal.
This ensures the CA remains stable while dependent certificates renew regularly.
collector: Add finalizers to OpenTelemetryCollector CR only when cluster roles and bindings for SA are created by Operator. (#4367)Finalizer usage was restricted to cluster scoped resources only. Namespaced resources no longer receive finalizers,
preventing blocked namespace deletion if the operator is removed first. The change aligns finalizer behavior with
cluster-level RBAC availability, ensuring finalizers are applied only when the operator has the required
cluster scoped permissions.
config: Fix manager logger initialization (#4584)Apply config before setting up logger to configure it properly.
operator: Fix the --annotations-filter and --labels-filter CLI flags. (#4594)Components
v0.141.0Compare Source
0.141.0
💡 Enhancements 💡
collector: Ensure the collector container is always listed first in the podspec (#4548)This is so tools like kubectx logs will always default to the collector container instead of any additional containers that are configured.
target allocator: make evaluation_interval configurable for Prometheus CR watcher (#4520)operator: Support for Kubernetes1.34version. (#4415)Components
v0.140.0Compare Source
0.140.0
🛑 Breaking changes 🛑
operator: Remove native sidecar feature gate (#4451)The feature gate
operator.sidecarcontainers.nativehas been removed.It was introduced in v0.111.0, enabled by default since v0.132.0, and marked as stable in v0.139.0.
Native sidecars are now automatically enabled on Kubernetes v1.29+ without requiring a feature gate.
If you were explicitly enabling or disabling this feature gate with
--feature-gates=+operator.sidecarcontainers.native,you must remove that flag.
💡 Enhancements 💡
collector: Promote theoperator.golang.flagsfeature flag to Beta (#4452)The operator will set the GOMEMLIMIT and GOMAXPROCS environment variables based
on the pod configuration of the collector container by default.
operator: Use pod and namespace label selector in operator NetworkPolicy for the API server Egress on OpenShift. (#4490)On OpenShift use pod (
"apiserver": "true") and namespace (kubernetes.io/metadata.name": "openshift-kube-apiserver")label selectors in API server Egress network policy.
🧰 Bug fixes 🧰
auto-instrumentation: Fixes the precedence ofspec.envin Instrumentation CR so global env vars correctly override defaults. (#4068)Previously, environment variables set under
spec.envwere ignored in favor of default instrumentation config,unless duplicated in each language block. This change ensures the correct order of precedence is applied:
language-specific env vars > spec.env > defaults.
collector: Fix mounting spec.configmaps in sidecar mode (#4489)Configmaps defined in
spec.configmapswere not properly mounted in the sidecar mode.github action: Remove unused VERSION and VERSION_DATE environment variables from publish workflows (#4470)Removed the unused "Read version" step that set VERSION and VERSION_DATE environment variables in both publish-target-allocator.yaml and publish-operator-opamp-bridge.yaml workflows. These variables were never referenced anywhere in the workflows.
Components
v0.139.0Compare Source
0.139.0
💡 Enhancements 💡
operator: Promote theoperator.sidecarcontainers.nativefeature flag to Stable. (#4451)By default, the operator will continue to use native sidecars on Kubernetes versions
newer than 1.29. This behaviour cannot be disabled.
The operator flag will be removed with the release of version
0.140.0.collector: Promote theoperator.collector.default.configfeature gate to Stable (#4453)Components
v0.138.0Compare Source
0.138.0
💡 Enhancements 💡
collector: Migrate simple OpenTelemetryCollector validations from the webhook to CRD annotations so Kubernetes enforces them server-side. ()🛑 Breaking changes 🛑
target allocator: Remove the operator.collector.targetallocatorcr feature flag (#2422)This behavior has been enabled by default since version 0.127.0.
🚩 Deprecations 🚩
auto-instrumentation: Deprecate VolumeSizeLimit in the Instrumentation CRD (#3382)volumeSizeLimitfield is deprecated.spec.<lang>.volume.sizeinstead ofspec.<lang>.volumeSizeLimit.volumeSizeLimitis used.🧰 Bug fixes 🧰
target allocator: Add missing TA ownership watches to cert-manager Certificate and Issuer (#4368)collector: Set the log level to 4 when default pdb is created. ()collector: Fix autoscaler not scaling above minReplicas; replicas now respect the scale subresource and never fall below autoscaler.minReplicas. (#4400) Also rename helperGetInitialReplicastoGetDesiredReplicasto reflect reconcile-time behavior.Components
OpenTelemetry Collector - v0.138.0
OpenTelemetry Contrib - v0.138.0
Java auto-instrumentation - v1.33.6
.NET auto-instrumentation - v1.2.0
Node.JS - v0.64.1
Python - v0.59b0
Go - v0.22.1
ApacheHTTPD - 1.0.4
Nginx - 1.0.4
The flag can no longer be disabled. It will be completely removed in 0.138.0.
💡 Enhancements 💡
collector: Add logs when the Operator finds an issue during the unmarshall process for spec.service.telemetry section. (#4111)collector: Add spec.dnsPolicy field to the OpenTelemetryCollector to allow users to specify the DNS policy for the collector pods. (#4265)github action: Add link checking workflow to validate documentation (#3425)collector: add startup probe to the collector CRD (#4347)collector: Validate collector ports from the config to ensure they are within the valid range (1-65535). (#4399)🧰 Bug fixes 🧰
collector: Respect telemetry metrics readers when deriving the internal metrics endpoint. (#4049, #4233).spec.config.service.telemetry.metrics.readers[].pull.exporter.prometheus.portis set.0.0.0.0:8888when neither address nor a Prometheus reader is configured.target allocator, opamp: Fix version not being updated after version upgrade. (#4378)target-allocator: Fixed potential duplicate scrape targets caused by Prometheus relabeling. (#3617)auto-instrumentation: Fix nginxCloneScriptTemplate for old shells (#3651)Components
v0.137.0Compare Source
0.137.0
🛑 Breaking changes 🛑
target allocator: Promote the operator.collector.targetallocatorcr feature flag to Stable (#2422)The flag can no longer be disabled. It will be completely removed in 0.138.0.
💡 Enhancements 💡
collector: Add logs when the Operator finds an issue during the unmarshall process for spec.service.telemetry section. (#4111)collector: Add spec.dnsPolicy field to the OpenTelemetryCollector to allow users to specify the DNS policy for the collector pods. (#4265)github action: Add link checking workflow to validate documentation (#3425)collector: add startup probe to the collector CRD (#4347)collector: Validate collector ports from the config to ensure they are within the valid range (1-65535). (#4399)🧰 Bug fixes 🧰
collector: Respect telemetry metrics readers when deriving the internal metrics endpoint. (#4049, #4233).spec.config.service.telemetry.metrics.readers[].pull.exporter.prometheus.portis set.0.0.0.0:8888when neither address nor a Prometheus reader is configured.target allocator, opamp: Fix version not being updated after version upgrade. (#4378)target-allocator: Fixed potential duplicate scrape targets caused by Prometheus relabeling. (#3617)auto-instrumentation: Fix nginxCloneScriptTemplate for old shells (#3651)Components
v0.136.0Compare Source
0.136.0
🧰 Bug fixes 🧰
target-allocator: Fixes the incorrect k8s version for the traffic distribution feature. (#4394)collector: Fix statefulset serviceName field change handling. (#4371)The Operator 0.129.1 introduced a new feature which allows setting the serviceName of the collector statefulset (#4041).
This feature introduced two issues:
Components
v0.135.0Compare Source
0.135.0
💡 Enhancements 💡
collector, target allocator: Add TrafficDistribution support for OpenTelemetryCollector and TargetAllocator Services (#4285)The TrafficDistribution field is now available in OpenTelemetryCollector and TargetAllocator.
This field allows setting the traffic distribution policy for Kubernetes Services.
Components
v0.134.0Compare Source
0.134.0
💡 Enhancements 💡
target allocator: Add CollectorTargetReloadInterval option to configure the interval at which the Prometheus receiver reloads targets from the target allocator (#4095)🧰 Bug fixes 🧰
collector: Always return a valid OpenTelemetryCollector configuration during v1beta1 conversion. (#4288)Components
0.133.0
operator: Skipped OpenTelemetry Operator release due to an issue on the collectors protobuf parsing that caused HTTP 400 errors for metric submissions. In case of expecitly using the collector v0.133.0 this behavior can be by passed by disabling the collector feature gatepdata.useCustomProtoEncoding.For more details see: (opentelemetry-collector#13727)[open-telemetry/opentelemetry-collector#13727]
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.