Skip to content

Commit 119040b

Browse files
authored
Merge branch 'main' into service-instanc-id-mapping
2 parents 872f482 + 95ca52c commit 119040b

File tree

54 files changed

+1281
-239
lines changed

Some content is hidden

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

54 files changed

+1281
-239
lines changed

.chloggen/3432.yaml

-16
This file was deleted.

.chloggen/3446.yaml

-19
This file was deleted.

.chloggen/add_fallback_strategy_for_per_node_strategy.yaml

-21
This file was deleted.

.chloggen/chore_change-kube-rbac-proxy-image-registry.yaml

-16
This file was deleted.

.chloggen/bump-base-instrumentation-mem-limit.yaml .chloggen/fix-prometheus-rule-file.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: '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: auto-instrumentation
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: Bump base memory requirements for python and go
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: [3479]
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.
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
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: updated node auto-instrumentation dependencies to the latest version
8+
note: Reverts PR 3379 which inadvertently broke users setting JAVA_TOOL_OPTIONS
99

1010
# One or more tracking issues related to the change
11-
issues: [3476]
11+
issues: [3463]
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.
1616
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
17+
Reverts a previous PR which was causing JAVA_TOOL_OPTIONS to not be overriden when
18+
set by users. This was resulting in application crashloopbackoffs for users relying
19+
on java autoinstrumentation.

.chloggen/3429.yaml .chloggen/scrape_config_probe.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: Create RBAC rules for the k8sobjects receiver automatically.
8+
note: enables support for pulling scrape config and probe CRDs in the target allocator
99

1010
# One or more tracking issues related to the change
11-
issues: [3429]
11+
issues: [1842]
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/3427.yaml .chloggen/service-extension.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: Create RBAC rules for the k8s_cluster 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: [3427]
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.

CHANGELOG.md

+44
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 💡

RELEASE.md

+3-3
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/v1beta1/config.go

+15-2
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,12 @@ func (c *Config) getPortsForComponentKinds(logger logr.Logger, componentKinds ..
206206
case KindProcessor:
207207
continue
208208
case KindExtension:
209-
continue
209+
retriever = extensions.ParserFor
210+
if c.Extensions == nil {
211+
cfg = AnyConfig{}
212+
} else {
213+
cfg = *c.Extensions
214+
}
210215
}
211216
for componentName := range enabledComponents[componentKind] {
212217
// TODO: Clean up the naming here and make it simpler to use a retriever.
@@ -318,10 +323,18 @@ func (c *Config) GetExporterPorts(logger logr.Logger) ([]corev1.ServicePort, err
318323
return c.getPortsForComponentKinds(logger, KindExporter)
319324
}
320325

321-
func (c *Config) GetAllPorts(logger logr.Logger) ([]corev1.ServicePort, error) {
326+
func (c *Config) GetExtensionPorts(logger logr.Logger) ([]corev1.ServicePort, error) {
327+
return c.getPortsForComponentKinds(logger, KindExtension)
328+
}
329+
330+
func (c *Config) GetReceiverAndExporterPorts(logger logr.Logger) ([]corev1.ServicePort, error) {
322331
return c.getPortsForComponentKinds(logger, KindReceiver, KindExporter)
323332
}
324333

334+
func (c *Config) GetAllPorts(logger logr.Logger) ([]corev1.ServicePort, error) {
335+
return c.getPortsForComponentKinds(logger, KindReceiver, KindExporter, KindExtension)
336+
}
337+
325338
func (c *Config) GetEnvironmentVariables(logger logr.Logger) ([]corev1.EnvVar, error) {
326339
return c.getEnvironmentVariablesForComponentKinds(logger, KindReceiver)
327340
}

apis/v1beta1/targetallocator_types.go

+12
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,18 @@ type TargetAllocatorPrometheusCR struct {
4242
// label selector matches no objects.
4343
// +optional
4444
ServiceMonitorSelector *metav1.LabelSelector `json:"serviceMonitorSelector,omitempty"`
45+
// ScrapeConfigs to be selected for target discovery.
46+
// A label selector is a label query over a set of resources. The result of matchLabels and
47+
// matchExpressions are ANDed. An empty label selector matches all objects. A null
48+
// label selector matches no objects.
49+
// +optional
50+
ScrapeConfigSelector *metav1.LabelSelector `json:"scrapeConfigSelector,omitempty"`
51+
// Probes to be selected for target discovery.
52+
// A label selector is a label query over a set of resources. The result of matchLabels and
53+
// matchExpressions are ANDed. An empty label selector matches all objects. A null
54+
// label selector matches no objects.
55+
// +optional
56+
ProbeSelector *metav1.LabelSelector `json:"probeSelector,omitempty"`
4557
}
4658

4759
type (

apis/v1beta1/zz_generated.deepcopy.go

+10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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

+4-4
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
@@ -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

bundle/community/manifests/opentelemetry.io_opentelemetrycollectors.yaml

+52
Original file line numberDiff line numberDiff line change
@@ -7909,6 +7909,58 @@ spec:
79097909
type: object
79107910
type: object
79117911
x-kubernetes-map-type: atomic
7912+
probeSelector:
7913+
properties:
7914+
matchExpressions:
7915+
items:
7916+
properties:
7917+
key:
7918+
type: string
7919+
operator:
7920+
type: string
7921+
values:
7922+
items:
7923+
type: string
7924+
type: array
7925+
x-kubernetes-list-type: atomic
7926+
required:
7927+
- key
7928+
- operator
7929+
type: object
7930+
type: array
7931+
x-kubernetes-list-type: atomic
7932+
matchLabels:
7933+
additionalProperties:
7934+
type: string
7935+
type: object
7936+
type: object
7937+
x-kubernetes-map-type: atomic
7938+
scrapeConfigSelector:
7939+
properties:
7940+
matchExpressions:
7941+
items:
7942+
properties:
7943+
key:
7944+
type: string
7945+
operator:
7946+
type: string
7947+
values:
7948+
items:
7949+
type: string
7950+
type: array
7951+
x-kubernetes-list-type: atomic
7952+
required:
7953+
- key
7954+
- operator
7955+
type: object
7956+
type: array
7957+
x-kubernetes-list-type: atomic
7958+
matchLabels:
7959+
additionalProperties:
7960+
type: string
7961+
type: object
7962+
type: object
7963+
x-kubernetes-map-type: atomic
79127964
scrapeInterval:
79137965
default: 30s
79147966
format: duration

bundle/openshift/manifests/opentelemetry-operator-prometheus-rules_monitoring.coreos.com_v1_prometheusrule.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@ spec:
2121
- expr: sum by (type) (opentelemetry_collector_connectors)
2222
record: type:opentelemetry_collector_connectors:sum
2323
- expr: sum by (type) (opentelemetry_collector_info)
24-
record: type:opentelemetry_collector_info:sum
24+
record: type:opentelemetry_collector_info:sum

0 commit comments

Comments
 (0)