Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare v0.110.0 release #3336

Merged
merged 1 commit into from
Oct 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 0 additions & 30 deletions .chloggen/3090-enable-multiinstrumentation-by-default.yaml

This file was deleted.

25 changes: 0 additions & 25 deletions .chloggen/3149-add-must-gather.yaml

This file was deleted.

18 changes: 0 additions & 18 deletions .chloggen/add_all_receiver_defaults.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions .chloggen/add_receiver_defaults.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions .chloggen/container-names.yaml

This file was deleted.

19 changes: 0 additions & 19 deletions .chloggen/fips.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions .chloggen/improve-probe-parsing.yaml

This file was deleted.

36 changes: 0 additions & 36 deletions .chloggen/remove_localhost_fg.yaml

This file was deleted.

24 changes: 0 additions & 24 deletions .chloggen/resource-attribute-from-annotations.yaml

This file was deleted.

109 changes: 109 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,115 @@

<!-- next version -->

## 0.110.0

### 🛑 Breaking changes 🛑

- `auto-instrumentation`: Enable multi instrumentation by default. (#3090)

Starting with this release, the OpenTelemetry Operator now enables multi-instrumentation by default.
This enhancement allows instrumentation of multiple containers in a pod with language-specific configurations.

Key Changes:
- Single Instrumentation (Default Behavior): If no container names are specified using the
`instrumentation.opentelemetry.io/container-names` annotation, instrumentation will be applied to the first container in
the pod spec by default. This only applies when single instrumentation injection is configured.
- Multi-Container Pods: In scenarios where different containers in a pod use distinct technologies, users must specify the
container(s) for instrumentation using language-specific annotations. Without this specification, the default behavior may
not work as expected for multi-container environments.

Compatibility:
- Users already utilizing the `instrumentation.opentelemetry.io/container-names` annotation do not need to take any action.
Their existing setup will continue to function as before.
- Important: Users who attempt to configure both `instrumentation.opentelemetry.io/container-names` and language-specific annotations
(for multi-instrumentation) simultaneously will encounter an error, as this configuration is not supported.

- `collector`: Remove ComponentUseLocalHostAsDefaultHost collector feature gate. (#3306)

This change may break setups where receiver endpoints are not explicitly configured to listen on e.g. 0.0.0.0.
Change \#3333 attempts to address this issue for a known set of components.
The operator performs the adjustment for the following receivers:
- otlp
- skywalking
- jaeger
- loki
- opencensus
- zipkin
- tcplog
- udplog
- fluentforward
- statsd
- awsxray/UDP
- carbon
- collectd
- sapm
- signalfx
- splunk_hec
- wavefront


### 💡 Enhancements 💡

- `auto-instrumentation, collector`: Add a must gather utility to help troubleshoot (#3149)

The new utility is available as part of a new container image.

To use the image in a running OpenShift cluster, you need to run the following command:

```sh
oc adm must-gather --image=ghcr.io/open-telemetry/opentelemetry-operator/must-gather -- /usr/bin/must-gather --operator-namespace opentelemetry-operator-system
```

See the [README](https://github.com/open-telemetry/opentelemetry-operator/blob/main/cmd/gather/README.md) for more details.

- `collector`: set default address for all parsed receivers (#3126)

This feature is enabled by default. It can be disabled by specifying
`--feature-gates=-operator.collector.default.config`.
- `operator`: Use 0.0.0.0 as otlp receiver default address (#3126)
- `collector`: Add flag to disable components when operator runs on FIPS enabled cluster. (#3315)
Flag `--fips-disabled-components=receiver.otlp,exporter.otlp,processor.batch,extension.oidc` can be used to disable
components when operator runs on FIPS enabled cluster. The operator uses `/proc/sys/crypto/fips_enabled` to check
if FIPS is enabled.

- `collector`: Improves healthcheck parsing capabilities, allowing for future extensions to configure a healthcheck other than the v1 healthcheck extension. (#3184)
- `auto-instrumentation`: Add support for k8s labels such as app.kubernetes.io/name for resource attributes (#3112)

You can opt-in as follows:
```yaml
apiVersion: opentelemetry.io/v1alpha1
kind: Instrumentation
metadata:
name: my-instrumentation
spec:
defaults:
useLabelsForResourceAttributes: true
```
The following labels are supported:
- `app.kubernetes.io/name` becomes `service.name`
- `app.kubernetes.io/version` becomes `service.version`
- `app.kubernetes.io/part-of` becomes `service.namespace`
- `app.kubernetes.io/instance` becomes `service.instance.id`


### 🧰 Bug fixes 🧰

- `auto-instrumentation`: Fix ApacheHttpd, Nginx and SDK injectors to honour their container-names annotations. (#3313)

This is a breaking change if anyone is accidentally using the enablement flag with container names for these 3 injectors.

### Components

* [OpenTelemetry Collector - v0.110.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.110.0)
* [OpenTelemetry Contrib - v0.110.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.110.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.109.0

### 🚩 Deprecations 🚩
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -813,6 +813,7 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,

| OpenTelemetry Operator | Kubernetes | Cert-Manager | Prometheus-Operator |
|------------------------|----------------| ------------ |---------------------|
| 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 |
| v0.107.0 | v1.23 to v1.30 | v1 | v0.75.0 |
Expand All @@ -836,7 +837,6 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,
| 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 |
| v0.86.0 | v1.23 to v1.28 | v1 | v0.68.0 |

## Contributing and Developing

Expand Down
4 changes: 2 additions & 2 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ The operator should be released within a week after the [OpenTelemetry collector

| Version | Release manager |
|----------|-----------------|
| v0.110.0 | @swiatekm |
| v0.111.0 | @frzifus |
| v0.112.0 | @yuriolisa |
| v0.113.0 | @pavolloffay |
| v0.114.0 | @TylerHelmuth |
| v0.115.0 | @jaronoff97 |
| v0.115.0 | @jaronoff97 |
| v0.116.0 | @swiatekm |
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,13 @@ metadata:
categories: Logging & Tracing,Monitoring
certified: "false"
containerImage: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator
createdAt: "2024-09-19T17:15:52Z"
createdAt: "2024-10-08T09:52:53Z"
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.109.0
name: opentelemetry-operator.v0.110.0
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -479,7 +479,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: spec.serviceAccountName
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.109.0
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.110.0
livenessProbe:
httpGet:
path: /healthz
Expand Down Expand Up @@ -587,7 +587,7 @@ spec:
minKubeVersion: 1.23.0
provider:
name: OpenTelemetry Community
version: 0.109.0
version: 0.110.0
webhookdefinitions:
- admissionReviewVersions:
- v1alpha1
Expand Down
Loading
Loading