Skip to content

Commit 8ffd6cb

Browse files
authored
Merge branch 'main' into TA-collector-mtls-e2e-tests
2 parents 1bcf8ef + 73b6f12 commit 8ffd6cb

File tree

237 files changed

+19661
-1618
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

237 files changed

+19661
-1618
lines changed

.chloggen/feat_drop-lease-on-exit.yaml

-16
This file was deleted.

.chloggen/fix-otelcol-crd.yaml

-18
This file was deleted.

.chloggen/implement-dnsconfig.yaml

-16
This file was deleted.

.chloggen/make-otelcol-mode-immutable.yaml

-16
This file was deleted.

.ci/create-release-github.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ gh release create \
1010
--notes-file ${NOTES_FILE} \
1111
--draft \
1212
"v${DESIRED_VERSION}" \
13-
'dist/opentelemetry-operator.yaml#Installation manifest for Kubernetes'
13+
'dist/opentelemetry-operator.yaml#Installation manifest for Kubernetes' \
14+
'dist/opentelemetry-operator-openshift.yaml#Installation manifest for OpenShift'

.github/workflows/e2e.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
path: bin
5858
key: ${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('Makefile') }}-${{ steps.setup-go.outputs.go-version }}
5959
- name: Install chainsaw
60-
uses: kyverno/[email protected].5
60+
uses: kyverno/[email protected].8
6161
- name: Install tools
6262
run: make install-tools
6363
- name: Prepare e2e tests

.github/workflows/publish-operator-bundle.yaml

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
paths:
66
- '.github/workflows/publish-operator-bundle.yaml'
7-
- 'bundle.Dockerfile'
87
- 'bundle/**'
98
branches:
109
- main
@@ -69,8 +68,8 @@ jobs:
6968
- name: Build and push Operator image
7069
uses: docker/build-push-action@v6
7170
with:
72-
context: .
73-
file: ./bundle.Dockerfile
71+
context: ./bundle/community/
72+
file: ./bundle/community/bundle.Dockerfile
7473
platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
7574
push: ${{ github.event_name != 'pull_request' }}
7675
tags: ${{ steps.docker_meta.outputs.tags }}

.github/workflows/publish-operator-hub.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ jobs:
99
with:
1010
org: redhat-openshift-ecosystem
1111
repo: community-operators-prod
12+
folder: openshift
1213
secrets:
1314
OPENTELEMETRYBOT_GITHUB_TOKEN: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }}
1415

@@ -17,5 +18,6 @@ jobs:
1718
with:
1819
org: k8s-operatorhub
1920
repo: community-operators
21+
folder: community
2022
secrets:
2123
OPENTELEMETRYBOT_GITHUB_TOKEN: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }}

.github/workflows/reusable-operator-hub-release.yaml

