Skip to content

Commit 25abe1f

Browse files
committed
Merge branch 'main' into Docker_image_for_PHP
2 parents aa9f1c2 + cdff25a commit 25abe1f

File tree

112 files changed

+2597
-354
lines changed

Some content is hidden

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

112 files changed

+2597
-354
lines changed

.chloggen/2779-kubeletstatsreiver-inject-en-vars.yaml .chloggen/3427.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ change_type: enhancement
55
component: collector
66

77
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8-
note: Inject environment K8S_NODE_NAME environment variable for the Kubelet Stats Receiver.
8+
note: Create RBAC rules for the k8s_cluster receiver automatically.
99

1010
# One or more tracking issues related to the change
11-
issues: [2779]
11+
issues: [3427]
1212

1313
# (Optional) One or more lines of additional information to render under the primary note.
1414
# These lines will be padded with 2 spaces and then inserted directly into the document.

.chloggen/scrape-config-probe.yaml .chloggen/3429.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
change_type: enhancement
33

44
# 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
5+
component: collector
66

77
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8-
note: enables support for pulling scrape config and probe CRDs in the target allocator
8+
note: Create RBAC rules for the k8sobjects receiver automatically.
99

1010
# One or more tracking issues related to the change
11-
issues: [1842]
11+
issues: [3429]
1212

1313
# (Optional) One or more lines of additional information to render under the primary note.
1414
# These lines will be padded with 2 spaces and then inserted directly into the document.

.chloggen/3432.yaml

+16
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: collector
6+
7+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8+
note: Add a warning message when one created collector needs extra RBAC permissions and the service account doesn't have them.
9+
10+
# One or more tracking issues related to the change
11+
issues: [3432]
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:

.chloggen/3446.yaml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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: operator
6+
7+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8+
note: Operator pod crashed if the Service Monitor for the operator metrics was created before by another operator pod.
9+
10+
# One or more tracking issues related to the change
11+
issues: [3446]
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: |
17+
Operator fails when the pod is restarted and the Service Monitor for operator metrics was already created by another operator pod.
18+
To fix this, the operator now sets the owner reference on the Service Monitor to itself and checks if the Service Monitor already exists.
19+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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: Added allocation_fallback_strategy option as fallback strategy for per-node allocation strategy, can be enabled with feature flag operator.targetallocator.fallbackstrategy
9+
10+
# One or more tracking issues related to the change
11+
issues: [3477]
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: |
17+
If using per-node allocation strategy, targets that are not attached to a node will not
18+
be allocated. As the per-node strategy is required when running as a daemonset, it is
19+
not possible to assign some targets under a daemonset deployment.
20+
Feature flag operator.targetallocator.fallbackstrategy has been added and results in consistent-hashing
21+
being used as the fallback allocation strategy for "per-node" only at this time.

.chloggen/issue-3412-support-http-protocol.yaml .chloggen/auto_instr_node_up.yaml

+6-3
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@ change_type: enhancement
55
component: auto-instrumentation
66

77
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8-
note: Support `http/json` and `http/protobuf` via OTEL_EXPORTER_OTLP_PROTOCOL environment variable in addition to default `grpc` for exporting traces
8+
note: updated node auto-instrumentation dependencies to the latest version
99

1010
# One or more tracking issues related to the change
11-
issues: [3412]
11+
issues: [3476]
1212

1313
# (Optional) One or more lines of additional information to render under the primary note.
1414
# These lines will be padded with 2 spaces and then inserted directly into the document.
1515
# Use pipe (|) for multiline entries.
16-
subtext:
16+
subtext: |
17+
auto-instrumentations-node to 0.53.0
18+
exporter-metrics-otlp-grpc to 0.55.0
19+
exporter-prometheus to 0.55.0

.chloggen/3332-musl-python-autoinstrumentation.yaml .chloggen/bump-base-instrumentation-mem-limit.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2-
change_type: enhancement
2+
change_type: bug_fix
33

44
# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
55
component: auto-instrumentation
66

77
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8-
note: add config for installing musl based auto-instrumentation for Python
8+
note: Bump base memory requirements for python and go
99

1010
# One or more tracking issues related to the change
11-
issues: [2264]
11+
issues: [3479]
1212

