Skip to content

Commit 5528f70

Browse files
authored
Merge branch 'open-telemetry:main' into main
2 parents e29c095 + f60a945 commit 5528f70

File tree

132 files changed

+16395
-618
lines changed

Some content is hidden

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

132 files changed

+16395
-618
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: enhancement
3+
4+
# The name of the component, or a single word describing the area of concern, (e.g. operator, target allocator, github action)
5+
component: OpAMP Bridge
6+
7+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8+
note: Sends a heartbeat from the bridge and brings the annotation to spec.
9+
10+
# One or more tracking issues related to the change
11+
issues: [2132]
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. operator, target allocator, 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: Declare and use ContainerPort for Target Allocator
9+
10+
# One or more tracking issues related to the change
11+
issues: [2312]
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/truncate-pod-label.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: bug_fix
3+
4+
# The name of the component, or a single word describing the area of concern, (e.g. operator, target allocator, 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: Truncate `sidecar.opentelemetry.io/injected` sidecar pod label to 63 characters
9+
10+
# One or more tracking issues related to the change
11+
issues: [1031]
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:

.github/workflows/e2e.yaml

+9-4
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,26 @@ jobs:
3131
- e2e-autoscale
3232
- e2e-multi-instrumentation
3333
- e2e-pdb
34+
- e2e-opampbridge
3435

3536
steps:
37+
- name: Check out code into the Go module directory
38+
uses: actions/checkout@v4
39+
3640
- name: Set up Go
3741
uses: actions/setup-go@v4
3842
with:
39-
go-version: "~1.21.1"
43+
go-version: "~1.21.3"
44+
cache-dependency-path: |
45+
go.sum
46+
cmd/otel-allocator/go.sum
47+
cmd/operator-opamp-bridge/go.sum
4048
4149
- name: Setup kind
4250
env:
4351
KIND_VERSION: "0.20.0"
4452
run: go install sigs.k8s.io/kind@v${KIND_VERSION}
4553

46-
- name: Check out code into the Go module directory
47-
uses: actions/checkout@v4
48-
4954
- name: "install kuttl"
5055
run: ./hack/install-kuttl.sh
5156

.github/workflows/publish-images.yaml

+17-16
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,20 @@ on:
77

88
workflow_dispatch:
99

10+
env:
11+
PLATFORMS: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
12+
1013
jobs:
1114
publish:
1215
name: Publish container images
1316
runs-on: ubuntu-22.04
1417
steps:
1518
- uses: actions/checkout@v4
1619

20+
- uses: actions/setup-go@v4
21+
with:
22+
go-version: '~1.21.3'
23+
1724
- name: Unshallow
1825
run: git fetch --prune --unshallow
1926

