diff --git a/.chloggen/2622-bump-autoinstrumentation-nodejs-to-allow-disabling-instrumentations-via-env.yaml b/.chloggen/2622-bump-autoinstrumentation-nodejs-to-allow-disabling-instrumentations-via-env.yaml deleted file mode 100755 index 5633ea471d..0000000000 --- a/.chloggen/2622-bump-autoinstrumentation-nodejs-to-allow-disabling-instrumentations-via-env.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: enhancement - -# 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: "Bump NodeJS autoinstrumentations dependency to a version that supports enabling selected instrumentations via environment variable." - -# One or more tracking issues related to the change -issues: [2622] - -# (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: | - See [the documentation](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-node#usage-auto-instrumentation) for details. - Usage example: `export OTEL_NODE_ENABLED_INSTRUMENTATIONS="http,nestjs-core"`. diff --git a/.chloggen/add-missing-label-servicemonitor.yaml b/.chloggen/add-missing-label-servicemonitor.yaml deleted file mode 100755 index d7a1a8f28a..0000000000 --- a/.chloggen/add-missing-label-servicemonitor.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. operator, target allocator, github action) -component: operator - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Added missing label for Service/Pod Monitors - -# One or more tracking issues related to the change -issues: [2251] - -# (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/featuregate_cli_python.yaml b/.chloggen/featuregate_cli_python.yaml deleted file mode 100755 index 3a444bd3ac..0000000000 --- a/.chloggen/featuregate_cli_python.yaml +++ /dev/null @@ -1,16 +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: remove featuregate `operator.autoinstrumentation.python`. Use command line flag `--enable-python-instrumentation` instead - -# One or more tracking issues related to the change -issues: [2582, 2672] - -# (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-2655.yaml b/.chloggen/fix-2655.yaml deleted file mode 100755 index 73da99b38d..0000000000 --- a/.chloggen/fix-2655.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. operator, target allocator, github action) -component: instrumentation - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "Don't preserve ownership of files copied from the autoinstrumenation image. This avoids issues when instrumenting workloads running as non-root" - -# One or more tracking issues related to the change -issues: [2655] - -# (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/opampbridge-version-label.yaml b/.chloggen/opampbridge-version-label.yaml deleted file mode 100755 index abf406f9b2..0000000000 --- a/.chloggen/opampbridge-version-label.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: opamp bridge - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Fix opamp bridge configmap "app.kubernetes.io/version" label to be generated in the same way as other resource version labels - -# One or more tracking issues related to the change -issues: [2583] - -# (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/v1beta1-webhook.yaml b/.chloggen/v1beta1-webhook.yaml deleted file mode 100755 index 4631ebd6d7..0000000000 --- a/.chloggen/v1beta1-webhook.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: new_component - -# The name of the component, or a single word describing the area of concern, (e.g. operator, target allocator, github action) -component: collector - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Enable reconciliation of Collector v1beta1 CRD. - -# One or more tracking issues related to the change -issues: [2620] - -# (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: | - Users are expected to migrate to `otelcol.v1beta1.opentelemetry.io`. - The support for `otelcol.v1alpha1.opentelemetry.io` will be removed in the future. - Follow [migration guide](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#upgrade-existing-objects-to-a-new-stored-version) for upgrading already created collector instances. - After all `otelcol.v1alpha1.opentelemetry.io` are stored as `v1beta1` update the collector CRD to store only `v1beta1` - `kubectl patch customresourcedefinitions opentelemetrycollectors.opentelemetry.io --subresource='status' --type='merge' -p '{"status":{"storedVersions":["v1beta1"]}}'`. - **Only `AllNamespaces` install mode is now supported** due to the conversion webhook from `v1beta1` to `v1alpha1`. - See [OLM docs](https://olm.operatorframework.io/docs/tasks/install-operator-with-olm/) and - [OLM operator groups docs](https://olm.operatorframework.io/docs/advanced-tasks/operator-scoping-with-operatorgroups/). - diff --git a/CHANGELOG.md b/CHANGELOG.md index 697f3064b3..48c5656fc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,50 @@ Changes by Version ================== +## 0.97.0 + +### 🛑 Breaking changes 🛑 + +- `operator`: remove featuregate `operator.autoinstrumentation.python`. Use command line flag `--enable-python-instrumentation` instead (#2582, #2672) + +### 🚀 New components 🚀 + +- `collector`: Enable reconciliation of Collector v1beta1 CRD. (#2620) + Users are expected to migrate to `otelcol.v1beta1.opentelemetry.io`. + The support for `otelcol.v1alpha1.opentelemetry.io` will be removed in the future. + Follow [migration guide](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#upgrade-existing-objects-to-a-new-stored-version) for upgrading already created collector instances. + After all `otelcol.v1alpha1.opentelemetry.io` are stored as `v1beta1` update the collector CRD to store only `v1beta1` + `kubectl patch customresourcedefinitions opentelemetrycollectors.opentelemetry.io --subresource='status' --type='merge' -p '{"status":{"storedVersions":["v1beta1"]}}'`. + **Only `AllNamespaces` install mode is now supported** due to the conversion webhook from `v1beta1` to `v1alpha1`. + See [OLM docs](https://olm.operatorframework.io/docs/tasks/install-operator-with-olm/) and + [OLM operator groups docs](https://olm.operatorframework.io/docs/advanced-tasks/operator-scoping-with-operatorgroups/). + + +### 💡 Enhancements 💡 + +- `auto-instrumentation`: Bump NodeJS autoinstrumentations dependency to a version that supports enabling selected instrumentations via environment variable. (#2622) + See [the documentation](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/metapackages/auto-instrumentations-node#usage-auto-instrumentation) for details. + Usage example: `export OTEL_NODE_ENABLED_INSTRUMENTATIONS="http,nestjs-core"`. + + +### 🧰 Bug fixes 🧰 + +- `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) + +### Components + +* [OpenTelemetry Collector - v0.97.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.97.0) +* [OpenTelemetry Contrib - v0.97.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.97.0) +* [Java auto-instrumentation - v1.32.1](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.32.1) +* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/{AUTO_INSTRUMENTATION_DOTNET_VERSION}) +* [Node.JS - v0.49.1](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.49.1) +* [Python - v0.44b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.44b0) +* [Go - v0.10.1-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.10.1-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.96.0 ### 🛑 Breaking changes 🛑 diff --git a/README.md b/README.md index 1f80f99d2b..3f55454d9e 100644 --- a/README.md +++ b/README.md @@ -710,6 +710,7 @@ The OpenTelemetry Operator *might* work on versions outside of the given range, | OpenTelemetry Operator | Kubernetes | Cert-Manager | |------------------------|----------------------|---------------------| +| v0.97.0 | v1.23 to v1.29 | v1 | | v0.96.0 | v1.23 to v1.29 | v1 | | v0.95.0 | v1.23 to v1.29 | v1 | | v0.94.0 | v1.23 to v1.29 | v1 | @@ -732,7 +733,6 @@ The OpenTelemetry Operator *might* work on versions outside of the given range, | v0.77.0 | v1.19 to v1.26 | v1 | | v0.76.1 | v1.19 to v1.26 | v1 | | v0.75.0 | v1.19 to v1.26 | v1 | -| v0.74.0 | v1.19 to v1.26 | v1 | ## Contributing and Developing diff --git a/RELEASE.md b/RELEASE.md index 16fcc7530e..22385b03a7 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.97.0 | @jaronoff97 | | v0.98.0 | @yuriolisa | | v0.99.0 | @pavolloffay | | v0.100.0 | @VineethReddy02 | | v0.101.0 | @TylerHelmuth | | v0.102.0 | @swiatekm-sumo | | v0.103.0 | @frzifus | +| v0.104.0 | @jaronoff97 | diff --git a/bundle/manifests/opentelemetry-operator.clusterserviceversion.yaml b/bundle/manifests/opentelemetry-operator.clusterserviceversion.yaml index eaa0bc7aa2..d40c870866 100644 --- a/bundle/manifests/opentelemetry-operator.clusterserviceversion.yaml +++ b/bundle/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: "2024-03-11T13:32:19Z" + createdAt: "2024-03-18T11:40:39Z" 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.96.0 + name: opentelemetry-operator.v0.97.0 namespace: placeholder spec: apiservicedefinitions: {} @@ -488,7 +488,7 @@ spec: - --zap-log-level=info - --zap-time-encoding=rfc3339nano - --feature-gates=+operator.autoinstrumentation.go,+operator.autoinstrumentation.nginx - image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.96.0 + image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.97.0 livenessProbe: httpGet: path: /healthz @@ -596,7 +596,7 @@ spec: minKubeVersion: 1.23.0 provider: name: OpenTelemetry Community - version: 0.96.0 + version: 0.97.0 webhookdefinitions: - admissionReviewVersions: - v1alpha1 diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index 5c5f0b84cb..1cc456a90b 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -1,2 +1,8 @@ resources: - manager.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +images: +- name: controller + newName: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator + newTag: 0.97.0 diff --git a/versions.txt b/versions.txt index 32996d27d2..9bf521c77f 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.96.0 +opentelemetry-collector=0.97.0 # Represents the current release of the OpenTelemetry Operator. -operator=0.96.0 +operator=0.97.0 # Represents the current release of the Target Allocator. -targetallocator=0.96.0 +targetallocator=0.97.0 # Represents the current release of the Operator OpAMP Bridge. -operator-opamp-bridge=0.96.0 +operator-opamp-bridge=0.97.0 # Represents the current release of Java instrumentation. # Should match autoinstrumentation/java/version.txt @@ -19,7 +19,7 @@ autoinstrumentation-java=1.32.1 # Represents the current release of NodeJS instrumentation. # Should match value in autoinstrumentation/nodejs/package.json -autoinstrumentation-nodejs=0.46.0 +autoinstrumentation-nodejs=0.49.1 # Represents the current release of Python instrumentation. # Should match value in autoinstrumentation/python/requirements.txt