Skip to content

Commit e16acf1

Browse files
committed
Merge branch 'main' of https://github.com/open-telemetry/opentelemetry-operator into 2947-updating-ds-sf-depl-mutation
2 parents 2ae1acf + 22e8c06 commit e16acf1

File tree

99 files changed

+7843
-1154
lines changed

Some content is hidden

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

99 files changed

+7843
-1154
lines changed

.chloggen/TA-update-configs-to-enable-mtls.yaml .chloggen/3267-custom-instr-vol.yaml

+4-6
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,15 @@
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, collector
5+
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: "Enable mTLS between the TA and collector for passing secrets in the scrape_config securely"
8+
note: Adds VolumeClaimTemplate field to Instrumentation spec to enable user-definable ephemeral volumes for auto-instrumentation.
99

1010
# One or more tracking issues related to the change
11-
issues: [1669]
11+
issues: [3267]
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-
This change enables mTLS between the collector and the target allocator (requires cert-manager).
18-
This is necessary for passing secrets securely from the TA to the collector for scraping endpoints that have authentication.
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: 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 support for persistentVolumeClaimRetentionPolicy field"
9+
10+
# One or more tracking issues related to the change
11+
issues: [3305]
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/inst-tls.yaml

-34
This file was deleted.

.chloggen/native_sidecar.yaml

-21
This file was deleted.

.chloggen/nodejs-ibm-platforms.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: 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: Add Nodejs auto-instrumentation image builds for linux/s390x,linux/ppc64le.
9+
10+
# One or more tracking issues related to the change
11+
issues: [3322]
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/fix_validation-stabilizationWindowSeconds.yaml .chloggen/ta-no-root.yaml

+4-6
Original file line numberDiff line numberDiff line change
@@ -2,17 +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: collector-webhook
5+
component: target allocator
66

77
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8-
note: "Fixed validation of `stabilizationWindowSeconds` in autoscaler behaviour"
8+
note: Change docker image to run as non-root
99

1010
# One or more tracking issues related to the change
11-
issues: [3345]
11+
issues: [3378]
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-
The validation of `stabilizationWindowSeconds` in the `autoscaler.behaviour.scale[Up|Down]` incorrectly rejected 0 as an invalid value.
18-
This has been fixed to ensure that the value is validated correctly (should be >=0 and <=3600) and the error messsage has been updated to reflect this.
16+
subtext:

.github/CODEOWNERS

-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,3 @@
1717

1818
# AutoInstrumentation owners
1919
# TBD
20-
21-
# Target Allocator owners
22-
cmd/otel-allocator @open-telemetry/operator-ta-maintainers

