Skip to content

Commit ca650cb

Browse files
authored
add apmconfig and apikeyauth Otel extensions (#8488)
* add apmconfig and apikeyauth Otel extensions * chore: add changelog entry * downgrade upstream packages to v0.127.0 * docs: update otel readme
1 parent 5d3a862 commit ca650cb

File tree

7 files changed

+1325
-7
lines changed

7 files changed

+1325
-7
lines changed

NOTICE-fips.txt

Lines changed: 636 additions & 2 deletions
Large diffs are not rendered by default.

NOTICE.txt

Lines changed: 636 additions & 2 deletions
Large diffs are not rendered by default.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Kind can be one of:
2+
# - breaking-change: a change to previously-documented behavior
3+
# - deprecation: functionality that is being removed in a later release
4+
# - bug-fix: fixes a problem in a previous version
5+
# - enhancement: extends functionality but does not break or fix existing behavior
6+
# - feature: new functionality
7+
# - known-issue: problems that we are aware of in a given version
8+
# - security: impacts on the security of a product or a user’s deployment.
9+
# - upgrade: important information for someone upgrading from a prior version
10+
# - other: does not fit into any of the other categories
11+
kind: feature
12+
13+
# Change summary; a 80ish characters long description of the change.
14+
summary: Add apmconfig and apikeyauth OTel extensions
15+
16+
# Long description; in case the summary is not enough to describe the change
17+
# this field accommodate a description without length limits.
18+
# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment.
19+
#description:
20+
21+
# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc.
22+
component: elastic-agent
23+
24+
# PR URL; optional; the PR number that added the changeset.
25+
# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added.
26+
# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number.
27+
# Please provide it if you are adding a fragment for a different PR.
28+
#pr: https://github.com/owner/repo/1234
29+
30+
# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of).
31+
# If not present is automatically filled by the tooling with the issue linked to the PR number.
32+
#issue: https://github.com/owner/repo/1234

go.mod

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ require (
2626
github.com/elastic/go-ucfg v0.8.9-0.20250307075119-2a22403faaea
2727
github.com/elastic/mock-es v0.0.0-20241101195702-0a41fa3d30d9
2828
github.com/elastic/opentelemetry-collector-components/connector/elasticapmconnector v0.3.0
29+
github.com/elastic/opentelemetry-collector-components/extension/apikeyauthextension v0.1.0
30+
github.com/elastic/opentelemetry-collector-components/extension/apmconfigextension v0.2.1
2931
github.com/elastic/opentelemetry-collector-components/processor/elasticinframetricsprocessor v0.15.0
3032
github.com/elastic/opentelemetry-collector-components/processor/elastictraceprocessor v0.6.0
3133
github.com/fatih/color v1.18.0
@@ -385,7 +387,7 @@ require (
385387
github.com/googleapis/gax-go/v2 v2.14.1 // indirect
386388
github.com/gophercloud/gophercloud/v2 v2.4.0 // indirect
387389
github.com/gorilla/handlers v1.5.2 // indirect
388-
github.com/gorilla/websocket v1.5.0 // indirect
390+
github.com/gorilla/websocket v1.5.3 // indirect
389391
github.com/gosuri/uitable v0.0.4 // indirect
390392
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect
391393
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect
@@ -483,6 +485,7 @@ require (
483485
github.com/nxadm/tail v1.4.11 // indirect
484486
github.com/oklog/ulid v1.3.1 // indirect
485487
github.com/onsi/ginkgo v1.16.5 // indirect
488+
github.com/open-telemetry/opamp-go v0.19.1-0.20250423191708-8d78a5169350 // indirect
486489
github.com/open-telemetry/opentelemetry-collector-contrib/connector/signaltometricsconnector v0.124.2-0.20250425060700-a372d054d598 // indirect
487490
github.com/open-telemetry/opentelemetry-collector-contrib/extension/k8sleaderelector v0.127.0 // indirect
488491
github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.127.0 // indirect

go.sum

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -524,8 +524,14 @@ github.com/elastic/mock-es v0.0.0-20241101195702-0a41fa3d30d9 h1:wXto1Zck/WqoXIo
524524
github.com/elastic/mock-es v0.0.0-20241101195702-0a41fa3d30d9/go.mod h1:cXqWcLnmu5y4QveTb2hjk7rgzkHMuZsqeXtbJpNAcu0=
525525
github.com/elastic/opentelemetry-collector-components/connector/elasticapmconnector v0.3.0 h1:sUP9fEU26Pex6GIYtCPm91aXZrI9vSFDmoBZfClS/6E=
526526
github.com/elastic/opentelemetry-collector-components/connector/elasticapmconnector v0.3.0/go.mod h1:WzLl+CvujaQDVqrrXaEKIbn8+eZdhh+2j0lsd8RkT00=
527+
github.com/elastic/opentelemetry-collector-components/extension/apikeyauthextension v0.1.0 h1:TqA/DvOyf/Fhqru5EIAH0q+XPj+Qpv+IC7Bwf8mlp3s=
528+
github.com/elastic/opentelemetry-collector-components/extension/apikeyauthextension v0.1.0/go.mod h1:1FP7yfqYoTr7MfysGJdHb66Ku2FqabFbC/GlSlUddvo=
529+
github.com/elastic/opentelemetry-collector-components/extension/apmconfigextension v0.2.1 h1:U66A22bA4PUJKdp5voTdaCFVIsZx7S5HUhStfdgGVJs=
530+
github.com/elastic/opentelemetry-collector-components/extension/apmconfigextension v0.2.1/go.mod h1:ApCR1ML29ZMG9mgC8JS8BuvNRnnNUOSSctxAhMFpxVw=
527531
github.com/elastic/opentelemetry-collector-components/internal/sharedcomponent v0.0.0-20250220025958-386ba0c4bced h1:XcWi/S3OoeE5Qwmj381AoO3nr3AVXl4Z4QO0mqyjlzU=
528532
github.com/elastic/opentelemetry-collector-components/internal/sharedcomponent v0.0.0-20250220025958-386ba0c4bced/go.mod h1:8e9NcGfE2xeor8r+WV9a+hKBEkzJEDnqZN7tqb3GUe8=
533+
github.com/elastic/opentelemetry-collector-components/internal/testutil v0.0.0-20250613082151-282de5af1c9b h1:NWuTKdMCJlU9ehRH8V0w1Kk1QI5Vn+9OcJWIO9wI+pE=
534+
github.com/elastic/opentelemetry-collector-components/internal/testutil v0.0.0-20250613082151-282de5af1c9b/go.mod h1:R1WWATZlmmkryuE5hLQNHj89rdPPi4ErobBZYx2LmGs=
529535
github.com/elastic/opentelemetry-collector-components/processor/elasticinframetricsprocessor v0.15.0 h1:kkuKUwqG9cjMm5DswK2LHos20xJ0XUaqsOa3yA6U/0o=
530536
github.com/elastic/opentelemetry-collector-components/processor/elasticinframetricsprocessor v0.15.0/go.mod h1:WnaGEWQEgt1IUovcznKbdxW8zSs8akmwoVJrnQbDGbs=
531537
github.com/elastic/opentelemetry-collector-components/processor/elastictraceprocessor v0.6.0 h1:U91aey7kuAEuMMV0sEKxMCayjip2Dg3c56fIMfCiRcQ=
@@ -818,8 +824,8 @@ github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+
818824
github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI=
819825
github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
820826
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
821-
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
822-
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
827+
github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
828+
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
823829
github.com/gosuri/uitable v0.0.4 h1:IG2xLKRvErL3uhY6e1BylFzG+aJiwQviDDTfOKeKTpY=
824830
github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo=
825831
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248=
@@ -1173,6 +1179,8 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J
11731179
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
11741180
github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw=
11751181
github.com/onsi/gomega v1.36.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
1182+
github.com/open-telemetry/opamp-go v0.19.1-0.20250423191708-8d78a5169350 h1:W+DzUrFsc2tzZH8h+oIwno9rXV0hskXsR2dGNZ3LXPQ=
1183+
github.com/open-telemetry/opamp-go v0.19.1-0.20250423191708-8d78a5169350/go.mod h1:/ks8JtVfx2wtZINPRTp/IxaGoMFAB6Uberx1Jcaur6M=
11761184
github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.127.0 h1:3vLE9AD9v5qDkNy36DWqsysUgvIMZK3etKcp2xNdMSY=
11771185
github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.127.0/go.mod h1:YIcuy7j6kUspH4O7vg94Jd5VnArflaOZDirmijsXcXg=
11781186
github.com/open-telemetry/opentelemetry-collector-contrib/connector/signaltometricsconnector v0.124.2-0.20250425060700-a372d054d598 h1:TDIUJpL7PT/ta9vr2rP/0Ks5uwDdBaiz4/UhCu/xWOI=

internal/pkg/otel/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ This section provides a summary of components included in the Elastic Distributi
8686

8787
| Component | Version |
8888
|---|---|
89+
| [apikeyauthextension](https://github.com/elastic/opentelemetry-collector-components/blob/extension/apikeyauthextension/v0.1.0/extension/apikeyauthextension/README.md) | v0.1.0 |
90+
| [apmconfigextension](https://github.com/elastic/opentelemetry-collector-components/blob/extension/apmconfigextension/v0.2.1/extension/apmconfigextension/README.md) | v0.2.1 |
8991
| [filestorage](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/storage/filestorage/v0.127.0/extension/storage/filestorage/README.md) | v0.127.0 |
9092
| [healthcheckextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/healthcheckextension/v0.127.0/extension/healthcheckextension/README.md) | v0.127.0 |
9193
| [k8sobserver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/observer/k8sobserver/v0.127.0/extension/observer/k8sobserver/README.md) | v0.127.0 |

internal/pkg/otel/components.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ import (
6363
filestorage "github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage"
6464
"go.opentelemetry.io/collector/extension/memorylimiterextension" // for putting backpressure when approach a memory limit
6565

66+
"github.com/elastic/opentelemetry-collector-components/extension/apikeyauthextension"
67+
"github.com/elastic/opentelemetry-collector-components/extension/apmconfigextension"
68+
6669
// Connectors
6770
routingconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector"
6871
spanmetricsconnector "github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector"
@@ -154,6 +157,8 @@ func components(extensionFactories ...extension.Factory) func() (otelcol.Factori
154157
healthcheckextension.NewFactory(),
155158
pprofextension.NewFactory(),
156159
k8sobserver.NewFactory(),
160+
apikeyauthextension.NewFactory(),
161+
apmconfigextension.NewFactory(),
157162
}
158163
extensions = append(extensions, extensionFactories...)
159164
factories.Extensions, err = otelcol.MakeFactoryMap[extension.Factory](extensions...)

0 commit comments

Comments
 (0)