+4-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ on:
99
repo:
1010
type: string
1111
required: true
12+
folder:
13+
type: string
14+
required: true
1215
secrets:
1316
OPENTELEMETRYBOT_GITHUB_TOKEN:
1417
required: true
@@ -54,7 +57,7 @@ jobs:
5457
VERSION: ${{ env.version }}
5558
run: |
5659
mkdir operators/opentelemetry-operator/${VERSION}
57-
cp -R ./tmp/bundle/* operators/opentelemetry-operator/${VERSION}
60+
cp -R ./tmp/bundle/${{ inputs.folder }}/* operators/opentelemetry-operator/${VERSION}
5861
rm -rf ./tmp
5962
6063
- name: Use CLA approved github bot

CHANGELOG.md

+125
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,131 @@
22

33
<!-- next version -->
44

5+
## 0.107.0
6+
7+
### 💡 Enhancements 💡
8+
9+
- `instrumentation`: introduced ability to set Otel resource attributes based on annotations for instrumentation (#2181)
10+
11+
resource.opentelemetry.io/your-key: "your-value"
12+
13+
14+
### 🧰 Bug fixes 🧰
15+
16+
- `collector`: Fix example for labels-filter startup parameter --label. (#3201)
17+
18+
### Components
19+
20+
* [OpenTelemetry Collector - v0.107.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.107.0)
21+
* [OpenTelemetry Contrib - v0.107.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.107.0)
22+
* [Java auto-instrumentation - v1.33.5](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.5)
23+
* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0)
24+
* [Node.JS - v0.52.1](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.52.1)
25+
* [Python - v0.47b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.47b0)
26+
* [Go - v0.14.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.14.0-alpha)
27+
* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
28+
* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
29+
30+
## 0.106.0
31+
32+
### 🧰 Bug fixes 🧰
33+
34+
- `collector`: Fixes a bug where the operator would default the PDB in the wrong place. (#3198)
35+
- `operator`: The OpenShift dashboard shown namespaces where PodMonitors or ServiceMonitors were created even if they were not associated to OpenTelemetry Collectors. (#3196)
36+
Now, the dashboard lists only those namespaces where there are OpenTelemetry Collectors.
37+
- `operator`: When there were multiple OpenTelemetry Collector, the dashboard doesn't allow to select them individually. (#3189)
38+
- `target allocator`: Fix collector to target allocator connection in clusters with proxy. (#3187)
39+
On clusters with global proxy the collector might fail to talk to target allocator
40+
because the endpoint is set to `<ta-service-name>:port` and therefore it will go to proxy
41+
and request might be forwarded to internet. Clusters with proxy configure `NO_PROXY` to `.svc.cluster.local` so
42+
the calls to this endpoint will not go through the proxy.
43+
44+
45+
### Components
46+
47+
* [OpenTelemetry Collector - v0.106.1](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.106.1)
48+
* [OpenTelemetry Contrib - v0.106.1](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.106.1)
49+
* [Java auto-instrumentation - v1.33.5](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.5)
50+
* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0)
51+
* [Node.JS - v0.52.1](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.52.1)
52+
* [Python - v0.47b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.47b0)
53+
* [Go - v0.14.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.14.0-alpha)
54+
* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
55+
* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
56+
57+
## 0.105.0
58+
59+
### 💡 Enhancements 💡
60+
61+
- `collector`: Create automatically an OpenShift dashboard to visualize OpenTelemetry Collector metrics (#2995)
62+
To enable this feature, you need to specify the `--openshift-create-dashboard` argument to the operator
63+
- `bundle`: Create an specific bundle for OpenShift environments. (#3054)
64+
- `collector`: Enabling ipFamilies and ipFamilyPolicy to be configured via OpenTelemetryCollector (#2958)
65+
- `auto-instrumentation`: Add Prometheus exporter to Python auto-instrumentation (#3122)
66+
- `collector`: Configmap, rbac, service, serviceaccount apply annotations-filter. (#3151)
67+
68+
### 🧰 Bug fixes 🧰
69+
70+
- `collector`: Remove workaround for 0.104.0 that enabled feature-gate `confmap.unifyEnvVarExpansion` when Prometheus receiver was enabled. (#3142)
71+
- `opamp`: Fixes a bug where the collector was not being marshalled correctly by using a reference instead of a value. (#3171)
72+
- `auto-instrumentation`: Fixes a bug statefulSet wrong service.instance.id (#3157)
73+
74+
### Components
75+
76+
* [OpenTelemetry Collector - v0.105.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.105.0)
77+
* [OpenTelemetry Contrib - v0.105.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.105.0)
78+
* [Java auto-instrumentation - v1.33.5](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.5)
79+
* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0)
80+
* [Node.JS - v0.52.1](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.52.1)
81+
* [Python - v0.46b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.46b0)
82+
* [Go - v0.13.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.13.0-alpha)
83+
* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
84+
* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
85+
86+
## 0.104.0
87+
88+
### 🛑 Breaking changes 🛑
89+
90+
- `opamp`: Adds support for v1beta1 OpenTelemetry Collector API in the OpAMP Bridge (#2985)
91+
This change adds support for the OpAMP Bridge to manage and apply OpenTelemetry Collectors using the v1beta1 API in
92+
the OpAMP Bridge. This change removes support for applying OpenTelemetry Collectors using the v1alpha1 API version.
93+
The v1beta1 API is the latest version of the OpenTelemetry Collector API and is the recommended version for new
94+
deployments.
95+
96+
### 💡 Enhancements 💡
97+
98+
- `collector`: Since collector version `0.104.0` the collector listens on `localhost` instead of `0.0.0.0` by default ([collector#8510](https://github.com/open-telemetry/opentelemetry-collector/issues/8510)). To avoid breaking changes the `component.UseLocalHostAsDefaultHost` feature-gate is disabled by the Operator. (#3119)
99+
- `collector`: Changes the default parser to silently fail. (#3133)
100+
- `collector, target allocator`: If the target allocator is enabled, the collector featuregate `confmap.unifyEnvVarExpansion' is disabled. (#3119)
101+
- `operator`: Release leader election lease on exit (#3058)
102+
- `collector, target allocator, opamp`: Enabling PodDnsConfig for OpenTelemetry Collector, TargetAllocator and OpAMPBridge. (#2658)
103+
- `collector`: Make the `spec.mode` field of the `OpenTelemetryCollector` Custom Resource (CR) immutable (#3055)
104+
- `collector`: Improves the performance of port and configuration parsing in the operator (#2603)
105+
106+
### 🧰 Bug fixes 🧰
107+
108+
- `collector`: Fixes a bug where an exporter would cause a port collision (#3124)
109+
- `collector`: Fix deletion issue of `otelcol` CR by making `spec.config.service.pipelines.processors` optional (#3075)
110+
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.
111+
Note: Updating the `opentelemetrycollectors.opentelemetry.io` CRD resource is required.
112+
113+
- `collector`: Allow annotations on service account to prevent infinite reconciliation on OpenShift and creating infinite pull secrets. (#3106)
114+
On OpenShift 4.16 the platform automatically adds an annotation `openshift.io/internal-registry-pull-secret-ref: <simplest-collector-dockercfg-jwq66>`
115+
to the service account which contains secret name with image pull secret.
116+
117+
118+
### Components
119+
120+
* [OpenTelemetry Collector - v0.104.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.104.0)
121+
* [OpenTelemetry Contrib - v0.104.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.104.0)
122+
* [Java auto-instrumentation - v1.32.1](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.32.1)
123+
* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0)
124+
* [Node.JS - v0.52.1](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.52.1)
125+
* [Python - v0.46b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.46b0)
126+
* [Go - v0.13.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.13.0-alpha)
127+
* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
128+
* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
129+
5130
## 0.103.0
6131

7132
### 💡 Enhancements 💡

CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ When using OpenShift, the OLM is already installed.
199199

200200
### Create the bundle and related images
201201

202-
The following commands will generate a bundle under `bundle/`, build an image with its contents, build and publish the operator image.
202+
The following commands will generate two bundles (one for regular Kubernetes and another one for OpenShift) under `bundle/`, build an image with its contents, build and publish the operator image.
203203

204204
```bash
205205
BUNDLE_IMG=docker.io/${USER}/opentelemetry-operator-bundle:latest IMG=docker.io/${USER}/opentelemetry-operator:latest make bundle container container-push bundle-build bundle-push

0 commit comments

Comments
 (0)