Repository: open-telemetry/opentelemetry-operator
Pull request #3743 (2025-02-24 06:33:37)

Bump github.com/cert-manager/cert-manager from 1.16.3 to 1.17.1
Bumps [github.com/cert-manager/cert-manager](https://github.com/cert-manager/cert-manager) from 1.16.3 to 1.17.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/cert-manager/cert-manager/releases">github.com/cert-manager/cert-manager's releases</a>.</em></p>
<blockquote>
<h2>v1.17.1</h2>
<p>cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.</p>
<p>This release is primarily intended to address <a href="https://redirect.github.com/cert-manager/cert-manager/issues/7540">a breaking change in Cloudflare's API</a> which impacted ACME DNS-01 challenges using Cloudflare.</p>
<p>Many thanks to the community members who reported this issue!</p>
<h2>Changes by Kind</h2>
<h3>Bug or Regression</h3>
<ul>
<li>❗ Fix issuing of certificates via DNS01 challenges on Cloudflare after a breaking change to the Cloudflare API (<a href="https://redirect.github.com/cert-manager/cert-manager/issues/7565">#7565</a>, <a href="https://github.com/LukeCarrier"><code>@​LukeCarrier</code></a>)</li>
<li>Bump go to 1.23.6 to address CVE-2025-22866 reported by Trivy (<a href="https://redirect.github.com/cert-manager/cert-manager/issues/7563">#7563</a>, <a href="https://github.com/SgtCoDFish"><code>@​SgtCoDFish</code></a></li>
</ul>
<h2>v1.17.0</h2>
<p>cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.</p>
<p>v1.17.0 is a feature release with several improvements, including:</p>
<ul>
<li>A helpful compliance change to RSA signatures on certificates</li>
<li>An easier way to specify passwords for PKCS#12 and JKS keystores</li>
<li>A few feature flag promotions (and a deprecation)</li>
<li>Dependency bumps and other smaller improvements</li>
</ul>
<h2>Major Themes</h2>
<h3>RSA Certificate Compliance</h3>
<p>The United States Department of Defense published <a href="https://dl.dod.cyber.mil/wp-content/uploads/pki-pke/pdf/unclass-memo_dodcryptoalgorithms.pdf">a memo</a> in 2022 which introduced some requirements on the kinds of cryptography they require to be supported in software they use.</p>
<p>In effect, the memo requires that software be able to support larger RSA keys (3072-bit and 4096-bit) and hashing algorithms (SHA-384 at a minimum).</p>
<p>cert-manager supported large RSA keys long before the memo was published, but a quirk in implementation meant that cert-manager always used SHA-256 when signing with RSA.</p>
<p>In v1.17.0, cert-manager will choose a hash algorithm based on the RSA key length: 3072-bit keys will use SHA-384, and 4096-bit keys will use SHA-512. This matches similar behavior already present for ECDSA signatures.</p>
<p>Our expectation is that this change will have minimal impact beyond a slight increase to security and better compliance; we're not aware of Kubernetes based environments which support RSA 2048 with SHA-256 but fail with RSA 4096 and SHA-512. However, if you're using larger RSA keys, you should be aware of the change.</p>
<h3>Easier Keystore Passwords for PKCS#12 and JKS</h3>
<p>Specifying passwords on PKCS#12 and JKS keystores is supported in cert-manager
for compatibility reasons with software which expects or requires passwords to be set; however, these passwords are <a href="https://cert-manager.io/docs/faq/#why-are-passwords-on-jks-or-pkcs12-files-not-helpful">not relevant to security</a> and never have been in cert-manager.</p>
<p>The initial implementation of the <code>keystores</code> feature required these &quot;passwords&quot; to be stored in a Kubernetes secret, which would then be read by cert-manager when creating the keystore after a certificate was issued. This is cumbersome, especially when many passwords are set to default values such as <code>changeit</code> or <code>password</code>.</p>
<p>In cert-manager v1.17, it's now possible to set a keystore password using a literal string value inside the <code>Certificate</code> resource itself, making this process much easier with no change to security.</p>
<p>For example:</p>
<pre lang="yaml"><code>&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/cert-manager/cert-manager/commit/c658224baa1f15b8472d4180e166f4b5bfe783d3"><code>c658224</code></a> Merge pull request <a href="https://redirect.github.com/cert-manager/cert-manager/issues/7565">#7565</a> from cert-manager-bot/cherry-pick-7549-to-release-1.17</li>
<li><a href="https://github.com/cert-manager/cert-manager/commit/47828f2edb5093e8eb3fc428d3007c2cf132b924"><code>47828f2</code></a> Add comment explaining change</li>
<li><a href="https://github.com/cert-manager/cert-manager/commit/2121860e5f1b917590e6db02601e2f780283936d"><code>2121860</code></a> chore(issuer/cloudflare): ensure we set ZoneID</li>
<li><a href="https://github.com/cert-manager/cert-manager/commit/bec3f95752eca9fbd65dda7cd1321efe875bd6cb"><code>bec3f95</code></a> Merge pull request <a href="https://redirect.github.com/cert-manager/cert-manager/issues/7563">#7563</a> from SgtCoDFish/release-1.17-bumpgo</li>
<li><a href="https://github.com/cert-manager/cert-manager/commit/a79a66335a23a8d575fd0350ac89fdcf3e475ceb"><code>a79a663</code></a> [release-1.17] disable klone generation step (see <a href="https://redirect.github.com/cert-manager/cert-manager/issues/7431">#7431</a>)</li>
<li><a href="https://github.com/cert-manager/cert-manager/commit/69a514e6e90ab9e930ef8e984d8396ab0c4352a1"><code>69a514e</code></a> [release-1.17] bump go to v1.23.6</li>
<li><a href="https://github.com/cert-manager/cert-manager/commit/4562b9a3f301d8d734d4049afba417487e4284b0"><code>4562b9a</code></a> Merge pull request <a href="https://redirect.github.com/cert-manager/cert-manager/issues/6657">#6657</a> from rquinio1A/feature/keystore-password-litteral</li>
<li><a href="https://github.com/cert-manager/cert-manager/commit/c6f3f0cbd206f9e7b08de4982acc057fa6b6cb4c"><code>c6f3f0c</code></a> Merge pull request <a href="https://redirect.github.com/cert-manager/cert-manager/issues/7527">#7527</a> from SgtCoDFish/upgrade-test-tweaks</li>
<li><a href="https://github.com/cert-manager/cert-manager/commit/40cd2a02c755d2ea53243858af4e26e0c30ad8a9"><code>40cd2a0</code></a> Add support for setting literal keystore passwords in Certificates</li>
<li><a href="https://github.com/cert-manager/cert-manager/commit/1747743a940403cedc5e5258c1b53a26332489ee"><code>1747743</code></a> Merge pull request <a href="https://redirect.github.com/cert-manager/cert-manager/issues/7530">#7530</a> from SgtCoDFish/dns-test-integration</li>
<li>Additional commits viewable in <a href="https://github.com/cert-manager/cert-manager/compare/v1.16.3...v1.17.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/cert-manager/cert-manager&package-manager=go_modules&previous-version=1.16.3&new-version=1.17.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>


Patch:
diff --git a/.chloggen/3474.yaml b/.chloggen/3474.yaml
deleted file mode 100755
index aa03078b..00000000
--- a/.chloggen/3474.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
-change_type: breaking
-
-# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
-component: operator
-
-# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
-note: Make ServiceMonitor for operator metrics optional and disable it by default
-
-# One or more tracking issues related to the change
-issues: [3474]
-
-# (Optional) One or more lines of additional information to render under the primary note.
-# These lines will be padded with 2 spaces and then inserted directly into the document.
-# Use pipe (|) for multiline entries.
-subtext: |
-  Add `--create-sm-operator-metrics` flag to create a ServiceMonitor for the operator metrics.
-  This is disabled by default, which is a breaking change, because it was enabled by default in 0.113.0 and 0.114.0.
\ No newline at end of file
diff --git a/.chloggen/cap-urllib3-for-py38-support.yaml b/.chloggen/cap-urllib3-for-py38-support.yaml
deleted file mode 100755
index 6e59b36a..00000000
--- a/.chloggen/cap-urllib3-for-py38-support.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
-change_type: 'bug_fix'
-
-# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
-component: auto-instrumentation
-
-# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
-note: add upper version limit to Python dependency urllib3
-
-# One or more tracking issues related to the change
-issues: [3616]
-
-# (Optional) One or more lines of additional information to render under the primary note.
-# These lines will be padded with 2 spaces and then inserted directly into the document.
-# Use pipe (|) for multiline entries.
-subtext:
diff --git a/.chloggen/fix-3726.yaml b/.chloggen/fix-3726.yaml
deleted file mode 100755
index 03cccf2f..00000000
--- a/.chloggen/fix-3726.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
-change_type: 'bug_fix'
-
-# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
-component: 'target allocator'
-
-# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
-note: check for Prometheus CRDs before watching Service/Pod Monitors
-
-# One or more tracking issues related to the change
-issues: [3726]
-
-# (Optional) One or more lines of additional information to render under the primary note.
-# These lines will be padded with 2 spaces and then inserted directly into the document.
-# Use pipe (|) for multiline entries.
-subtext:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c47855bd..c62cf8e9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,31 @@
 
 <!-- next version -->
 
+## 0.119.0
+
+### 🛑 Breaking changes 🛑
+
+- `operator`: Make ServiceMonitor for operator metrics optional and disable it by default (#3474)
+  Add `--create-sm-operator-metrics` flag to create a ServiceMonitor for the operator metrics.
+  This is disabled by default, which is a breaking change, because it was enabled by default in 0.113.0 and 0.114.0.
+
+### 🧰 Bug fixes 🧰
+
+- `auto-instrumentation`: add upper version limit to Python dependency urllib3 (#3616)
+- `target allocator`: check for Prometheus CRDs before watching Service/Pod Monitors (#3726)
+
+### Components
+
+* [OpenTelemetry Collector - v0.119.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.119.0)
+* [OpenTelemetry Contrib - v0.119.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.119.0)
+* [Java auto-instrumentation - v1.33.6](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.6)
+* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0)
+* [Node.JS - v0.53.0](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.53.0)
+* [Python - v0.51b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.51b0)
+* [Go - v0.19.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.19.0-alpha)
+* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
+* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
+
 ## 0.118.0
 
 ### 🚀 New components 🚀
diff --git a/RELEASE.md b/RELEASE.md
index 5b028e8c..17620945 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -44,10 +44,10 @@ The operator should be released within a week after the [OpenTelemetry collector
 
 | Version  | Release manager |
 |----------|-----------------|
-| v0.119.0 | @frzifus        |
 | v0.120.0 | @yuriolisa      |
 | v0.121.0 | @pavolloffay    |
 | v0.122.0 | @TylerHelmuth   |
 | v0.123.0 | @jaronoff97     |
 | v0.124.0 | @swiatekm       |
 | v0.125.0 | @iblancasa      |
+| v0.126.0 | @frzifus        |
diff --git a/bundle/community/manifests/opentelemetry-operator.clusterserviceversion.yaml b/bundle/community/manifests/opentelemetry-operator.clusterserviceversion.yaml
index 52e24c5e..fd77d844 100644
--- a/bundle/community/manifests/opentelemetry-operator.clusterserviceversion.yaml
+++ b/bundle/community/manifests/opentelemetry-operator.clusterserviceversion.yaml
@@ -99,13 +99,13 @@ metadata:
     categories: Logging & Tracing,Monitoring
     certified: "false"
     containerImage: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator
-    createdAt: "2025-02-13T16:48:37Z"
+    createdAt: "2025-02-24T07:53:50Z"
     description: Provides the OpenTelemetry components, including the Collector
     operators.operatorframework.io/builder: operator-sdk-v1.29.0
     operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
     repository: github.com/open-telemetry/opentelemetry-operator
     support: OpenTelemetry Community
-  name: opentelemetry-operator.v0.118.0
+  name: opentelemetry-operator.v0.119.0
   namespace: placeholder
 spec:
   apiservicedefinitions: {}
@@ -529,7 +529,7 @@ spec:
                   valueFrom:
                     fieldRef:
                       fieldPath: spec.serviceAccountName
-                image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.118.0
+                image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.119.0
                 livenessProbe:
                   httpGet:
                     path: /healthz
@@ -637,7 +637,7 @@ spec:
   minKubeVersion: 1.23.0
   provider:
     name: OpenTelemetry Community
-  version: 0.118.0
+  version: 0.119.0
   webhookdefinitions:
   - admissionReviewVersions:
     - v1alpha1
diff --git a/bundle/openshift/manifests/opentelemetry-operator.clusterserviceversion.yaml b/bundle/openshift/manifests/opentelemetry-operator.clusterserviceversion.yaml
index f8dfcf99..1933fb17 100644
--- a/bundle/openshift/manifests/opentelemetry-operator.clusterserviceversion.yaml
+++ b/bundle/openshift/manifests/opentelemetry-operator.clusterserviceversion.yaml
@@ -99,13 +99,13 @@ metadata:
     categories: Logging & Tracing,Monitoring
     certified: "false"
     containerImage: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator
-    createdAt: "2025-02-13T16:48:37Z"
+    createdAt: "2025-02-24T07:53:51Z"
     description: Provides the OpenTelemetry components, including the Collector
     operators.operatorframework.io/builder: operator-sdk-v1.29.0
     operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
     repository: github.com/open-telemetry/opentelemetry-operator
     support: OpenTelemetry Community
-  name: opentelemetry-operator.v0.118.0
+  name: opentelemetry-operator.v0.119.0
   namespace: placeholder
 spec:
   apiservicedefinitions: {}
@@ -534,7 +534,7 @@ spec:
                   valueFrom:
                     fieldRef:
                       fieldPath: spec.serviceAccountName
-                image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.118.0
+                image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.119.0
                 livenessProbe:
                   httpGet:
                     path: /healthz
@@ -653,7 +653,7 @@ spec:
   minKubeVersion: 1.23.0
   provider:
     name: OpenTelemetry Community
-  version: 0.118.0
+  version: 0.119.0
   webhookdefinitions:
   - admissionReviewVersions:
     - v1alpha1
diff --git a/cmd/otel-allocator/allocation/allocator.go b/cmd/otel-allocator/internal/allocation/allocator.go
similarity index 99%
rename from cmd/otel-allocator/allocation/allocator.go
rename to cmd/otel-allocator/internal/allocation/allocator.go
index 7fded841..ac630d04 100644
--- a/cmd/otel-allocator/allocation/allocator.go
+++ b/cmd/otel-allocator/internal/allocation/allocator.go
@@ -10,8 +10,8 @@ import (
 	"github.com/go-logr/logr"
 	"github.com/prometheus/client_golang/prometheus"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/diff"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/diff"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 /*
diff --git a/cmd/otel-allocator/allocation/consistent_hashing.go b/cmd/otel-allocator/internal/allocation/consistent_hashing.go
similarity index 98%
rename from cmd/otel-allocator/allocation/consistent_hashing.go
rename to cmd/otel-allocator/internal/allocation/consistent_hashing.go
index a80de494..b0e8229a 100644
--- a/cmd/otel-allocator/allocation/consistent_hashing.go
+++ b/cmd/otel-allocator/internal/allocation/consistent_hashing.go
@@ -9,7 +9,7 @@ import (
 	"github.com/buraksezer/consistent"
 	"github.com/cespare/xxhash/v2"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 const consistentHashingStrategyName = "consistent-hashing"
diff --git a/cmd/otel-allocator/allocation/consistent_hashing_test.go b/cmd/otel-allocator/internal/allocation/consistent_hashing_test.go
similarity index 100%
rename from cmd/otel-allocator/allocation/consistent_hashing_test.go
rename to cmd/otel-allocator/internal/allocation/consistent_hashing_test.go
diff --git a/cmd/otel-allocator/allocation/least_weighted.go b/cmd/otel-allocator/internal/allocation/least_weighted.go
similarity index 98%
rename from cmd/otel-allocator/allocation/least_weighted.go
rename to cmd/otel-allocator/internal/allocation/least_weighted.go
index 9a90477b..16f98673 100644
--- a/cmd/otel-allocator/allocation/least_weighted.go
+++ b/cmd/otel-allocator/internal/allocation/least_weighted.go
@@ -4,7 +4,7 @@
 package allocation
 
 import (
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 const leastWeightedStrategyName = "least-weighted"
diff --git a/cmd/otel-allocator/allocation/least_weighted_test.go b/cmd/otel-allocator/internal/allocation/least_weighted_test.go
similarity index 100%
rename from cmd/otel-allocator/allocation/least_weighted_test.go
rename to cmd/otel-allocator/internal/allocation/least_weighted_test.go
diff --git a/cmd/otel-allocator/allocation/per_node.go b/cmd/otel-allocator/internal/allocation/per_node.go
similarity index 98%
rename from cmd/otel-allocator/allocation/per_node.go
rename to cmd/otel-allocator/internal/allocation/per_node.go
index c78555d1..c5804663 100644
--- a/cmd/otel-allocator/allocation/per_node.go
+++ b/cmd/otel-allocator/internal/allocation/per_node.go
@@ -6,7 +6,7 @@ package allocation
 import (
 	"fmt"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 const perNodeStrategyName = "per-node"
diff --git a/cmd/otel-allocator/allocation/strategy.go b/cmd/otel-allocator/internal/allocation/strategy.go
similarity index 99%
rename from cmd/otel-allocator/allocation/strategy.go
rename to cmd/otel-allocator/internal/allocation/strategy.go
index e724852c..f23e41ec 100644
--- a/cmd/otel-allocator/allocation/strategy.go
+++ b/cmd/otel-allocator/internal/allocation/strategy.go
@@ -11,7 +11,7 @@ import (
 	"github.com/prometheus/client_golang/prometheus"
 	"github.com/prometheus/client_golang/prometheus/promauto"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 type AllocatorProvider func(log logr.Logger, opts ...Option) Allocator
diff --git a/cmd/otel-allocator/collector/collector.go b/cmd/otel-allocator/internal/collector/collector.go
similarity index 99%
rename from cmd/otel-allocator/collector/collector.go
rename to cmd/otel-allocator/internal/collector/collector.go
index b534b6d7..725b5929 100644
--- a/cmd/otel-allocator/collector/collector.go
+++ b/cmd/otel-allocator/internal/collector/collector.go
@@ -17,7 +17,7 @@ import (
 	"k8s.io/client-go/rest"
 	"k8s.io/client-go/tools/cache"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/allocation"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/allocation"
 )
 
 const (
diff --git a/cmd/otel-allocator/config/config.go b/cmd/otel-allocator/internal/config/config.go
similarity index 100%
rename from cmd/otel-allocator/config/config.go
rename to cmd/otel-allocator/internal/config/config.go
diff --git a/cmd/otel-allocator/config/config_test.go b/cmd/otel-allocator/internal/config/config_test.go
similarity index 100%
rename from cmd/otel-allocator/config/config_test.go
rename to cmd/otel-allocator/internal/config/config_test.go
diff --git a/cmd/otel-allocator/config/flags.go b/cmd/otel-allocator/internal/config/flags.go
similarity index 100%
rename from cmd/otel-allocator/config/flags.go
rename to cmd/otel-allocator/internal/config/flags.go
diff --git a/cmd/otel-allocator/config/flags_test.go b/cmd/otel-allocator/internal/config/flags_test.go
similarity index 100%
rename from cmd/otel-allocator/config/flags_test.go
rename to cmd/otel-allocator/internal/config/flags_test.go
diff --git a/cmd/otel-allocator/config/testdata/config_test.yaml b/cmd/otel-allocator/internal/config/testdata/config_test.yaml
similarity index 100%
rename from cmd/otel-allocator/config/testdata/config_test.yaml
rename to cmd/otel-allocator/internal/config/testdata/config_test.yaml
diff --git a/cmd/otel-allocator/config/testdata/file_sd_test.json b/cmd/otel-allocator/internal/config/testdata/file_sd_test.json
similarity index 100%
rename from cmd/otel-allocator/config/testdata/file_sd_test.json
rename to cmd/otel-allocator/internal/config/testdata/file_sd_test.json
diff --git a/cmd/otel-allocator/config/testdata/no_config.yaml b/cmd/otel-allocator/internal/config/testdata/no_config.yaml
similarity index 100%
rename from cmd/otel-allocator/config/testdata/no_config.yaml
rename to cmd/otel-allocator/internal/config/testdata/no_config.yaml
diff --git a/cmd/otel-allocator/config/testdata/pod_service_selector_camelcase_expressions_test.yaml b/cmd/otel-allocator/internal/config/testdata/pod_service_selector_camelcase_expressions_test.yaml
similarity index 100%
rename from cmd/otel-allocator/config/testdata/pod_service_selector_camelcase_expressions_test.yaml
rename to cmd/otel-allocator/internal/config/testdata/pod_service_selector_camelcase_expressions_test.yaml
diff --git a/cmd/otel-allocator/config/testdata/pod_service_selector_camelcase_test.yaml b/cmd/otel-allocator/internal/config/testdata/pod_service_selector_camelcase_test.yaml
similarity index 100%
rename from cmd/otel-allocator/config/testdata/pod_service_selector_camelcase_test.yaml
rename to cmd/otel-allocator/internal/config/testdata/pod_service_selector_camelcase_test.yaml
diff --git a/cmd/otel-allocator/config/testdata/pod_service_selector_expressions_test.yaml b/cmd/otel-allocator/internal/config/testdata/pod_service_selector_expressions_test.yaml
similarity index 100%
rename from cmd/otel-allocator/config/testdata/pod_service_selector_expressions_test.yaml
rename to cmd/otel-allocator/internal/config/testdata/pod_service_selector_expressions_test.yaml
diff --git a/cmd/otel-allocator/config/testdata/pod_service_selector_test.yaml b/cmd/otel-allocator/internal/config/testdata/pod_service_selector_test.yaml
similarity index 100%
rename from cmd/otel-allocator/config/testdata/pod_service_selector_test.yaml
rename to cmd/otel-allocator/internal/config/testdata/pod_service_selector_test.yaml
diff --git a/cmd/otel-allocator/diff/diff.go b/cmd/otel-allocator/internal/diff/diff.go
similarity index 100%
rename from cmd/otel-allocator/diff/diff.go
rename to cmd/otel-allocator/internal/diff/diff.go
diff --git a/cmd/otel-allocator/diff/diff_test.go b/cmd/otel-allocator/internal/diff/diff_test.go
similarity index 100%
rename from cmd/otel-allocator/diff/diff_test.go
rename to cmd/otel-allocator/internal/diff/diff_test.go
diff --git a/cmd/otel-allocator/prehook/prehook.go b/cmd/otel-allocator/internal/prehook/prehook.go
similarity index 97%
rename from cmd/otel-allocator/prehook/prehook.go
rename to cmd/otel-allocator/internal/prehook/prehook.go
index f4cb184c..720c8754 100644
--- a/cmd/otel-allocator/prehook/prehook.go
+++ b/cmd/otel-allocator/internal/prehook/prehook.go
@@ -7,7 +7,7 @@ import (
 	"github.com/go-logr/logr"
 	"github.com/prometheus/prometheus/model/relabel"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 type Hook interface {
diff --git a/cmd/otel-allocator/prehook/relabel.go b/cmd/otel-allocator/internal/prehook/relabel.go
similarity index 99%
rename from cmd/otel-allocator/prehook/relabel.go
rename to cmd/otel-allocator/internal/prehook/relabel.go
index ca92af81..d5dba862 100644
--- a/cmd/otel-allocator/prehook/relabel.go
+++ b/cmd/otel-allocator/internal/prehook/relabel.go
@@ -7,7 +7,7 @@ import (
 	"github.com/go-logr/logr"
 	"github.com/prometheus/prometheus/model/relabel"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 const (
diff --git a/cmd/otel-allocator/server/server.go b/cmd/otel-allocator/internal/server/server.go
similarity index 99%
rename from cmd/otel-allocator/server/server.go
rename to cmd/otel-allocator/internal/server/server.go
index 2dd99c6d..77b43e37 100644
--- a/cmd/otel-allocator/server/server.go
+++ b/cmd/otel-allocator/internal/server/server.go
@@ -26,8 +26,8 @@ import (
 	"github.com/prometheus/prometheus/model/labels"
 	"gopkg.in/yaml.v2"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/allocation"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/allocation"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 var (
diff --git a/cmd/otel-allocator/server/testdata/prom-config-all-actions.yaml b/cmd/otel-allocator/internal/server/testdata/prom-config-all-actions.yaml
similarity index 100%
rename from cmd/otel-allocator/server/testdata/prom-config-all-actions.yaml
rename to cmd/otel-allocator/internal/server/testdata/prom-config-all-actions.yaml
diff --git a/cmd/otel-allocator/server/testdata/prom-config-test.yaml b/cmd/otel-allocator/internal/server/testdata/prom-config-test.yaml
similarity index 100%
rename from cmd/otel-allocator/server/testdata/prom-config-test.yaml
rename to cmd/otel-allocator/internal/server/testdata/prom-config-test.yaml
diff --git a/cmd/otel-allocator/server/testdata/prom-no-config.yaml b/cmd/otel-allocator/internal/server/testdata/prom-no-config.yaml
similarity index 100%
rename from cmd/otel-allocator/server/testdata/prom-no-config.yaml
rename to cmd/otel-allocator/internal/server/testdata/prom-no-config.yaml
diff --git a/cmd/otel-allocator/target/discovery.go b/cmd/otel-allocator/internal/target/discovery.go
similarity index 99%
rename from cmd/otel-allocator/target/discovery.go
rename to cmd/otel-allocator/internal/target/discovery.go
index 3f68408d..9e236d35 100644
--- a/cmd/otel-allocator/target/discovery.go
+++ b/cmd/otel-allocator/internal/target/discovery.go
@@ -21,7 +21,7 @@ import (
 	"go.uber.org/zap/zapcore"
 	"gopkg.in/yaml.v3"
 
-	allocatorWatcher "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/watcher"
+	allocatorWatcher "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/watcher"
 )
 
 var (
diff --git a/cmd/otel-allocator/target/target.go b/cmd/otel-allocator/internal/target/target.go
similarity index 100%
rename from cmd/otel-allocator/target/target.go
rename to cmd/otel-allocator/internal/target/target.go
diff --git a/cmd/otel-allocator/target/testdata/test.yaml b/cmd/otel-allocator/internal/target/testdata/test.yaml
similarity index 100%
rename from cmd/otel-allocator/target/testdata/test.yaml
rename to cmd/otel-allocator/internal/target/testdata/test.yaml
diff --git a/cmd/otel-allocator/target/testdata/test_update.yaml b/cmd/otel-allocator/internal/target/testdata/test_update.yaml
similarity index 100%
rename from cmd/otel-allocator/target/testdata/test_update.yaml
rename to cmd/otel-allocator/internal/target/testdata/test_update.yaml
diff --git a/cmd/otel-allocator/watcher/promOperator.go b/cmd/otel-allocator/internal/watcher/promOperator.go
similarity index 99%
rename from cmd/otel-allocator/watcher/promOperator.go
rename to cmd/otel-allocator/internal/watcher/promOperator.go
index 1a51cb1e..74eef25a 100644
--- a/cmd/otel-allocator/watcher/promOperator.go
+++ b/cmd/otel-allocator/internal/watcher/promOperator.go
@@ -33,7 +33,7 @@ import (
 	"k8s.io/client-go/tools/cache"
 	"k8s.io/client-go/util/retry"
 
-	allocatorconfig "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/config"
+	allocatorconfig "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/config"
 )
 
 const (
diff --git a/cmd/otel-allocator/watcher/watcher.go b/cmd/otel-allocator/internal/watcher/watcher.go
similarity index 100%
rename from cmd/otel-allocator/watcher/watcher.go
rename to cmd/otel-allocator/internal/watcher/watcher.go
diff --git a/cmd/otel-allocator/main.go b/cmd/otel-allocator/main.go
index f9b078dd..90a6b488 100644
--- a/cmd/otel-allocator/main.go
+++ b/cmd/otel-allocator/main.go
@@ -18,13 +18,13 @@ import (
 	_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
 	ctrl "sigs.k8s.io/controller-runtime"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/allocation"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/collector"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/config"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/prehook"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/server"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
-	allocatorWatcher "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/watcher"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/allocation"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/collector"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/config"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/prehook"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/server"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
+	allocatorWatcher "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/watcher"
 )
 
 var (
diff --git a/docs/compatibility.md b/docs/compatibility.md
index e9ab9895..2235e9ce 100644
--- a/docs/compatibility.md
+++ b/docs/compatibility.md
@@ -46,6 +46,7 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,
 
 | OpenTelemetry Operator | Kubernetes     | Cert-Manager | Prometheus-Operator |
 |------------------------|----------------|--------------|---------------------|
+| v0.119.0               | v1.23 to v1.32 | v1           | v0.76.2             |
 | v0.118.0               | v1.23 to v1.32 | v1           | v0.76.2             |
 | v0.117.0               | v1.23 to v1.32 | v1           | v0.76.2             |
 | v0.116.0               | v1.23 to v1.31 | v1           | v0.76.2             |
@@ -70,7 +71,6 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,
 | v0.97.0                | v1.23 to v1.29 | v1           | v0.71.2             |
 | v0.96.0                | v1.23 to v1.29 | v1           | v0.71.2             |
 | v0.95.0                | v1.23 to v1.29 | v1           | v0.71.2             |
-| v0.94.0                | v1.23 to v1.29 | v1           | v0.71.0             |
 
 [kubernetes_releases]: https://kubernetes.io/releases/
 [openshift_support]: https://access.redhat.com/support/policy/updates/openshift
diff --git a/go.mod b/go.mod
index d5ca40be..97eae278 100644
--- a/go.mod
+++ b/go.mod
@@ -49,7 +49,7 @@ require (
 	k8s.io/client-go v0.32.2
 	k8s.io/component-base v0.32.2
 	k8s.io/klog/v2 v2.130.1
-	k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738
+	k8s.io/utils v0.0.0-20241210054802-24370beab758
 	sigs.k8s.io/controller-runtime v0.20.2
 	sigs.k8s.io/gateway-api v1.1.0 // indirect
 	sigs.k8s.io/yaml v1.4.0
@@ -75,7 +75,7 @@ require (
 	github.com/bytedance/sonic v1.11.6 // indirect
 	github.com/bytedance/sonic/loader v0.1.1 // indirect
 	github.com/cenkalti/backoff/v4 v4.3.0 // indirect
-	github.com/cert-manager/cert-manager v1.16.3
+	github.com/cert-manager/cert-manager v1.17.1
 	github.com/cloudwego/base64x v0.1.4 // indirect
 	github.com/cloudwego/iasm v0.2.0 // indirect
 	github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 // indirect
@@ -95,7 +95,7 @@ require (
 	github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb // indirect
 	github.com/fatih/color v1.16.0 // indirect
 	github.com/felixge/httpsnoop v1.0.4 // indirect
-	github.com/fsnotify/fsnotify v1.7.0 // indirect
+	github.com/fsnotify/fsnotify v1.8.0 // indirect
 	github.com/fxamacker/cbor/v2 v2.7.0 // indirect
 	github.com/gabriel-vasile/mimetype v1.4.3 // indirect
 	github.com/gin-contrib/sse v0.1.0 // indirect
@@ -123,7 +123,7 @@ require (
 	github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
 	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
 	github.com/golang/protobuf v1.5.4 // indirect
-	github.com/google/gnostic-models v0.6.8 // indirect
+	github.com/google/gnostic-models v0.6.9 // indirect
 	github.com/google/go-cmp v0.6.0 // indirect
 	github.com/google/go-querystring v1.1.0 // indirect
 	github.com/google/gofuzz v1.2.0 // indirect
@@ -131,7 +131,7 @@ require (
 	github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
 	github.com/googleapis/gax-go/v2 v2.13.0 // indirect
 	github.com/gophercloud/gophercloud v1.14.0 // indirect
-	github.com/gorilla/websocket v1.5.1 // indirect
+	github.com/gorilla/websocket v1.5.3 // indirect
 	github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect
 	github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 // indirect
 	github.com/hashicorp/consul/api v1.29.4 // indirect
@@ -159,7 +159,7 @@ require (
 	github.com/kylelemons/godebug v1.1.0 // indirect
 	github.com/leodido/go-urn v1.4.0 // indirect
 	github.com/linode/linodego v1.40.0 // indirect
-	github.com/mailru/easyjson v0.7.7 // indirect
+	github.com/mailru/easyjson v0.9.0 // indirect
 	github.com/mattn/go-colorable v0.1.13 // indirect
 	github.com/mattn/go-isatty v0.0.20 // indirect
 	github.com/metalmatze/signal v0.0.0-20210307161603-1c9aa721a97a // indirect
@@ -199,13 +199,13 @@ require (
 	go.mongodb.org/mongo-driver v1.14.0 // indirect
 	go.opencensus.io v0.24.0 // indirect
 	go.opentelemetry.io/auto/sdk v1.1.0 // indirect
-	go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
+	go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 // indirect
 	go.opentelemetry.io/otel/trace v1.34.0 // indirect
 	go.opentelemetry.io/proto/otlp v1.5.0 // indirect
 	go.uber.org/atomic v1.11.0 // indirect
 	golang.org/x/arch v0.8.0 // indirect
 	golang.org/x/crypto v0.32.0 // indirect
-	golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
+	golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect
 	golang.org/x/mod v0.22.0 // indirect
 	golang.org/x/net v0.34.0 // indirect
 	golang.org/x/oauth2 v0.24.0 // indirect
@@ -213,7 +213,7 @@ require (
 	golang.org/x/sys v0.29.0 // indirect
 	golang.org/x/term v0.28.0 // indirect
 	golang.org/x/text v0.21.0 // indirect
-	golang.org/x/time v0.7.0 // indirect
+	golang.org/x/time v0.8.0 // indirect
 	golang.org/x/tools v0.29.0 // indirect
 	gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
 	google.golang.org/api v0.198.0 // indirect
@@ -224,9 +224,9 @@ require (
 	gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
 	gopkg.in/inf.v0 v0.9.1 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
-	k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
-	sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
-	sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
+	k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7 // indirect
+	sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
+	sigs.k8s.io/structured-merge-diff/v4 v4.5.0 // indirect
 )
 
 require github.com/google/btree v1.1.3 // indirect
diff --git a/go.sum b/go.sum
index 3da26167..7f8d2c72 100644
--- a/go.sum
+++ b/go.sum
@@ -103,8 +103,8 @@ github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4
 github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
 github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cert-manager/cert-manager v1.16.3 h1:seEF5eidFaeduaCuM85PFEuzH/1X/HOV5Y8zDQrHgpc=
-github.com/cert-manager/cert-manager v1.16.3/go.mod h1:6JQ/GAZ6dH+erqS1BbaqorPy8idJzCtWFUmJQBTjo6Q=
+github.com/cert-manager/cert-manager v1.17.1 h1:Aig+lWMoLsmpGd9TOlTvO4t0Ah3D+/vGB37x/f+ZKt0=
+github.com/cert-manager/cert-manager v1.17.1/go.mod h1:zeG4D+AdzqA7hFMNpYCJgcQ2VOfFNBa+Jzm3kAwiDU4=
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
 github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
@@ -169,8 +169,8 @@ github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
 github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
 github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
-github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
-github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
+github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
+github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
 github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
 github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
 github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=
@@ -282,8 +282,8 @@ github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Z
 github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
 github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
-github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
-github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
+github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw=
+github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw=
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
 github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -328,8 +328,8 @@ github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDP
 github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A=
 github.com/gophercloud/gophercloud v1.14.0 h1:Bt9zQDhPrbd4qX7EILGmy+i7GP35cc+AAL2+wIJpUE8=
 github.com/gophercloud/gophercloud v1.14.0/go.mod h1:aAVqcocTSXh2vYFZ1JTvx4EQmfgzxRcNupUfxZbBNDM=
-github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY=
-github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY=
+github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
+github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248=
 github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 h1:VNqngBF40hVlDloBruUehVYC3ArSgIyScOAyMRqBxRg=
@@ -441,8 +441,8 @@ github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
 github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
 github.com/linode/linodego v1.40.0 h1:7ESY0PwK94hoggoCtIroT1Xk6b1flrFBNZ6KwqbTqlI=
 github.com/linode/linodego v1.40.0/go.mod h1:NsUw4l8QrLdIofRg1NYFBbW5ZERnmbZykVBszPZLORM=
-github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
-github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
+github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4=
+github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
 github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
 github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
 github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
@@ -652,14 +652,14 @@ go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJyS
 go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
 go.opentelemetry.io/collector/featuregate v1.26.0 h1:NIZdJby6jL9tEHI25ddeUNgc09Q0Fof31YHF1CSVp4Y=
 go.opentelemetry.io/collector/featuregate v1.26.0/go.mod h1:Y/KsHbvREENKvvN9RlpiWk/IGBK+CATBYzIIpU7nccc=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q=
 go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY=
 go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI=
 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.34.0 h1:opwv08VbCZ8iecIWs+McMdHRcAXzjAeda3uG2kI/hcA=
 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.34.0/go.mod h1:oOP3ABpW7vFHulLpE8aYtNBodrHhMTrvfxUXGvqm7Ac=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 h1:Vh5HayB/0HHfOQA7Ctx69E/Y/DcQSMPpKANYVMQ7fBA=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0 h1:JAv0Jwtl01UFiyWZEMiJZBiTlv5A50zNs8lsthXqIio=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.29.0/go.mod h1:QNKLmUEAq2QUbPQUfvw4fmv0bgbK7UlOSFCnXyfvSNc=
 go.opentelemetry.io/otel/exporters/prometheus v0.56.0 h1:GnCIi0QyG0yy2MrJLzVrIM7laaJstj//flf1zEJCG+E=
@@ -708,8 +708,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
 golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
-golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
+golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo=
+golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c=
 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -886,8 +886,8 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
-golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
-golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
+golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg=
+golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
@@ -1071,10 +1071,10 @@ k8s.io/component-base v0.32.2 h1:1aUL5Vdmu7qNo4ZsE+569PV5zFatM9hl+lb3dEea2zU=
 k8s.io/component-base v0.32.2/go.mod h1:PXJ61Vx9Lg+P5mS8TLd7bCIr+eMJRQTyXe8KvkrvJq0=
 k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
 k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
-k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f h1:GA7//TjRY9yWGy1poLzYYJJ4JRdzg3+O6e8I+e+8T5Y=
-k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f/go.mod h1:R/HEjbvWI0qdfb8viZUeVZm0X6IZnxAydC7YU42CMw4=
-k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro=
-k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7 h1:hcha5B1kVACrLujCKLbr8XWMxCxzQx42DY8QKYJrDLg=
+k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7/go.mod h1:GewRfANuJ70iYzvn+i4lezLDAFzvjxZYK1gn1lWcfas=
+k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJJI8IUa1AmH/qa0=
+k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
 nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
 rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
@@ -1084,9 +1084,9 @@ sigs.k8s.io/controller-runtime v0.20.2 h1:/439OZVxoEc02psi1h4QO3bHzTgu49bb347Xp4
 sigs.k8s.io/controller-runtime v0.20.2/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY=
 sigs.k8s.io/gateway-api v1.1.0 h1:DsLDXCi6jR+Xz8/xd0Z1PYl2Pn0TyaFMOPPZIj4inDM=
 sigs.k8s.io/gateway-api v1.1.0/go.mod h1:ZH4lHrL2sDi0FHZ9jjneb8kKnGzFWyrTya35sWUTrRs=
-sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8=
-sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo=
-sigs.k8s.io/structured-merge-diff/v4 v4.4.2 h1:MdmvkGuXi/8io6ixD5wud3vOLwc1rj0aNqRlpuvjmwA=
-sigs.k8s.io/structured-merge-diff/v4 v4.4.2/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4=
+sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
+sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
+sigs.k8s.io/structured-merge-diff/v4 v4.5.0 h1:nbCitCK2hfnhyiKo6uf2HxUPTCodY6Qaf85SbDIaMBk=
+sigs.k8s.io/structured-merge-diff/v4 v4.5.0/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4=
 sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
 sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
diff --git a/versions.txt b/versions.txt
index ec212ab6..69aebcfe 100644
--- a/versions.txt
+++ b/versions.txt
@@ -2,16 +2,16 @@
 # by default with the OpenTelemetry Operator. This would usually be the latest
 # stable OpenTelemetry version. When you update this file, make sure to update the
 # the docs as well.
-opentelemetry-collector=0.118.0
+opentelemetry-collector=0.119.0
 
 # Represents the current release of the OpenTelemetry Operator.
-operator=0.118.0
+operator=0.119.0
 
 # Represents the current release of the Target Allocator.
-targetallocator=0.118.0
+targetallocator=0.119.0
 
 # Represents the current release of the Operator OpAMP Bridge.
-operator-opamp-bridge=0.118.0
+operator-opamp-bridge=0.119.0
 
 # Represents the current release of Java instrumentation.
 # Should match autoinstrumentation/java/version.txt
@@ -23,7 +23,7 @@ autoinstrumentation-nodejs=0.53.0
 
 # Represents the current release of Python instrumentation.
 # Should match value in autoinstrumentation/python/requirements.txt
-autoinstrumentation-python=0.50b0
+autoinstrumentation-python=0.51b0
 
 # Represents the current release of DotNet instrumentation.
 # Should match autoinstrumentation/dotnet/version.txt


Test patch:
diff --git a/cmd/otel-allocator/benchmark_test.go b/cmd/otel-allocator/benchmark_test.go
index c233f0ce..09e2ffcc 100644
--- a/cmd/otel-allocator/benchmark_test.go
+++ b/cmd/otel-allocator/benchmark_test.go
@@ -22,10 +22,10 @@ import (
 	ctrl "sigs.k8s.io/controller-runtime"
 	"sigs.k8s.io/controller-runtime/pkg/log"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/allocation"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/prehook"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/server"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/allocation"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/prehook"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/server"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 // BenchmarkProcessTargets benchmarks the whole target allocation pipeline. It starts with data the prometheus
diff --git a/cmd/otel-allocator/allocation/allocator_test.go b/cmd/otel-allocator/internal/allocation/allocator_test.go
similarity index 99%
rename from cmd/otel-allocator/allocation/allocator_test.go
rename to cmd/otel-allocator/internal/allocation/allocator_test.go
index 2b361b1e..a18030e0 100644
--- a/cmd/otel-allocator/allocation/allocator_test.go
+++ b/cmd/otel-allocator/internal/allocation/allocator_test.go
@@ -9,7 +9,7 @@ import (
 	"github.com/prometheus/prometheus/model/labels"
 	"github.com/stretchr/testify/assert"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 func TestSetCollectors(t *testing.T) {
diff --git a/cmd/otel-allocator/allocation/per_node_test.go b/cmd/otel-allocator/internal/allocation/per_node_test.go
similarity index 99%
rename from cmd/otel-allocator/allocation/per_node_test.go
rename to cmd/otel-allocator/internal/allocation/per_node_test.go
index 8717bc5c..d610d21c 100644
--- a/cmd/otel-allocator/allocation/per_node_test.go
+++ b/cmd/otel-allocator/internal/allocation/per_node_test.go
@@ -10,7 +10,7 @@ import (
 	"github.com/stretchr/testify/assert"
 	logf "sigs.k8s.io/controller-runtime/pkg/log"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 var loggerPerNode = logf.Log.WithName("unit-tests")
diff --git a/cmd/otel-allocator/allocation/strategy_test.go b/cmd/otel-allocator/internal/allocation/strategy_test.go
similarity index 99%
rename from cmd/otel-allocator/allocation/strategy_test.go
rename to cmd/otel-allocator/internal/allocation/strategy_test.go
index 06da7628..b8e4cca9 100644
--- a/cmd/otel-allocator/allocation/strategy_test.go
+++ b/cmd/otel-allocator/internal/allocation/strategy_test.go
@@ -8,7 +8,7 @@ import (
 	"reflect"
 	"testing"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/diff"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/diff"
 )
 
 func BenchmarkGetAllTargetsByCollectorAndJob(b *testing.B) {
diff --git a/cmd/otel-allocator/allocation/testutils.go b/cmd/otel-allocator/internal/allocation/testutils.go
similarity index 99%
rename from cmd/otel-allocator/allocation/testutils.go
rename to cmd/otel-allocator/internal/allocation/testutils.go
index 0aca5239..93a9fc08 100644
--- a/cmd/otel-allocator/allocation/testutils.go
+++ b/cmd/otel-allocator/internal/allocation/testutils.go
@@ -14,7 +14,7 @@ import (
 	"github.com/stretchr/testify/require"
 	logf "sigs.k8s.io/controller-runtime/pkg/log"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 func colIndex(index, numCols int) int {
diff --git a/cmd/otel-allocator/collector/collector_test.go b/cmd/otel-allocator/internal/collector/collector_test.go
similarity index 99%
rename from cmd/otel-allocator/collector/collector_test.go
rename to cmd/otel-allocator/internal/collector/collector_test.go
index 8b7f3c5d..efcb26ae 100644
--- a/cmd/otel-allocator/collector/collector_test.go
+++ b/cmd/otel-allocator/internal/collector/collector_test.go
@@ -17,7 +17,7 @@ import (
 	"k8s.io/client-go/kubernetes/fake"
 	logf "sigs.k8s.io/controller-runtime/pkg/log"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/allocation"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/allocation"
 )
 
 var logger = logf.Log.WithName("collector-unit-tests")
diff --git a/cmd/otel-allocator/prehook/relabel_test.go b/cmd/otel-allocator/internal/prehook/relabel_test.go
similarity index 99%
rename from cmd/otel-allocator/prehook/relabel_test.go
rename to cmd/otel-allocator/internal/prehook/relabel_test.go
index 50154e1f..792b3b3a 100644
--- a/cmd/otel-allocator/prehook/relabel_test.go
+++ b/cmd/otel-allocator/internal/prehook/relabel_test.go
@@ -16,7 +16,7 @@ import (
 	"github.com/stretchr/testify/assert"
 	logf "sigs.k8s.io/controller-runtime/pkg/log"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 var (
diff --git a/cmd/otel-allocator/server/bench_test.go b/cmd/otel-allocator/internal/server/bench_test.go
similarity index 99%
rename from cmd/otel-allocator/server/bench_test.go
rename to cmd/otel-allocator/internal/server/bench_test.go
index d28dfa26..98b88c0f 100644
--- a/cmd/otel-allocator/server/bench_test.go
+++ b/cmd/otel-allocator/internal/server/bench_test.go
@@ -16,8 +16,8 @@ import (
 	"github.com/prometheus/prometheus/model/labels"
 	"github.com/stretchr/testify/assert"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/allocation"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/allocation"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 func BenchmarkServerTargetsHandler(b *testing.B) {
diff --git a/cmd/otel-allocator/server/mocks_test.go b/cmd/otel-allocator/internal/server/mocks_test.go
similarity index 95%
rename from cmd/otel-allocator/server/mocks_test.go
rename to cmd/otel-allocator/internal/server/mocks_test.go
index 20db0839..ec607bdf 100644
--- a/cmd/otel-allocator/server/mocks_test.go
+++ b/cmd/otel-allocator/internal/server/mocks_test.go
@@ -4,8 +4,8 @@
 package server
 
 import (
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/allocation"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/allocation"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 var _ allocation.Allocator = &mockAllocator{}
diff --git a/cmd/otel-allocator/server/server_test.go b/cmd/otel-allocator/internal/server/server_test.go
similarity index 99%
rename from cmd/otel-allocator/server/server_test.go
rename to cmd/otel-allocator/internal/server/server_test.go
index 7567320f..fce2ef0c 100644
--- a/cmd/otel-allocator/server/server_test.go
+++ b/cmd/otel-allocator/internal/server/server_test.go
@@ -24,9 +24,9 @@ import (
 	"gopkg.in/yaml.v2"
 	logf "sigs.k8s.io/controller-runtime/pkg/log"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/allocation"
-	allocatorconfig "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/config"
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/target"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/allocation"
+	allocatorconfig "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/config"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/target"
 )
 
 var (
diff --git a/cmd/otel-allocator/target/discovery_test.go b/cmd/otel-allocator/internal/target/discovery_test.go
similarity index 99%
rename from cmd/otel-allocator/target/discovery_test.go
rename to cmd/otel-allocator/internal/target/discovery_test.go
index 977c2a58..c05d2a13 100644
--- a/cmd/otel-allocator/target/discovery_test.go
+++ b/cmd/otel-allocator/internal/target/discovery_test.go
@@ -22,8 +22,8 @@ import (
 	"github.com/stretchr/testify/require"
 	ctrl "sigs.k8s.io/controller-runtime"
 
-	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/config"
-	allocatorWatcher "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/watcher"
+	"github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/config"
+	allocatorWatcher "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/watcher"
 )
 
 var defaultScrapeProtocols = []promconfig.ScrapeProtocol{
diff --git a/cmd/otel-allocator/watcher/promOperator_test.go b/cmd/otel-allocator/internal/watcher/promOperator_test.go
similarity index 99%
rename from cmd/otel-allocator/watcher/promOperator_test.go
rename to cmd/otel-allocator/internal/watcher/promOperator_test.go
index fa71436b..b3d4d15f 100644
--- a/cmd/otel-allocator/watcher/promOperator_test.go
+++ b/cmd/otel-allocator/internal/watcher/promOperator_test.go
@@ -35,7 +35,7 @@ import (
 	fcache "k8s.io/client-go/tools/cache/testing"
 	"k8s.io/utils/ptr"
 
-	allocatorconfig "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/config"
+	allocatorconfig "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/internal/config"
 )
 
 var defaultScrapeProtocols = []promconfig.ScrapeProtocol{
diff --git a/controllers/reconcile_test.go b/controllers/reconcile_test.go
index 82904559..4737092a 100644
--- a/controllers/reconcile_test.go
+++ b/controllers/reconcile_test.go
@@ -1362,7 +1362,7 @@ func createTestReconciler(t *testing.T, ctx context.Context, cfg config.Config)
 	require.NoError(t, err)
 	go func() {
 		startErr := runtimeCluster.Start(ctx)
-		require.NoError(t, startErr)
+		assert.NoError(t, startErr)
 	}()
 
 	cacheClient := runtimeCluster.GetClient()
@@ -1375,6 +1375,8 @@ func createTestReconciler(t *testing.T, ctx context.Context, cfg config.Config)
 	})
 	err = reconciler.SetupCaches(runtimeCluster)
 	require.NoError(t, err)
+	synced := runtimeCluster.GetCache().WaitForCacheSync(ctx)
+	require.True(t, synced, "caches didn't sync successfully")
 	return reconciler
 }