.github/workflows/e2e.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@ jobs:
6262
with:
6363
path: bin
6464
key: ${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('Makefile') }}-${{ steps.setup-go.outputs.go-version }}
65-
- name: Install chainsaw
66-
uses: kyverno/[email protected]
6765
- name: Install tools
6866
run: make install-tools
6967
- name: Prepare e2e tests

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
uses: docker/build-push-action@v6
7272
with:
7373
context: autoinstrumentation/nodejs
74-
platforms: linux/amd64,linux/arm64
74+
platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
7575
push: ${{ github.event_name == 'push' }}
7676
build-args: version=${{ env.VERSION }}
7777
tags: ${{ steps.meta.outputs.tags }}

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
env:
5757
VERSION: ${{ env.version }}
5858
run: |
59-
mkdir operators/opentelemetry-operator/${VERSION}
59+
mkdir operators/opentelemetry-operator/${VERSION}
6060
cp -R ./tmp/bundle/${{ inputs.folder }}/* operators/opentelemetry-operator/${VERSION}
6161
rm -rf ./tmp
6262
@@ -73,7 +73,7 @@ jobs:
7373
message="Update the opentelemetry to $VERSION"
7474
body="Release opentelemetry-operator \`$VERSION\`.
7575
76-
cc @pavolloffay @frzifus @yuriolisa @jaronoff97 @TylerHelmuth @swiatekm
76+
cc @pavolloffay @frzifus @yuriolisa @jaronoff97 @TylerHelmuth @swiatekm @iblancasa
7777
"
7878
branch="update-opentelemetry-operator-to-${VERSION}"
7979

CHANGELOG.md

+67
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,73 @@
22

33
<!-- next version -->
44

5+
## 0.111.0
6+
7+
### 💡 Enhancements 💡
8+
9+
- `auto-instrumentation`: set OTEL_LOGS_EXPORTER env var to otlp in python instrumentation (#3330)
10+
11+
- `collector`: Expose the Collector telemetry endpoint by default. (#3361)
12+
13+
The collector v0.111.0 changes the default binding of the telemetry metrics endpoint from `0.0.0.0` to `localhost`.
14+
To avoid any disruption we fallback to `0.0.0.0:{PORT}` as default address.
15+
Details can be found here: [opentelemetry-collector#11251](https://github.com/open-telemetry/opentelemetry-collector/pull/11251)
16+
17+
18+
- `auto-instrumentation`: Add support for specifying exporter TLS certificates in auto-instrumentation. (#3338)
19+
20+
Now Instrumentation CR supports specifying TLS certificates for exporter:
21+
```yaml
22+
spec:
23+
exporter:
24+
endpoint: https://otel-collector:4317
25+
tls:
26+
secretName: otel-tls-certs
27+
configMapName: otel-ca-bundle
28+
# otel-ca-bundle
29+
ca_file: ca.crt
30+
# present in otel-tls-certs
31+
cert_file: tls.crt
32+
# present in otel-tls-certs
33+
key_file: tls.key
34+
```
35+
36+
* Propagating secrets across namespaces can be done with https://github.com/EmberStack/kubernetes-reflector or https://github.com/zakkg3/ClusterSecret
37+
* Restarting workloads on certificate renewal can be done with https://github.com/stakater/Reloader or https://github.com/wave-k8s/wave
38+
39+
- `collector`: Add native sidecar injection behind a feature gate which is disabled by default. (#2376)
40+
41+
Native sidecars are supported since Kubernetes version `1.28` and are availabe by default since `1.29`.
42+
To use native sidecars on Kubernetes v1.28 make sure the "SidecarContainers" feature gate on kubernetes is enabled.
43+
If native sidecars are available, the operator can be advised to use them by adding
44+
the `--feature-gates=operator.sidecarcontainers.native` to the Operator args.
45+
In the future this may will become availabe as deployment mode on the Collector CR. See [#3356](https://github.com/open-telemetry/opentelemetry-operator/issues/3356)
46+
47+
- `target allocator, collector`: Enable mTLS between the TA and collector for passing secrets in the scrape_config securely (#1669)
48+
49+
This change enables mTLS between the collector and the target allocator (requires cert-manager).
50+
This is necessary for passing secrets securely from the TA to the collector for scraping endpoints that have authentication. Use the `operator.targetallocator.mtls` to enable this feature. See the target allocator [documentation](https://github.com/open-telemetry/opentelemetry-operator/tree/main/cmd/otel-allocator#service--pod-monitor-endpoint-credentials) for more details.
51+
52+
### 🧰 Bug fixes 🧰
53+
54+
- `collector-webhook`: Fixed validation of `stabilizationWindowSeconds` in autoscaler behaviour (#3345)
55+
56+
The validation of `stabilizationWindowSeconds` in the `autoscaler.behaviour.scale[Up|Down]` incorrectly rejected 0 as an invalid value.
57+
This has been fixed to ensure that the value is validated correctly (should be >=0 and <=3600) and the error messsage has been updated to reflect this.
58+
59+
### Components
60+
61+
* [OpenTelemetry Collector - v0.111.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.111.0)
62+
* [OpenTelemetry Contrib - v0.111.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.111.0)
63+
* [Java auto-instrumentation - v1.33.5](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.5)
64+
* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0)
65+
* [Node.JS - v0.53.0](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.53.0)
66+
* [Python - v0.48b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.48b0)
67+
* [Go - v0.15.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.15.0-alpha)
68+
* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
69+
* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
70+
71+
572
## 0.110.0
673

774
### 🛑 Breaking changes 🛑

Makefile

+3-3
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ KUSTOMIZE_VERSION ?= v5.0.3
473473
CONTROLLER_TOOLS_VERSION ?= v0.16.1
474474
GOLANGCI_LINT_VERSION ?= v1.57.2
475475
KIND_VERSION ?= v0.20.0
476-
CHAINSAW_VERSION ?= v0.2.5
476+
CHAINSAW_VERSION ?= v0.2.8
477477

478478
.PHONY: install-tools
479479
install-tools: kustomize golangci-lint kind controller-gen envtest crdoc kind operator-sdk chainsaw
@@ -493,12 +493,12 @@ kind: ## Download kind locally if necessary.
493493
.PHONY: controller-gen
494494
controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary.
495495
$(CONTROLLER_GEN): $(LOCALBIN)
496-
@test -s $(LOCALBIN)/controller-gen && $(LOCALBIN)/controller-gen --version | grep -q $(CONTROLLER_TOOLS_VERSION) || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION)
496+
$(call go-get-tool,$(CONTROLLER_GEN), sigs.k8s.io/controller-tools/cmd/controller-gen,$(CONTROLLER_TOOLS_VERSION))
497497

498498
.PHONY: envtest
499499
envtest: $(ENVTEST) ## Download envtest-setup locally if necessary.
500500
$(ENVTEST): $(LOCALBIN)
501-
@test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
501+
$(call go-get-tool,$(ENVTEST), sigs.k8s.io/controller-runtime/tools/setup-envtest,latest)
502502

503503
CRDOC = $(shell pwd)/bin/crdoc
504504
.PHONY: crdoc

README.md

+7-15
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ spec:
608608
mode: statefulset
609609
targetAllocator:
610610
enabled: true
611-
config:
611+
config:
612612
receivers:
613613
prometheus:
614614
config:
@@ -740,7 +740,7 @@ spec:
740740

741741
### Configure resource attributes with labels
742742

743-
You can also use common labels to set resource attributes.
743+
You can also use common labels to set resource attributes.
744744

745745
The following labels are supported:
746746
- `app.kubernetes.io/name` becomes `service.name`
@@ -782,12 +782,12 @@ The priority for setting resource attributes is as follows (first found wins):
782782

783783
1. Resource attributes set via `OTEL_RESOURCE_ATTRIBUTES` and `OTEL_SERVICE_NAME` environment variables
784784
2. Resource attributes set via annotations (with the `resource.opentelemetry.io/` prefix)
785-
3. Resource attributes set via labels (e.g. `app.kubernetes.io/name`)
785+
3. Resource attributes set via labels (e.g. `app.kubernetes.io/name`)
786786
if the `Instrumentation` CR has defaults.useLabelsForResourceAttributes=true (see above)
787787
4. Resource attributes calculated from the pod's metadata (e.g. `k8s.pod.name`)
788788
5. Resource attributes set via the `Instrumentation` CR (in the `spec.resource.resourceAttributes` section)
789789

790-
This priority is applied for each resource attribute separately, so it is possible to set some attributes via
790+
This priority is applied for each resource attribute separately, so it is possible to set some attributes via
791791
annotations and others via labels.
792792

793793
## Compatibility matrix
@@ -807,12 +807,13 @@ We strive to be compatible with the widest range of Kubernetes versions as possi
807807
We use `cert-manager` for some features of this operator and the third column shows the versions of the `cert-manager` that are known to work with this operator's versions.
808808

809809
The Target Allocator supports prometheus-operator CRDs like ServiceMonitor, and it does so by using packages imported from prometheus-operator itself. The table shows which version is shipped with a given operator version.
810-
Generally speaking, these are backwards compatible, but specific features require the appropriate package versions.
810+
Generally speaking, these are backwards compatible, but specific features require the appropriate package versions.
811811

812812
The OpenTelemetry Operator _might_ work on versions outside of the given range, but when opening new issues, please make sure to test your scenario on a supported version.
813813

814814
| OpenTelemetry Operator | Kubernetes | Cert-Manager | Prometheus-Operator |
815815
|------------------------|----------------| ------------ |---------------------|
816+
| v0.111.0 | v1.23 to v1.31 | v1 | v0.76.0 |
816817
| v0.110.0 | v1.23 to v1.31 | v1 | v0.76.0 |
817818
| v0.109.0 | v1.23 to v1.31 | v1 | v0.76.0 |
818819
| v0.108.0 | v1.23 to v1.31 | v1 | v0.76.0 |
@@ -836,7 +837,6 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,
836837
| v0.90.0 | v1.23 to v1.28 | v1 | v0.69.1 |
837838
| v0.89.0 | v1.23 to v1.28 | v1 | v0.69.1 |
838839
| v0.88.0 | v1.23 to v1.28 | v1 | v0.68.0 |
839-
| v0.87.0 | v1.23 to v1.28 | v1 | v0.68.0 |
840840

841841
## Contributing and Developing
842842

@@ -849,6 +849,7 @@ Approvers ([@open-telemetry/operator-approvers](https://github.com/orgs/open-tel
849849
- [Benedikt Bongartz](https://github.com/frzifus), Red Hat
850850
- [Tyler Helmuth](https://github.com/TylerHelmuth), Honeycomb
851851
- [Yuri Oliveira Sa](https://github.com/yuriolisa), Red Hat
852+
- [Israel Blancas](https://github.com/iblancasa), Red Hat
852853

853854
Emeritus Approvers:
854855

@@ -859,15 +860,6 @@ Emeritus Approvers:
859860
- [Owais Lone](https://github.com/owais), Splunk
860861
- [Pablo Baeyens](https://github.com/mx-psi), DataDog
861862

862-
Target Allocator Maintainers ([@open-telemetry/operator-ta-maintainers](https://github.com/orgs/open-telemetry/teams/operator-ta-maintainers)):
863-
864-
- [Sebastian Poxhofer](https://github.com/secustor)
865-
866-
Emeritus Target Allocator Maintainers
867-
868-
- [Anthony Mirabella](https://github.com/Aneurysm9), AWS
869-
- [Kristina Pathak](https://github.com/kristinapathak), Lightstep
870-
871863
Maintainers ([@open-telemetry/operator-maintainers](https://github.com/orgs/open-telemetry/teams/operator-maintainers)):
872864

873865
- [Jacob Aronoff](https://github.com/jaronoff97), Lightstep

RELEASE.md

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

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

0 commit comments

Comments
 (0)