Skip to content

Commit

Permalink
Prepare v0.110.0 release (#3336)
Browse files Browse the repository at this point in the history
  • Loading branch information
swiatekm authored Oct 9, 2024
1 parent 9f1eb13 commit 65b40cb
Show file tree
Hide file tree
Showing 15 changed files with 124 additions and 215 deletions.
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

0 comments on commit 65b40cb

Please sign in to comment.