Skip to content

Commit 807c87f

Browse files
author
Israel Blancas
committed
Merge branch 'main' of github.com:open-telemetry/opentelemetry-operator into 3078
2 parents 6cc697e + bc34078 commit 807c87f

File tree

58 files changed

+1777
-148
lines changed

Some content is hidden

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

58 files changed

+1777
-148
lines changed

.chloggen/3446.yaml renamed to .chloggen/fix-prometheus-rule-file.yaml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,15 @@
22
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)
5-
component: operator
5+
component: 'github action'
66

77
# 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.
8+
note: Add new line character at the end of PrometheusRule file.
99

1010
# One or more tracking issues related to the change
11-
issues: [3446]
11+
issues: [3503]
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: |
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-
16+
subtext:

.chloggen/3429.yaml renamed to .chloggen/service-extension.yaml

Lines changed: 2 additions & 2 deletions
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: Create RBAC rules for the k8sobjects receiver automatically.
8+
note: support for creating a service for extensions when ports are specified.
99

1010
# One or more tracking issues related to the change
11-
issues: [3429]
11+
issues: [3460]
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/publish-autoinstrumentation-nodejs.yaml

Lines changed: 1 addition & 1 deletion
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

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,50 @@
22

33
<!-- next version -->
44

5+
## 0.114.0
6+
7+
### 💡 Enhancements 💡
8+
9+
- `collector`: Create RBAC rules for the k8s_cluster receiver automatically. (#3427)
10+
- `collector`: Create RBAC rules for the k8sobjects receiver automatically. (#3429)
11+
- `collector`: Add a warning message when one created collector needs extra RBAC permissions and the service account doesn't have them. (#3432)
12+
- `target allocator`: Added allocation_fallback_strategy option as fallback strategy for per-node allocation strategy, can be enabled with feature flag operator.targetallocator.fallbackstrategy (#3477)
13+
14+
If using per-node allocation strategy, targets that are not attached to a node will not
15+
be allocated. As the per-node strategy is required when running as a daemonset, it is
16+
not possible to assign some targets under a daemonset deployment.
17+
Feature flag operator.targetallocator.fallbackstrategy has been added and results in consistent-hashing
18+
being used as the fallback allocation strategy for "per-node" only at this time.
19+
20+
- `auto-instrumentation`: updated node auto-instrumentation dependencies to the latest version (#3476)
21+
22+
- auto-instrumentations-node to 0.53.0
23+
- exporter-metrics-otlp-grpc to 0.55.0
24+
- exporter-prometheus to 0.55.0
25+
26+
- `operator`: Replace references to gcr.io/kubebuilder/kube-rbac-proxy with quay.io/brancz/kube-rbac-proxy (#3485)
27+
28+
### 🧰 Bug fixes 🧰
29+
30+
- `operator`: Operator pod crashed if the Service Monitor for the operator metrics was created before by another operator pod. (#3446)
31+
32+
Operator fails when the pod is restarted and the Service Monitor for operator metrics was already created by another operator pod.
33+
To fix this, the operator now sets the owner reference on the Service Monitor to itself and checks if the Service Monitor already exists.
34+
35+
- `auto-instrumentation`: Bump base memory requirements for python and go (#3479)
36+
37+
### Components
38+
39+
* [OpenTelemetry Collector - v0.114.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.114.0)
40+
* [OpenTelemetry Contrib - v0.114.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.114.0)
41+
* [Java auto-instrumentation - v1.33.5](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.5)
42+
* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0)
43+
* [Node.JS - v0.53.0](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.53.0)
44+
* [Python - v0.48b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.48b0)
45+
* [Go - v0.17.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.17.0-alpha)
46+
* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
47+
* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
48+
549
## 0.113.0
650

751
### 💡 Enhancements 💡

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ 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
209210
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/cronjobs.yaml
210211
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/daemonsets.yaml
211212
cd config/rbac && $(KUSTOMIZE) edit add patch --kind ClusterRole --name manager-role --path extra-permissions-operator/events.yaml

RELEASE.md

Lines changed: 3 additions & 3 deletions
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.114.0 | @TylerHelmuth |
48-
| v0.115.0 | @jaronoff97 |
49-
| v0.116.0 | @swiatekm |
47+
| v0.115.0 | @TylerHelmuth |
48+
| v0.116.0 | @jaronoff97 |
5049
| v0.117.0 | @iblancasa |
5150
| v0.118.0 | @frzifus |
5251
| v0.119.0 | @yuriolisa |
5352
| v0.120.0 | @pavolloffay |
53+
| v0.121.0 | @swiatekm |

apis/v1alpha1/instrumentation_webhook.go

Lines changed: 4 additions & 4 deletions
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 == "" {

apis/v1beta1/config.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,12 @@ func (c *Config) getPortsForComponentKinds(logger logr.Logger, componentKinds ..
268268
case KindProcessor:
269269
continue
270270
case KindExtension:
271-
continue
271+
retriever = extensions.ParserFor
272+
if c.Extensions == nil {
273+
cfg = AnyConfig{}
274+
} else {
275+
cfg = *c.Extensions
276+
}
272277
}
273278
for componentName := range enabledComponents[componentKind] {
274279
// TODO: Clean up the naming here and make it simpler to use a retriever.
@@ -380,10 +385,18 @@ func (c *Config) GetExporterPorts(logger logr.Logger) ([]corev1.ServicePort, err
380385
return c.getPortsForComponentKinds(logger, KindExporter)
381386
}
382387

383-
func (c *Config) GetAllPorts(logger logr.Logger) ([]corev1.ServicePort, error) {
388+
func (c *Config) GetExtensionPorts(logger logr.Logger) ([]corev1.ServicePort, error) {
389+
return c.getPortsForComponentKinds(logger, KindExtension)
390+
}
391+
392+
func (c *Config) GetReceiverAndExporterPorts(logger logr.Logger) ([]corev1.ServicePort, error) {
384393
return c.getPortsForComponentKinds(logger, KindReceiver, KindExporter)
385394
}
386395

396+
func (c *Config) GetAllPorts(logger logr.Logger) ([]corev1.ServicePort, error) {
397+
return c.getPortsForComponentKinds(logger, KindReceiver, KindExporter, KindExtension)
398+
}
399+
387400
func (c *Config) GetEnvironmentVariables(logger logr.Logger) ([]corev1.EnvVar, error) {
388401
return c.getEnvironmentVariablesForComponentKinds(logger, KindReceiver)
389402
}

autoinstrumentation/nodejs/package.json

Lines changed: 3 additions & 12 deletions
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

Lines changed: 5 additions & 5 deletions
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-11-08T09:36:39Z"
102+
createdAt: "2024-11-27T11:54:33Z"
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.113.0
108+
name: opentelemetry-operator.v0.114.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.113.0
486+
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.114.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.113.0
594+
version: 0.114.0
595595
webhookdefinitions:
596596
- admissionReviewVersions:
597597
- v1alpha1

0 commit comments

Comments
 (0)