1313
# (Optional) One or more lines of additional information to render under the primary note.
1414
# These lines will be padded with 2 spaces and then inserted directly into the document.

.chloggen/2947-updating-ds-sf-depl-mutation.yaml .chloggen/chore_change-kube-rbac-proxy-image-registry.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2-
change_type: bug_fix
2+
change_type: enhancement
33

44
# 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: collector
5+
component: operator
66

77
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8-
note: "Fix mutation of deployments, statefulsets, and daemonsets allowing to remove fields on update"
8+
note: Replace references to gcr.io/kubebuilder/kube-rbac-proxy with quay.io/brancz/kube-rbac-proxy
99

1010
# One or more tracking issues related to the change
11-
issues: [2947]
11+
issues: [3485]
1212

1313
# (Optional) One or more lines of additional information to render under the primary note.
1414
# These lines will be padded with 2 spaces and then inserted directly into the document.

.github/workflows/continuous-integration.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@ jobs:
6262
with:
6363
path: |
6464
/home/runner/.cache/golangci-lint
65-
/home/runner/go/pkg/mod
66-
./bin
6765
key: golangcilint-${{ hashFiles('**/go.sum') }}
6866
restore-keys: |
6967
golangcilint-

.github/workflows/publish-autoinstrumentation-nodejs.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- uses: actions/checkout@v4
2727

2828
- name: Read version
29-
run: echo VERSION=$(cat autoinstrumentation/nodejs/package.json | jq -r '.dependencies."@opentelemetry/sdk-node"') >> $GITHUB_ENV
29+
run: echo VERSION=$(cat autoinstrumentation/nodejs/package.json | jq -r '.dependencies."@opentelemetry/auto-instrumentations-node"') >> $GITHUB_ENV
3030

3131
- name: Docker meta
3232
id: meta

CHANGELOG.md

+30
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,36 @@
22

33
<!-- next version -->
44