@@ -34,7 +41,15 @@ jobs:
3441
grep -v '\#' versions.txt | grep autoinstrumentation-apache-httpd | awk -F= '{print "AUTO_INSTRUMENTATION_NGINX_VERSION="$2}' >> $GITHUB_ENV
3542
echo "VERSION_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_ENV
3643
echo "VERSION=$(git describe --tags | sed 's/^v//')" >> $GITHUB_ENV
37-
44+
45+
- name: Build the binary for each supported architecture
46+
run: |
47+
for platform in $(echo $PLATFORMS | tr "," "\n"); do
48+
arch=${platform#*/}
49+
echo "Building manager for $arch"
50+
make manager ARCH=$arch
51+
done
52+
3853
- name: Docker meta
3954
id: docker_meta
4055
uses: docker/metadata-action@v5
@@ -82,23 +97,9 @@ jobs:
8297
with:
8398
context: .
8499
file: ./Dockerfile
85-
platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
100+
platforms: ${{ env.PLATFORMS }}
86101
push: ${{ github.event_name != 'pull_request' }}
87102
tags: ${{ steps.docker_meta.outputs.tags }}
88103
labels: ${{ steps.docker_meta.outputs.labels }}
89-
build-args: |
90-
VERSION_PKG=github.com/open-telemetry/opentelemetry-operator/internal/version
91-
VERSION=${{ env.VERSION }}
92-
VERSION_DATE=${{ env.VERSION_DATE }}
93-
OTELCOL_VERSION=${{ env.OTELCOL_VERSION }}
94-
TARGETALLOCATOR_VERSION=${{ env.TARGETALLOCATOR_VERSION }}
95-
OPERATOR_OPAMP_BRIDGE_VERSION=${{ env.OPERATOR_OPAMP_BRIDGE_VERSION }}
96-
AUTO_INSTRUMENTATION_JAVA_VERSION=${{ env.AUTO_INSTRUMENTATION_JAVA_VERSION }}
97-
AUTO_INSTRUMENTATION_NODEJS_VERSION=${{ env.AUTO_INSTRUMENTATION_NODEJS_VERSION }}
98-
AUTO_INSTRUMENTATION_PYTHON_VERSION=${{ env.AUTO_INSTRUMENTATION_PYTHON_VERSION }}
99-
AUTO_INSTRUMENTATION_DOTNET_VERSION=${{ env.AUTO_INSTRUMENTATION_DOTNET_VERSION }}
100-
AUTO_INSTRUMENTATION_GO_VERSION=${{ env.AUTO_INSTRUMENTATION_GO_VERSION }}
101-
AUTO_INSTRUMENTATION_APACHE_HTTPD_VERSION=${{ env.AUTO_INSTRUMENTATION_APACHE_HTTPD_VERSION }}
102-
AUTO_INSTRUMENTATION_NGINX_VERSION=${{ env.AUTO_INSTRUMENTATION_NGINX_VERSION }}
103104
cache-from: type=local,src=/tmp/.buildx-cache
104105
cache-to: type=local,dest=/tmp/.buildx-cache

.github/workflows/publish-operator-opamp-bridge.yaml

+18-4
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,35 @@ on:
1111
- 'v*'
1212
workflow_dispatch:
1313

14+
env:
15+
PLATFORMS: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
16+
1417
jobs:
1518
publish:
1619
runs-on: ubuntu-22.04
1720

1821
steps:
1922
- uses: actions/checkout@v4
23+
24+
- uses: actions/setup-go@v4
25+
with:
26+
go-version: '~1.21.3'
27+
cache-dependency-path: 'cmd/operator-opamp-bridge/go.sum'
2028

29+
# TODO: We're currently not using this. Should we?
2130
- name: Read version
2231
run: |
2332
echo "VERSION=$(git describe --tags | sed 's/^v//')" >> $GITHUB_ENV
2433
echo "VERSION_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_ENV
2534
35+
- name: Build the binary for each supported architecture
36+
run: |
37+
for platform in $(echo $PLATFORMS | tr "," "\n"); do
38+
arch=${platform#*/}
39+
echo "Building operator-opamp-bridge for $arch"
40+
make operator-opamp-bridge ARCH=$arch
41+
done
42+
2643
- name: Docker meta
2744
id: meta
2845
uses: docker/metadata-action@v5
@@ -69,11 +86,8 @@ jobs:
6986
uses: docker/build-push-action@v5
7087
with:
7188
context: cmd/operator-opamp-bridge
72-
platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
89+
platforms: ${{ env.PLATFORMS }}
7390
push: true
74-
build-args: |
75-
VERSION=${{ env.VERSION }}
76-
VERSION_DATE=${{ env.VERSION_DATE }}
7791
tags: ${{ steps.meta.outputs.tags }}
7892
labels: ${{ steps.meta.outputs.labels }}
7993
cache-from: type=local,src=/tmp/.buildx-cache

.github/workflows/publish-target-allocator.yaml

+18-4
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,35 @@ on:
1111
- 'v*'
1212
workflow_dispatch:
1313

14+
env:
15+
PLATFORMS: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
16+
1417
jobs:
1518
publish:
1619
runs-on: ubuntu-22.04
1720

1821
steps:
1922
- uses: actions/checkout@v4
2023

24+
- uses: actions/setup-go@v4
25+
with:
26+
go-version: '~1.21.3'
27+
cache-dependency-path: 'cmd/otel-allocator/go.sum'
28+
29+
# TODO: We're currently not using this. Should we?
2130
- name: Read version
2231
run: |
2332
echo "VERSION=$(git describe --tags | sed 's/^v//')" >> $GITHUB_ENV
2433
echo "VERSION_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_ENV
2534
35+
- name: Build the binary for each supported architecture
36+
run: |
37+
for platform in $(echo $PLATFORMS | tr "," "\n"); do
38+
arch=${platform#*/}
39+
echo "Building target allocator for $arch"
40+
make targetallocator ARCH=$arch
41+
done
42+
2643
- name: Docker meta
2744
id: meta
2845
uses: docker/metadata-action@v5
@@ -69,11 +86,8 @@ jobs:
6986
uses: docker/build-push-action@v5
7087
with:
7188
context: cmd/otel-allocator
72-
platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
89+
platforms: ${{ env.PLATFORMS }}
7390
push: true
74-
build-args: |
75-
VERSION=${{ env.VERSION }}
76-
VERSION_DATE=${{ env.VERSION_DATE }}
7791
tags: ${{ steps.meta.outputs.tags }}
7892
labels: ${{ steps.meta.outputs.labels }}
7993
cache-from: type=local,src=/tmp/.buildx-cache

CHANGELOG.md

+32
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,38 @@ Changes by Version
22
==================
33
<!-- next version -->
44

5+
## 0.88.0
6+
7+
### 🛑 Breaking changes 🛑
8+
9+
- `OpAMP Bridge`: Currently, the bridge doesn't adhere to the spec for the naming structure. This changes the bridge to use the <namespace>/<otelcol> structure as described. (#2131)
10+
* Updates the bridge to get collectors using the reporting annotation
11+
* Fixes a bug where we were using the incorrect structure for the collectors
12+
13+
14+
### 💡 Enhancements 💡
15+
16+
- `operator-opamp-bridge`: Creates the CRD for the OpAMPBridge resource (#1368)
17+
- `autoinstrumentation`: Bump OpenTelemetry .NET Automatic Instrumentation to 1.1.0 (#2252)
18+
- `operator`: Bump NodeJS dependencies. Also, increase the size of the default size for the volume used to copy the autoinstrumentation libraries from 150M to 200M (#2240, #2237)
19+
20+
### 🧰 Bug fixes 🧰
21+
22+
- `Operator`: Fixed the labeling process which was broken at the moment to capture the current image tag when the users set the sha256 reference. (#1982)
23+
- `target allocator`: reset kubeconfig to empty string when using in-cluster config (#2262)
24+
25+
### Components
26+
27+
* [OpenTelemetry Collector - v0.88.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.88.0)
28+
* [OpenTelemetry Contrib - v0.88.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.88.0)
29+
* [Java auto-instrumentation - 1.31.0](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.31.0)
30+
* [.NET auto-instrumentation - 1.1.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/1.1.0)
31+
* [Node.JS - 0.44.0](https://github.com/open-telemetry/opentelemetry-js-contrib/releases/tag/auto-instrumentations-node-0.44.0)
32+
* [Python - 0.41b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/0.41b0)
33+
* [Go - v0.7.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.7.0-alpha)
34+
* [ApacheHTTPD - 1.0.3](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.3)
35+
* [Nginx - 1.0.3](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.3)]
36+
537
## 0.87.0
638

739
### 🛑 Breaking changes 🛑

Dockerfile

+9-39
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,21 @@
1-
# Build the manager binary
2-
FROM golang:1.21-alpine as builder
3-
4-
WORKDIR /workspace
1+
# Get CA certificates from alpine package repo
2+
FROM alpine:3.18 as certificates
53

64
RUN apk --no-cache add ca-certificates
75

8-
# Copy the Go Modules manifests
9-
COPY go.mod go.mod
10-
COPY go.sum go.sum
11-
# cache deps before building and copying source so that we don't need to re-download as much
12-
# and so that source changes don't invalidate our downloaded layer
13-
RUN go mod download
14-
15-
# Copy the go source
16-
COPY main.go main.go
17-
COPY apis/ apis/
18-
COPY controllers/ controllers/
19-
COPY internal/ internal/
20-
COPY pkg/ pkg/
21-
COPY versions.txt versions.txt
22-
23-
ARG VERSION_PKG
24-
ARG VERSION
25-
ARG VERSION_DATE
26-
ARG OTELCOL_VERSION
27-
ARG TARGETALLOCATOR_VERSION
28-
ARG OPERATOR_OPAMP_BRIDGE_VERSION
29-
ARG AUTO_INSTRUMENTATION_JAVA_VERSION
30-
ARG AUTO_INSTRUMENTATION_NODEJS_VERSION
31-
ARG AUTO_INSTRUMENTATION_PYTHON_VERSION
32-
ARG AUTO_INSTRUMENTATION_DOTNET_VERSION
33-
ARG AUTO_INSTRUMENTATION_APACHE_HTTPD_VERSION
34-
ARG AUTO_INSTRUMENTATION_NGINX_VERSION
35-
ARG AUTO_INSTRUMENTATION_GO_VERSION
36-
37-
# Build
38-
RUN CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build -ldflags="-X ${VERSION_PKG}.version=${VERSION} -X ${VERSION_PKG}.buildDate=${VERSION_DATE} -X ${VERSION_PKG}.otelCol=${OTELCOL_VERSION} -X ${VERSION_PKG}.targetAllocator=${TARGETALLOCATOR_VERSION} -X ${VERSION_PKG}.operatorOpAMPBridge=${OPERATOR_OPAMP_BRIDGE_VERSION} -X ${VERSION_PKG}.autoInstrumentationJava=${AUTO_INSTRUMENTATION_JAVA_VERSION} -X ${VERSION_PKG}.autoInstrumentationNodeJS=${AUTO_INSTRUMENTATION_NODEJS_VERSION} -X ${VERSION_PKG}.autoInstrumentationPython=${AUTO_INSTRUMENTATION_PYTHON_VERSION} -X ${VERSION_PKG}.autoInstrumentationDotNet=${AUTO_INSTRUMENTATION_DOTNET_VERSION} -X ${VERSION_PKG}.autoInstrumentationGo=${AUTO_INSTRUMENTATION_GO_VERSION} -X ${VERSION_PKG}.autoInstrumentationApacheHttpd=${AUTO_INSTRUMENTATION_APACHE_HTTPD_VERSION} -X ${VERSION_PKG}.autoInstrumentationNginx=${AUTO_INSTRUMENTATION_NGINX_VERSION}" -a -o manager main.go
39-
406
######## Start a new stage from scratch #######
417
FROM scratch
428

9+
ARG TARGETARCH
10+
4311
WORKDIR /
4412

45-
# Copy the certs from the builder
46-
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
13+
# Copy the certs from Alpine
14+
COPY --from=certificates /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
15+
16+
# Copy binary built on the host
17+
COPY bin/manager_${TARGETARCH} manager
4718

48-
COPY --from=builder /workspace/manager .
4919
USER 65532:65532
5020

5121
ENTRYPOINT ["/manager"]

0 commit comments

Comments
 (0)