diff --git a/.chloggen/TA-update-configs-to-enable-mtls.yaml b/.chloggen/TA-update-configs-to-enable-mtls.yaml deleted file mode 100755 index 64f318ad01..0000000000 --- a/.chloggen/TA-update-configs-to-enable-mtls.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: target allocator, collector - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "Enable mTLS between the TA and collector for passing secrets in the scrape_config securely" - -# One or more tracking issues related to the change -issues: [1669] - -# (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: | - This change enables mTLS between the collector and the target allocator (requires cert-manager). - This is necessary for passing secrets securely from the TA to the collector for scraping endpoints that have authentication. diff --git a/.chloggen/fix_validation-stabilizationWindowSeconds.yaml b/.chloggen/fix_validation-stabilizationWindowSeconds.yaml deleted file mode 100755 index b90f0ecbd9..0000000000 --- a/.chloggen/fix_validation-stabilizationWindowSeconds.yaml +++ /dev/null @@ -1,18 +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: collector-webhook - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "Fixed validation of `stabilizationWindowSeconds` in autoscaler behaviour" - -# One or more tracking issues related to the change -issues: [3345] - -# (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: | - The validation of `stabilizationWindowSeconds` in the `autoscaler.behaviour.scale[Up|Down]` incorrectly rejected 0 as an invalid value. - This has been fixed to ensure that the value is validated correctly (should be >=0 and <=3600) and the error messsage has been updated to reflect this. diff --git a/.chloggen/inst-tls.yaml b/.chloggen/inst-tls.yaml deleted file mode 100755 index 368bb318fe..0000000000 --- a/.chloggen/inst-tls.yaml +++ /dev/null @@ -1,34 +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: Add support for specifying exporter TLS certificates in auto-instrumentation. - -# One or more tracking issues related to the change -issues: [3338] - -# (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: | - Now Instrumentation CR supports specifying TLS certificates for exporter: - ```yaml - spec: - exporter: - endpoint: https://otel-collector:4317 - tls: - secretName: otel-tls-certs - configMapName: otel-ca-bundle - # otel-ca-bundle - ca: ca.crt - # present in otel-tls-certs - cert: tls.crt - # present in otel-tls-certs - key: tls.key - ``` - - * Propagating secrets across namespaces can be done with https://github.com/EmberStack/kubernetes-reflector or https://github.com/zakkg3/ClusterSecret - * Restarting workloads on certificate renewal can be done with https://github.com/stakater/Reloader or https://github.com/wave-k8s/wave diff --git a/.chloggen/native_sidecar.yaml b/.chloggen/native_sidecar.yaml deleted file mode 100755 index 1637381020..0000000000 --- a/.chloggen/native_sidecar.yaml +++ /dev/null @@ -1,21 +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: collector - -# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add native sidecar injection behind a feature gate which is disabled by default. - -# One or more tracking issues related to the change -issues: [2376] - -# (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: | - Native sidecars are supported since Kubernetes version `1.28` and are availabe by default since `1.29`. - To use native sidecars on Kubernetes v1.28 make sure the "SidecarContainers" feature gate on kubernetes is enabled. - If native sidecars are available, the operator can be advised to use them by adding adding - the `--feature-gates=operator.sidecarcontainers.native` to the Operator args. - In the future this may will become availabe as deployment mode on the Collector CR. See [#3356](https://github.com/open-telemetry/opentelemetry-operator/issues/3356) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72fca56e33..7eb4c340c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,61 @@ +## 0.111.0 + +### 💡 Enhancements 💡 + +- `collector`: Add native sidecar injection behind a feature gate which is disabled by default. (#2376) + Native sidecars are supported since Kubernetes version `1.28` and are availabe by default since `1.29`. + To use native sidecars on Kubernetes v1.28 make sure the "SidecarContainers" feature gate on kubernetes is enabled. + If native sidecars are available, the operator can be advised to use them by adding + the `--feature-gates=operator.sidecarcontainers.native` to the Operator args. + In the future this may will become availabe as deployment mode on the Collector CR. See [#3356](https://github.com/open-telemetry/opentelemetry-operator/issues/3356) + +- `target allocator, collector`: Enable mTLS between the TA and collector for passing secrets in the scrape_config securely (#1669) + This change enables mTLS between the collector and the target allocator (requires cert-manager). + This is necessary for passing secrets securely from the TA to the collector for scraping endpoints that have authentication. + +- `auto-instrumentation`: Add support for specifying exporter TLS certificates in auto-instrumentation. (#3338) + Now Instrumentation CR supports specifying TLS certificates for exporter: + ```yaml + spec: + exporter: + endpoint: https://otel-collector:4317 + tls: + secretName: otel-tls-certs + configMapName: otel-ca-bundle + # otel-ca-bundle + ca: ca.crt + # present in otel-tls-certs + cert: tls.crt + # present in otel-tls-certs + key: tls.key + ``` + + * Propagating secrets across namespaces can be done with https://github.com/EmberStack/kubernetes-reflector or https://github.com/zakkg3/ClusterSecret + * Restarting workloads on certificate renewal can be done with https://github.com/stakater/Reloader or https://github.com/wave-k8s/wave + + +### 🧰 Bug fixes 🧰 + +- `collector-webhook`: Fixed validation of `stabilizationWindowSeconds` in autoscaler behaviour (#3345) + The validation of `stabilizationWindowSeconds` in the `autoscaler.behaviour.scale[Up|Down]` incorrectly rejected 0 as an invalid value. + This has been fixed to ensure that the value is validated correctly (should be >=0 and <=3600) and the error messsage has been updated to reflect this. + + +### Components + +* [OpenTelemetry Collector - v0.111.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.111.0) +* [OpenTelemetry Contrib - v0.111.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.111.0) +* [Java auto-instrumentation - v1.33.5](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.5) +* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0) +* [Node.JS - v0.52.1](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.52.1) +* [Python - v0.48b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.48b0) +* [Go - v0.14.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.14.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.110.0 ### 🛑 Breaking changes 🛑 diff --git a/README.md b/README.md index 97b4ed9049..282a8afb46 100644 --- a/README.md +++ b/README.md @@ -813,6 +813,7 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range, | OpenTelemetry Operator | Kubernetes | Cert-Manager | Prometheus-Operator | |------------------------|----------------| ------------ |---------------------| +| v0.111.0 | v1.23 to v1.31 | v1 | v0.76.0 | | v0.110.0 | v1.23 to v1.31 | v1 | v0.76.0 | | v0.109.0 | v1.23 to v1.31 | v1 | v0.76.0 | | v0.108.0 | v1.23 to v1.31 | v1 | v0.76.0 | @@ -836,7 +837,6 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range, | v0.90.0 | v1.23 to v1.28 | v1 | v0.69.1 | | v0.89.0 | v1.23 to v1.28 | v1 | v0.69.1 | | v0.88.0 | v1.23 to v1.28 | v1 | v0.68.0 | -| v0.87.0 | v1.23 to v1.28 | v1 | v0.68.0 | ## Contributing and Developing diff --git a/RELEASE.md b/RELEASE.md index 046a05c81c..97e6897eba 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -44,9 +44,9 @@ The operator should be released within a week after the [OpenTelemetry collector | Version | Release manager | |----------|-----------------| -| v0.111.0 | @frzifus | | v0.112.0 | @yuriolisa | | v0.113.0 | @pavolloffay | | v0.114.0 | @TylerHelmuth | | v0.115.0 | @jaronoff97 | -| v0.116.0 | @swiatekm | \ No newline at end of file +| v0.116.0 | @swiatekm | +| v0.117.0 | @frzifus | diff --git a/bundle/community/manifests/opentelemetry-operator.clusterserviceversion.yaml b/bundle/community/manifests/opentelemetry-operator.clusterserviceversion.yaml index e5b5bafdfc..e74ff3168e 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: "2024-10-10T15:31:51Z" + createdAt: "2024-10-13T20:50:18Z" 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.110.0 + name: opentelemetry-operator.v0.111.0 namespace: placeholder spec: apiservicedefinitions: {} @@ -481,7 +481,7 @@ spec: valueFrom: fieldRef: fieldPath: spec.serviceAccountName - image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.110.0 + image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.111.0 livenessProbe: httpGet: path: /healthz @@ -589,7 +589,7 @@ spec: minKubeVersion: 1.23.0 provider: name: OpenTelemetry Community - version: 0.110.0 + version: 0.111.0 webhookdefinitions: - admissionReviewVersions: - v1alpha1 diff --git a/bundle/openshift/manifests/opentelemetry-operator.clusterserviceversion.yaml b/bundle/openshift/manifests/opentelemetry-operator.clusterserviceversion.yaml index bcab54329b..c2df0cbdea 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: "2024-10-10T15:31:51Z" + createdAt: "2024-10-13T20:50:28Z" 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.110.0 + name: opentelemetry-operator.v0.111.0 namespace: placeholder spec: apiservicedefinitions: {} @@ -485,7 +485,7 @@ spec: valueFrom: fieldRef: fieldPath: spec.serviceAccountName - image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.110.0 + image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.111.0 livenessProbe: httpGet: path: /healthz @@ -593,7 +593,7 @@ spec: minKubeVersion: 1.23.0 provider: name: OpenTelemetry Community - version: 0.110.0 + version: 0.111.0 webhookdefinitions: - admissionReviewVersions: - v1alpha1 diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index 5c5f0b84cb..372a75ae43 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -1,2 +1,3 @@ resources: - manager.yaml + diff --git a/versions.txt b/versions.txt index 1cc74d1487..d473357aca 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.110.0 +opentelemetry-collector=0.111.0 # Represents the current release of the OpenTelemetry Operator. -operator=0.110.0 +operator=0.111.0 # Represents the current release of the Target Allocator. -targetallocator=0.110.0 +targetallocator=0.111.0 # Represents the current release of the Operator OpAMP Bridge. -operator-opamp-bridge=0.110.0 +operator-opamp-bridge=0.111.0 # Represents the current release of Java instrumentation. # Should match autoinstrumentation/java/version.txt @@ -30,7 +30,7 @@ autoinstrumentation-python=0.48b0 autoinstrumentation-dotnet=1.2.0 # Represents the current release of Go instrumentation. -autoinstrumentation-go=v0.14.0-alpha +autoinstrumentation-go=v0.15.0-alpha # Represents the current release of Apache HTTPD instrumentation. # Should match autoinstrumentation/apache-httpd/version.txt