Skip to content

Commit

Permalink
Prepare release 0.104.0
Browse files Browse the repository at this point in the history
Signed-off-by: Benedikt Bongartz <[email protected]>
  • Loading branch information
frzifus committed Jul 11, 2024
1 parent 0cafedf commit a4b6da4
Show file tree
Hide file tree
Showing 16 changed files with 324 additions and 132 deletions.
16 changes: 0 additions & 16 deletions .chloggen/feat_drop-lease-on-exit.yaml

This file was deleted.

18 changes: 0 additions & 18 deletions .chloggen/fix-otelcol-crd.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions .chloggen/implement-dnsconfig.yaml

This file was deleted.

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

This file was deleted.

16 changes: 0 additions & 16 deletions .chloggen/make-otelcol-mode-immutable.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions .chloggen/migrate-to-use.yaml

This file was deleted.

20 changes: 0 additions & 20 deletions .chloggen/opamp-bridge-v1beta1-support.yaml

This file was deleted.

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

<!-- next version -->

## 0.104.0

### 🛑 Breaking changes 🛑

- `opamp`: Adds support for v1beta1 OpenTelemetry Collector API in the OpAMP Bridge (#2985)
This change adds support for the OpAMP Bridge to manage and apply OpenTelemetry Collectors using the v1beta1 API in
the OpAMP Bridge. This change removes support for applying OpenTelemetry Collectors using the v1alpha1 API version.
The v1beta1 API is the latest version of the OpenTelemetry Collector API and is the recommended version for new
deployments.

### 💡 Enhancements 💡

- `operator`: Release leader election lease on exit (#3058)
- `collector, target allocator, opamp`: Enabling PodDnsConfig for OpenTelemetry Collector, TargetAllocator and OpAMPBridge. (#2658)
- `collector`: Make the `spec.mode` field of the `OpenTelemetryCollector` Custom Resource (CR) immutable (#3055)
- `collector`: Improves the performance of port and configuration parsing in the operator (#2603)

### 🧰 Bug fixes 🧰

- `collector`: Fix deletion issue of `otelcol` CR by making `spec.config.service.pipelines.processors` optional (#3075)
This change makes `spec.config.service.pipelines.processors` in `OpenTelemetryCollector` CRD optional, aligning with OTel Collector best practices. It resolves deletion issues by providing flexibility in CRD configuration, addressing conflicts between strict validation and practical uses.
Note: Updating the `opentelemetrycollectors.opentelemetry.io` CRD resource is required.

- `collector`: Allow annotations on service account to prevent infinite reconciliation on OpenShift and creating infinite pull secrets. (#3106)
On OpenShift 4.16 the platform automatically adds an annotation `openshift.io/internal-registry-pull-secret-ref: <simplest-collector-dockercfg-jwq66>`
to the service account which contains secret name with image pull secret.


### Components

* [OpenTelemetry Collector - v0.104.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.104.0)
* [OpenTelemetry Contrib - v0.104.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.104.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/v1.2.0)
* [Node.JS - v0.52.1](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.52.1)
* [Python - v0.46b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.46b0)
* [Go - v0.13.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.13.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.103.0

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

| OpenTelemetry Operator | Kubernetes | Cert-Manager | Prometheus-Operator |
|------------------------|----------------| ------------ |---------------------|
| v0.104.0 | v1.23 to v1.30 | v1 | v0.74.0 |
| v0.103.0 | v1.23 to v1.30 | v1 | v0.74.0 |
| v0.102.0 | v1.23 to v1.30 | v1 | v0.71.2 |
| v0.101.0 | v1.23 to v1.30 | v1 | v0.71.2 |
Expand All @@ -759,7 +760,6 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,
| v0.84.0 | v1.19 to v1.28 | v1 | v0.67.1 |
| v0.83.0 | v1.19 to v1.27 | v1 | v0.67.1 |
| v0.82.0 | v1.19 to v1.27 | v1 | v0.67.1 |
| v0.81.0 | v1.19 to v1.27 | v1 | v0.66.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.104.0 | @frzifus |
| v0.105.0 | @pavolloffay |
| v0.106.0 | @yuriolisa |
| v0.107.0 | @TylerHelmuth |
| v0.108.0 | @jaronoff97 |
| v0.109.0 | @swiatekm |
| v0.109.0 | @swiatekm |
| v0.110.0 | @frzifus |
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-07-03T13:39:45Z"
createdAt: "2024-07-10T09:05:22Z"
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.103.0
name: opentelemetry-operator.v0.104.0
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -504,7 +504,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: spec.serviceAccountName
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.103.0
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.104.0
livenessProbe:
httpGet:
path: /healthz
Expand Down Expand Up @@ -612,7 +612,7 @@ spec:
minKubeVersion: 1.23.0
provider:
name: OpenTelemetry Community
version: 0.103.0
version: 0.104.0
webhookdefinitions:
- admissionReviewVersions:
- v1alpha1
Expand Down
1 change: 1 addition & 0 deletions config/manager/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
resources:
- manager.yaml

86 changes: 86 additions & 0 deletions pkg/collector/upgrade/v0_104_0.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
// Copyright The OpenTelemetry Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package upgrade

import (
"fmt"
"strings"

"github.com/open-telemetry/opentelemetry-operator/apis/v1beta1"
)

func upgrade0_104_0(u VersionUpgrade, otelcol *v1beta1.OpenTelemetryCollector) (*v1beta1.OpenTelemetryCollector, error) {
for key, rc := range otelcol.Spec.Config.Receivers.Object {
// check if otel is configured
if !strings.HasPrefix(key, "otlp") {
continue
}

cfg, ok := rc.(*v1beta1.AnyConfig)
if !ok {
continue
}

protocols, ok := cfg.Object["protocols"].(*v1beta1.AnyConfig)
if !ok {
continue
}

g, ok := protocols.Object["grpc"].(*v1beta1.AnyConfig)
if ok {
var got string
endpoint, okk := g.Object["endpoint"]
if okk {
got, okk = endpoint.(string)
if !okk {
return nil, fmt.Errorf("specified otlp endpoint is not a string value")
}
}
if got == "" {
if g.Object == nil {
g.Object = make(map[string]interface{})
}
g.Object["endpoint"] = "0.0.0.0:4317"
}
}

h, ok := protocols.Object["http"].(*v1beta1.AnyConfig)
if ok {
var got string
endpoint, okk := h.Object["endpoint"]
if okk {
got, okk = endpoint.(string)
if !okk {
return nil, fmt.Errorf("specified otlp endpoint is not a string value")
}
}
if got == "" {
if h.Object == nil {
h.Object = make(map[string]interface{})
}
h.Object["endpoint"] = "0.0.0.0:4318"
}
}

const issueID = "https://github.com/open-telemetry/opentelemetry-collector/issues/8510"
warnStr := fmt.Sprintf(
"otlp receivers is no longer listen on 0.0.0.0 as default configuration. "+
"The new default is localhost. Please revisit your configuration. See: %s",
issueID,
)
u.Recorder.Event(otelcol, "Warning", "Upgrade", warnStr)
}
return otelcol, nil
}
Loading

0 comments on commit a4b6da4

Please sign in to comment.