Skip to content

Commit c813090

Browse files
committed
Merge branch 'main' of github.com:jaronoff97/opentelemetry-operator into fix-managed-by-gross
2 parents 74cf1e1 + 7d59d65 commit c813090

File tree

374 files changed

+21835
-2117
lines changed

Some content is hidden

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

374 files changed

+21835
-2117
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2+
change_type: 'bug_fix'
3+
4+
# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
5+
component: auto-instrumentation
6+
7+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8+
note: "Fix file copy for NGINX auto-instrumentation for non-root workloads."
9+
10+
# One or more tracking issues related to the change
11+
issues: [2726]
12+
13+
# (Optional) One or more lines of additional information to render under the primary note.
14+
# These lines will be padded with 2 spaces and then inserted directly into the document.
15+
# Use pipe (|) for multiline entries.
16+
subtext:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2+
change_type: enhancement
3+
4+
# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
5+
component: auto-instrumentation
6+
7+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8+
note: set OTEL_EXPORTER_OTLP_PROTOCOL instead of signal specific env vars in python instrumentation
9+
10+
# One or more tracking issues related to the change
11+
issues: [3165]
12+
13+
# (Optional) One or more lines of additional information to render under the primary note.
14+
# These lines will be padded with 2 spaces and then inserted directly into the document.
15+
# Use pipe (|) for multiline entries.
16+
subtext:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2+
change_type: enhancement
3+
4+
# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
5+
component: target allocator
6+
7+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8+
note: introduces the global field in the TA config to allow for setting scrape protocols
9+
10+
# One or more tracking issues related to the change
11+
issues: [3160]
12+
13+
# (Optional) One or more lines of additional information to render under the primary note.
14+
# These lines will be padded with 2 spaces and then inserted directly into the document.
15+
# Use pipe (|) for multiline entries.
16+
subtext:

.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].4
60+
uses: kyverno/[email protected].8
6161
- name: Install tools
6262
run: make install-tools
6363
- name: Prepare e2e tests

.github/workflows/publish-autoinstrumentation-e2e-images.yaml

-50
This file was deleted.

.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 }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: "Publish Test E2E images"
2+
3+
on:
4+
push:
5+
paths:
6+
- 'tests/test-e2e-apps/**'
7+
- '.github/workflows/publish-test-e2e-images.yaml'
8+
branches:
9+
- main
10+
pull_request:
11+
paths:
12+
- 'tests/test-e2e-apps/**'
13+
- '.github/workflows/publish-test-e2e-images.yaml'
14+
workflow_dispatch:
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
18+
cancel-in-progress: true
19+
20+
jobs:
21+
bridge-server:
22+
uses: ./.github/workflows/reusable-publish-test-e2e-images.yaml
23+
with:
24+
path: bridge-server
25+
platforms: linux/arm64,linux/amd64,linux/s390x,linux/ppc64le
26+
golang:
27+
uses: ./.github/workflows/reusable-publish-test-e2e-images.yaml
28+
with:
29+
path: golang
30+
platforms: linux/arm64,linux/amd64,linux/s390x,linux/ppc64le
31+
python:
32+
uses: ./.github/workflows/reusable-publish-test-e2e-images.yaml
33+
with:
34+
path: python
35+
platforms: linux/arm64,linux/amd64,linux/s390x,linux/ppc64le
36+
java:
37+
uses: ./.github/workflows/reusable-publish-test-e2e-images.yaml
38+
with:
39+
path: java
40+
platforms: linux/arm64,linux/amd64,linux/s390x,linux/ppc64le
41+
apache-httpd:
42+
uses: ./.github/workflows/reusable-publish-test-e2e-images.yaml
43+
with:
44+
path: apache-httpd
45+
platforms: linux/arm64,linux/amd64,linux/s390x,linux/ppc64le
46+
dotnet:
47+
uses: ./.github/workflows/reusable-publish-test-e2e-images.yaml
48+
with:
49+
path: dotnet
50+
platforms: linux/arm64,linux/amd64
51+
nodejs:
52+
uses: ./.github/workflows/reusable-publish-test-e2e-images.yaml
53+
with:
54+
path: nodejs
55+
platforms: linux/arm64,linux/amd64,linux/s390x,linux/ppc64le

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

+5-2
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
@@ -70,7 +73,7 @@ jobs:
7073
message="Update the opentelemetry to $VERSION"
7174
body="Release opentelemetry-operator \`$VERSION\`.
7275
73-
cc @pavolloffay @frzifus @yuriolisa @jaronoff97 @TylerHelmuth @swiatekm-sumo
76+
cc @pavolloffay @frzifus @yuriolisa @jaronoff97 @TylerHelmuth @swiatekm
7477
"
7578
branch="update-opentelemetry-operator-to-${VERSION}"
7679

.github/workflows/reusable-publish-autoinstrumentation-e2e-images.yaml .github/workflows/reusable-publish-test-e2e-images.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Reusable - Publish autoinstrumentation E2E images
33
on:
44
workflow_call:
55
inputs:
6-
language:
6+
path:
77
type: string
88
required: true
99
platforms:
@@ -22,7 +22,7 @@ jobs:
2222
uses: docker/metadata-action@v5
2323
with:
2424
images: |
25-
ghcr.io/open-telemetry/opentelemetry-operator/e2e-test-app-${{ inputs.language }}
25+
ghcr.io/open-telemetry/opentelemetry-operator/e2e-test-app-${{ inputs.path }}
2626
tags: |
2727
type=ref,event=branch
2828
@@ -51,7 +51,7 @@ jobs:
5151
uses: docker/build-push-action@v6
5252
with:
5353
tags: ${{ steps.meta.outputs.tags }}
54-
context: tests/instrumentation-e2e-apps/${{ inputs.language }}
54+
context: tests/test-e2e-apps/${{ inputs.path }}
5555
platforms: ${{ inputs.platforms }}
5656
push: ${{ github.event_name == 'push' }}
5757
cache-from: type=local,src=/tmp/.buildx-cache

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 💡

0 commit comments

Comments
 (0)