5+
## 0.113.0
6+
7+
### 💡 Enhancements 💡
8+
9+
- `operator`: Programmatically create the `ServiceMonitor` for the operator metrics endpoint, ensuring correct namespace handling and dynamic configuration. (#3370)
10+
Previously, the `ServiceMonitor` was created statically from a manifest file, causing failures when the
11+
operator was deployed in a non-default namespace. This enhancement ensures automatic adjustment of the
12+
`serverName` and seamless metrics scraping.
13+
- `collector`: Create RBAC rules for the k8s_events receiver automatically. (#3420)
14+
- `collector`: Inject environment K8S_NODE_NAME environment variable for the Kubelet Stats Receiver. (#2779)
15+
- `auto-instrumentation`: add config for installing musl based auto-instrumentation for Python (#2264)
16+
- `auto-instrumentation`: Support `http/json` and `http/protobuf` via OTEL_EXPORTER_OTLP_PROTOCOL environment variable in addition to default `grpc` for exporting traces (#3412)
17+
- `target allocator`: enables support for pulling scrape config and probe CRDs in the target allocator (#1842)
18+
19+
### 🧰 Bug fixes 🧰
20+
21+
- `collector`: Fix mutation of deployments, statefulsets, and daemonsets allowing to remove fields on update (#2947)
22+
23+
### Components
24+
25+
* [OpenTelemetry Collector - v0.113.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.113.0)
26+
* [OpenTelemetry Contrib - v0.113.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.113.0)
27+
* [Java auto-instrumentation - v1.33.5](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.5)
28+
* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0)
29+
* [Node.JS - v0.53.0](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.53.0)
30+
* [Python - v0.48b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.48b0)
31+
* [Go - v0.17.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.17.0-alpha)
32+
* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
33+
* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
34+
535
## 0.112.0
636

737
### 💡 Enhancements 💡

Makefile

+10-1
Original file line numberDiff line numberDiff line change
@@ -206,12 +206,21 @@ add-rbac-permissions-to-operator: manifests kustomize
206206
# This folder is ignored by .gitignore
207207
mkdir -p config/rbac/extra-permissions-operator
208208
cp -r tests/e2e-automatic-rbac/extra-permissions-operator/* config/rbac/extra-permissions-operator
209+
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/clusterresourcequotas.yaml
210+
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/cronjobs.yaml
211+
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/daemonsets.yaml
212+
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/events.yaml
213+
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/extensions.yaml
209214
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/namespaces.yaml
215+
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/namespaces-status.yaml
210216
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/nodes.yaml
211-
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/nodes-stats.yaml
212217
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/nodes-proxy.yaml
218+
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/nodes-spec.yaml
219+
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/pod-status.yaml
213220
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/rbac.yaml
214221
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/replicaset.yaml
222+
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/replicationcontrollers.yaml
223+
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/resourcequotas.yaml
215224

216225
.PHONY: enable-targetallocator-cr
217226
enable-targetallocator-cr:

RELEASE.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ The operator should be released within a week after the [OpenTelemetry collector
4444

4545
| Version | Release manager |
4646
|----------|-----------------|
47-
| v0.113.0 | @pavolloffay |
4847
| v0.114.0 | @TylerHelmuth |
4948
| v0.115.0 | @jaronoff97 |
5049
| v0.116.0 | @swiatekm |
5150
| v0.117.0 | @iblancasa |
5251
| v0.118.0 | @frzifus |
53-
| v0.119.0 | @yuriolisa |
52+
| v0.119.0 | @yuriolisa |
53+
| v0.120.0 | @pavolloffay |

apis/v1alpha1/instrumentation_webhook.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,13 @@ func (w InstrumentationWebhook) defaulter(r *Instrumentation) error {
128128
if r.Spec.Python.Resources.Limits == nil {
129129
r.Spec.Python.Resources.Limits = corev1.ResourceList{
130130
corev1.ResourceCPU: resource.MustParse("500m"),
131-
corev1.ResourceMemory: resource.MustParse("32Mi"),
131+
corev1.ResourceMemory: resource.MustParse("64Mi"),
132132
}
133133
}
134134
if r.Spec.Python.Resources.Requests == nil {
135135
r.Spec.Python.Resources.Requests = corev1.ResourceList{
136136
corev1.ResourceCPU: resource.MustParse("50m"),
137-
corev1.ResourceMemory: resource.MustParse("32Mi"),
137+
corev1.ResourceMemory: resource.MustParse("64Mi"),
138138
}
139139
}
140140
if r.Spec.DotNet.Image == "" {
@@ -158,13 +158,13 @@ func (w InstrumentationWebhook) defaulter(r *Instrumentation) error {
158158
if r.Spec.Go.Resources.Limits == nil {
159159
r.Spec.Go.Resources.Limits = corev1.ResourceList{
160160
corev1.ResourceCPU: resource.MustParse("500m"),
161-
corev1.ResourceMemory: resource.MustParse("32Mi"),
161+
corev1.ResourceMemory: resource.MustParse("64Mi"),
162162
}
163163
}
164164
if r.Spec.Go.Resources.Requests == nil {
165165
r.Spec.Go.Resources.Requests = corev1.ResourceList{
166166
corev1.ResourceCPU: resource.MustParse("50m"),
167-
corev1.ResourceMemory: resource.MustParse("32Mi"),
167+
corev1.ResourceMemory: resource.MustParse("64Mi"),
168168
}
169169
}
170170
if r.Spec.ApacheHttpd.Image == "" {
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.8.0
1+
1.9.0

autoinstrumentation/java/version.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.9.0
1+
2.10.0

autoinstrumentation/nodejs/package.json

+3-12
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,8 @@
1414
"typescript": "^5.6.3"
1515
},
1616
"dependencies": {
17-
"@opentelemetry/api": "1.9.0",
18-
"@opentelemetry/auto-instrumentations-node": "0.52.0",
19-
"@opentelemetry/exporter-metrics-otlp-grpc": "0.54.0",
20-
"@opentelemetry/exporter-prometheus": "0.54.0",
21-
"@opentelemetry/exporter-trace-otlp-grpc": "0.54.0",
22-
"@opentelemetry/resource-detector-alibaba-cloud": "0.29.4",
23-
"@opentelemetry/resource-detector-aws": "1.7.0",
24-
"@opentelemetry/resource-detector-container": "0.5.0",
25-
"@opentelemetry/resource-detector-gcp": "0.29.13",
26-
"@opentelemetry/resources": "1.27.0",
27-
"@opentelemetry/sdk-metrics": "1.27.0",
28-
"@opentelemetry/sdk-node": "0.54.0"
17+
"@opentelemetry/exporter-metrics-otlp-grpc": "0.55.0",
18+
"@opentelemetry/auto-instrumentations-node": "0.53.0",
19+
"@opentelemetry/exporter-prometheus": "0.55.0"
2920
}
3021
}

bundle/community/manifests/opentelemetry-operator.clusterserviceversion.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,13 @@ metadata:
9999
categories: Logging & Tracing,Monitoring
100100
certified: "false"
101101
containerImage: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator
102-
createdAt: "2024-10-30T17:23:26Z"
102+
createdAt: "2024-11-08T09:36:39Z"
103103
description: Provides the OpenTelemetry components, including the Collector
104104
operators.operatorframework.io/builder: operator-sdk-v1.29.0
105105
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
106106
repository: github.com/open-telemetry/opentelemetry-operator
107107
support: OpenTelemetry Community
108-
name: opentelemetry-operator.v0.112.0
108+
name: opentelemetry-operator.v0.113.0
109109
namespace: placeholder
110110
spec:
111111
apiservicedefinitions: {}
@@ -483,7 +483,7 @@ spec:
483483
valueFrom:
484484
fieldRef:
485485
fieldPath: spec.serviceAccountName
486-
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.112.0
486+
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.113.0
487487
livenessProbe:
488488
httpGet:
489489
path: /healthz
@@ -514,7 +514,7 @@ spec:
514514
- --upstream=http://127.0.0.1:8080/
515515
- --logtostderr=true
516516
- --v=0
517-
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1
517+
image: quay.io/brancz/kube-rbac-proxy:v0.13.1
518518
name: kube-rbac-proxy
519519
ports:
520520
- containerPort: 8443
@@ -591,7 +591,7 @@ spec:
591591
minKubeVersion: 1.23.0
592592
provider:
593593
name: OpenTelemetry Community
594-
version: 0.112.0
594+
version: 0.113.0
595595
webhookdefinitions:
596596
- admissionReviewVersions:
597597
- v1alpha1

bundle/openshift/manifests/opentelemetry-operator-controller-manager-metrics-service_v1_service.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
apiVersion: v1
22
kind: Service
33
metadata:
4+
annotations:
5+
service.beta.openshift.io/serving-cert-secret-name: opentelemetry-operator-metrics
46
creationTimestamp: null
57
labels:
68
app.kubernetes.io/name: opentelemetry-operator
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
apiVersion: monitoring.coreos.com/v1
2+
kind: PrometheusRule
3+
metadata:
4+
labels:
5+
app.kubernetes.io/managed-by: operator-lifecycle-manager
6+
app.kubernetes.io/name: opentelemetry-operator
7+
app.kubernetes.io/part-of: opentelemetry-operator
8+
name: opentelemetry-operator-prometheus-rules
9+
spec:
10+
groups:
11+
- name: opentelemetry-operator-monitoring.rules
12+
rules:
13+
- expr: sum by (type) (opentelemetry_collector_receivers)
14+
record: type:opentelemetry_collector_receivers:sum
15+
- expr: sum by (type) (opentelemetry_collector_exporters)
16+
record: type:opentelemetry_collector_exporters:sum
17+
- expr: sum by (type) (opentelemetry_collector_processors)
18+
record: type:opentelemetry_collector_processors:sum
19+
- expr: sum by (type) (opentelemetry_collector_extensions)
20+
record: type:opentelemetry_collector_extensions:sum
21+
- expr: sum by (type) (opentelemetry_collector_connectors)
22+
record: type:opentelemetry_collector_connectors:sum
23+
- expr: sum by (type) (opentelemetry_collector_info)
24+
record: type:opentelemetry_collector_info:sum
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
name: opentelemetry-operator-prometheus
5+
rules:
6+
- apiGroups:
7+
- ""
8+
resources:
9+
- services
10+
- endpoints
11+
- pods
12+
verbs:
13+
- get
14+
- list
15+
- watch

0 commit comments

Comments
 (0)