From ebac02339c01c52f7f961f0eff3b724221217528 Mon Sep 17 00:00:00 2001 From: Michal Pristas Date: Mon, 10 Feb 2025 09:25:14 +0100 Subject: [PATCH 01/17] Update tests for flavors (#6712) --- .../upgrade_standalone_flavors_test.go | 231 ++++++++++++++++++ testing/upgradetest/upgrader.go | 9 + testing/upgradetest/versions.go | 2 + 3 files changed, 242 insertions(+) create mode 100644 testing/integration/upgrade_standalone_flavors_test.go diff --git a/testing/integration/upgrade_standalone_flavors_test.go b/testing/integration/upgrade_standalone_flavors_test.go new file mode 100644 index 00000000000..8555f92746a --- /dev/null +++ b/testing/integration/upgrade_standalone_flavors_test.go @@ -0,0 +1,231 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License 2.0; +// you may not use this file except in compliance with the Elastic License 2.0. + +//go:build integration + +package integration + +import ( + "context" + "fmt" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + atesting "github.com/elastic/elastic-agent/pkg/testing" + "github.com/elastic/elastic-agent/pkg/testing/define" + "github.com/elastic/elastic-agent/pkg/testing/tools/testcontext" + "github.com/elastic/elastic-agent/pkg/version" + "github.com/elastic/elastic-agent/testing/upgradetest" +) + +func TestStandaloneUpgrade_Flavor_Basic(t *testing.T) { + define.Require(t, define.Requirements{ + Group: Upgrade, + Local: false, // requires Agent installation + Sudo: true, // requires Agent installation + }) + + minVersion := upgradetest.Version_9_0_0_SNAPSHOT + currentVersion, err := version.ParseVersion(define.Version()) + require.NoError(t, err) + + if currentVersion.Less(*minVersion) { + t.Skipf("Version %s is lower than min version %s", define.Version(), minVersion) + } + + versionList, err := upgradetest.GetUpgradableVersions() + require.NoError(t, err) + endVersion, err := version.ParseVersion(define.Version()) + require.NoError(t, err) + + checkFn := func(t *testing.T, fixture *atesting.Fixture) { + testComponentsPresence(context.Background(), fixture, + []componentPresenceDefinition{ + {"agentbeat", []string{"windows", "linux", "darwin"}}, + {"endpoint-security", []string{"windows", "linux", "darwin"}}, + {"pf-host-agent", []string{"linux"}}, + }, + []componentPresenceDefinition{ + {"cloudbeat", []string{"linux"}}, + {"apm-server", []string{"windows", "linux", "darwin"}}, + {"fleet-server", []string{"windows", "linux", "darwin"}}, + {"pf-elastic-symbolizer", []string{"linux"}}, + {"pf-elastic-collector", []string{"linux"}}, + }) + } + + for _, startVersion := range versionList { + // feature supported from 9.0.0 + if startVersion.Less(*minVersion) { + continue + } + + unprivilegedAvailable := false + if upgradetest.SupportsUnprivileged(startVersion, endVersion) { + unprivilegedAvailable = true + } + + t.Run(fmt.Sprintf("Upgrade %s to %s (privileged)", startVersion, define.Version()), func(t *testing.T) { + testStandaloneUpgradeFlavorCheck(t, startVersion, define.Version(), false, false, checkFn) + }) + if unprivilegedAvailable { + t.Run(fmt.Sprintf("Upgrade %s to %s (unprivileged)", startVersion, define.Version()), func(t *testing.T) { + testStandaloneUpgradeFlavorCheck(t, startVersion, define.Version(), true, false, checkFn) + }) + } + } +} + +func TestStandaloneUpgrade_Flavor_Servers(t *testing.T) { + define.Require(t, define.Requirements{ + Group: Upgrade, + Local: false, // requires Agent installation + Sudo: true, // requires Agent installation + }) + + minVersion := upgradetest.Version_9_0_0_SNAPSHOT + currentVersion, err := version.ParseVersion(define.Version()) + require.NoError(t, err) + + if currentVersion.Less(*minVersion) { + t.Skipf("Version %s is lower than min version %s", define.Version(), minVersion) + } + + versionList, err := upgradetest.GetUpgradableVersions() + require.NoError(t, err) + endVersion, err := version.ParseVersion(define.Version()) + require.NoError(t, err) + + checkFn := func(t *testing.T, fixture *atesting.Fixture) { + testComponentsPresence(context.Background(), fixture, + []componentPresenceDefinition{ + {"agentbeat", []string{"windows", "linux", "darwin"}}, + {"endpoint-security", []string{"windows", "linux", "darwin"}}, + {"pf-host-agent", []string{"linux"}}, + {"cloudbeat", []string{"linux"}}, + {"apm-server", []string{"windows", "linux", "darwin"}}, + {"fleet-server", []string{"windows", "linux", "darwin"}}, + {"pf-elastic-symbolizer", []string{"linux"}}, + {"pf-elastic-collector", []string{"linux"}}, + }, + []componentPresenceDefinition{}) + } + + for _, startVersion := range versionList { + // feature supported from 9.0.0 + if startVersion.Less(*minVersion) { + continue + } + + unprivilegedAvailable := false + if upgradetest.SupportsUnprivileged(startVersion, endVersion) { + unprivilegedAvailable = true + } + + t.Run(fmt.Sprintf("Upgrade %s to %s (privileged)", startVersion, define.Version()), func(t *testing.T) { + testStandaloneUpgradeFlavorCheck(t, startVersion, define.Version(), false, true, checkFn) + }) + if unprivilegedAvailable { + t.Run(fmt.Sprintf("Upgrade %s to %s (unprivileged)", startVersion, define.Version()), func(t *testing.T) { + testStandaloneUpgradeFlavorCheck(t, startVersion, define.Version(), true, true, checkFn) + }) + } + } +} + +func TestStandaloneUpgrade_Flavor_UpgradeFromUnflavored(t *testing.T) { + define.Require(t, define.Requirements{ + Group: Upgrade, + Local: false, // requires Agent installation + Sudo: true, // requires Agent installation + }) + + minVersion := upgradetest.Version_9_0_0_SNAPSHOT + currentVersion, err := version.ParseVersion(define.Version()) + require.NoError(t, err) + + if currentVersion.Less(*minVersion) { + t.Skipf("Version %s is lower than min version %s", define.Version(), minVersion) + } + + versionList, err := upgradetest.GetUpgradableVersions() + require.NoError(t, err) + endVersion, err := version.ParseVersion(define.Version()) + require.NoError(t, err) + + checkFn := func(t *testing.T, fixture *atesting.Fixture) { + testComponentsPresence(context.Background(), fixture, + []componentPresenceDefinition{ + {"agentbeat", []string{"windows", "linux", "darwin"}}, + {"endpoint-security", []string{"windows", "linux", "darwin"}}, + {"pf-host-agent", []string{"linux"}}, + {"cloudbeat", []string{"linux"}}, + {"apm-server", []string{"windows", "linux", "darwin"}}, + {"fleet-server", []string{"windows", "linux", "darwin"}}, + {"pf-elastic-symbolizer", []string{"linux"}}, + {"pf-elastic-collector", []string{"linux"}}, + }, + []componentPresenceDefinition{}) + } + + for _, startVersion := range versionList { + // feature supported from 9.0.0 + if !startVersion.Less(*minVersion) { + continue + } + + unprivilegedAvailable := false + if upgradetest.SupportsUnprivileged(startVersion, endVersion) { + unprivilegedAvailable = true + } + + t.Run(fmt.Sprintf("Upgrade %s to %s (privileged)", startVersion, define.Version()), func(t *testing.T) { + testStandaloneUpgradeFlavorCheck(t, startVersion, define.Version(), false, false, checkFn) + }) + if unprivilegedAvailable { + t.Run(fmt.Sprintf("Upgrade %s to %s (unprivileged)", startVersion, define.Version()), func(t *testing.T) { + testStandaloneUpgradeFlavorCheck(t, startVersion, define.Version(), true, false, checkFn) + }) + } + } +} + +func testStandaloneUpgradeFlavorCheck(t *testing.T, startVersion *version.ParsedSemVer, endVersion string, unprivileged bool, hasServers bool, flavorCheck func(t *testing.T, f *atesting.Fixture)) { + ctx, cancel := testcontext.WithDeadline(t, context.Background(), time.Now().Add(10*time.Minute)) + defer cancel() + + startFixture, err := atesting.NewFixture( + t, + startVersion.String(), + atesting.WithFetcher(atesting.ArtifactFetcher()), + ) + require.NoError(t, err, "error creating previous agent fixture") + + endFixture, err := define.NewFixtureFromLocalBuild(t, endVersion) + require.NoError(t, err) + + startVersionInfo, err := startFixture.ExecVersion(ctx) + require.NoError(t, err) + endVersionInfo, err := endFixture.ExecVersion(ctx) + require.NoError(t, err) + if startVersionInfo.Binary.Commit == endVersionInfo.Binary.Commit { + t.Skipf("both start and end versions have the same hash %q, skipping...", startVersionInfo.Binary.Commit) + return + } + + upgradeOpts := []upgradetest.UpgradeOpt{ + upgradetest.WithUnprivileged(unprivileged), + } + if hasServers { + upgradeOpts = append(upgradeOpts, upgradetest.WithServers()) + } + + err = upgradetest.PerformUpgrade(ctx, startFixture, endFixture, t, upgradeOpts...) + assert.NoError(t, err) + + flavorCheck(t, endFixture) +} diff --git a/testing/upgradetest/upgrader.go b/testing/upgradetest/upgrader.go index 43ca705ed25..c1dec8b379a 100644 --- a/testing/upgradetest/upgrader.go +++ b/testing/upgradetest/upgrader.go @@ -42,6 +42,7 @@ type upgradeOpts struct { skipDefaultPgp bool customPgp *CustomPGP customWatcherCfg string + installServers bool // Used to disable upgrade details checks for versions that don't support them, like 7.17.x. // See also WithDisableUpgradeWatcherUpgradeDetailsCheck. @@ -131,6 +132,13 @@ func WithCustomWatcherConfig(cfg string) UpgradeOpt { } } +// WithServers will use start version with servers flavor. +func WithServers() UpgradeOpt { + return func(opts *upgradeOpts) { + opts.installServers = true + } +} + // WithDisableUpgradeWatcherUpgradeDetailsCheck disables any assertions for // upgrade details that are being set by the Upgrade Watcher. This option is // useful in upgrade tests where the end Agent version does not contain changes @@ -260,6 +268,7 @@ func PerformUpgrade( NonInteractive: nonInteractiveFlag, Force: true, Privileged: !(*upgradeOpts.unprivileged), + InstallServers: upgradeOpts.installServers, } output, err := startFixture.Install(ctx, &installOpts) if err != nil { diff --git a/testing/upgradetest/versions.go b/testing/upgradetest/versions.go index 29a1c0a7152..ff13ac18ebc 100644 --- a/testing/upgradetest/versions.go +++ b/testing/upgradetest/versions.go @@ -39,6 +39,8 @@ var ( Version_8_13_0_SNAPSHOT = version.NewParsedSemVer(8, 13, 0, "SNAPSHOT", "") // Version_8_14_0_SNAPSHOT is the minimum version for proper unprivileged execution on all platforms Version_8_14_0_SNAPSHOT = version.NewParsedSemVer(8, 14, 0, "SNAPSHOT", "") + // Version_8_14_0_SNAPSHOT is the minimum version for proper unprivileged execution on all platforms + Version_9_0_0_SNAPSHOT = version.NewParsedSemVer(9, 0, 0, "SNAPSHOT", "") // ErrNoSnapshot is returned when a requested snapshot is not on the version list. ErrNoSnapshot = errors.New("failed to find a snapshot on the version list") From 583844cef7c68d409c9ef6a554265b16ac39d050 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Mon, 10 Feb 2025 09:40:53 +0100 Subject: [PATCH 02/17] ci(catalog-info): disable tags builds (#6752) --- catalog-info.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/catalog-info.yaml b/catalog-info.yaml index ee8c8fdbb4e..8e3f7ce546d 100644 --- a/catalog-info.yaml +++ b/catalog-info.yaml @@ -37,14 +37,15 @@ spec: name: elastic-agent description: Buildkite pipeline for the Elastic Agent project spec: - branch_configuration: "main 7.* 8.* 9.* v7.* v8.* v9.*" + branch_configuration: "main 7.* 8.* 9.*" repository: elastic/elastic-agent pipeline_file: ".buildkite/pipeline.yml" provider_settings: build_pull_request_forks: false build_pull_requests: true - build_tags: true + build_tags: false filter_enabled: true + # TODO: what's the reason for this filter? filter_condition: >- build.pull_request.id == null || (build.creator.name == 'elasticmachine' && build.pull_request.id != null) schedules: @@ -216,7 +217,7 @@ spec: name: elastic-agent-binary-dra description: Buildkite pipeline for packaging Elastic Agent core binary and publish it to DRA spec: - branch_configuration: "main 7.* 8.* 9.* v7.* v8.* v9.*" + branch_configuration: "main 7.* 8.* 9.*" pipeline_file: ".buildkite/pipeline.elastic-agent-binary-dra.yml" provider_settings: build_pull_request_forks: false @@ -225,6 +226,7 @@ spec: build_tags: false build_branches: true # enable build for branches. This relies on the filter in .buildkite/pipeline.elastic-agent-binary-dra.yml filter_enabled: true + # TODO: what's the reason for this filter? filter_condition: >- build.pull_request.id == null || (build.creator.name == 'elasticmachine' && build.pull_request.id != null) repository: elastic/elastic-agent @@ -311,6 +313,7 @@ spec: build_tags: false build_branches: false filter_enabled: true + # TODO: what's the reason for this filter? filter_condition: >- build.pull_request.id == null || (build.creator.name == 'elasticmachine' && build.pull_request.id != null) repository: elastic/elastic-agent From 61771d763aeec65a952adfa00b02944af02b570b Mon Sep 17 00:00:00 2001 From: Andrzej Stencel Date: Mon, 10 Feb 2025 11:37:33 +0100 Subject: [PATCH 03/17] [otel] Update OTel components to `v0.119.0` (#6713) * sed -i 's/\(go\.opentelemetry\.io\/collector.*\) v0\.117.0/\1 v0.119.0/' go.mod * sed -i 's/\(go\.opentelemetry\.io\/collector.*\) v1\.23\.0/\1 v1.25.0/' go.mod * sed -i 's/\(github\.com\/open-telemetry\/opentelemetry\-collector\-contrib\/.*\) v0\.117\.0/\1 v0.119.0/' go.mod * go mod tidy * mage notice * mage otel:readme * add changelog entry --- NOTICE.txt | 1456 ++++++++++++----- .../1738752554-update-otel-v0.119.0.yaml | 32 + go.mod | 352 ++-- go.sum | 768 ++++----- internal/pkg/otel/README.md | 78 +- 5 files changed, 1697 insertions(+), 989 deletions(-) create mode 100644 changelog/fragments/1738752554-update-otel-v0.119.0.yaml diff --git a/NOTICE.txt b/NOTICE.txt index 5309ca6f952..54fef429cb7 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -238,11 +238,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/docker/docker -Version: v27.4.1+incompatible +Version: v27.5.1+incompatible Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/docker/docker@v27.4.1+incompatible/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/docker/docker@v27.5.1+incompatible/LICENSE: Apache License @@ -4834,11 +4834,11 @@ Contents of probable licence file $GOMODCACHE/github.com/oklog/ulid/v2@v2.1.0/LI -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -5045,11 +5045,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -5256,11 +5256,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -5467,11 +5467,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -5678,11 +5678,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -5889,11 +5889,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6100,11 +6100,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6311,11 +6311,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6522,11 +6522,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6733,11 +6733,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -6944,11 +6944,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7155,11 +7155,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7366,11 +7366,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7577,11 +7577,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7788,11 +7788,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -7999,11 +7999,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8210,11 +8210,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8421,11 +8421,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8632,11 +8632,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -8843,11 +8843,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -9054,11 +9054,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -9265,11 +9265,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -9476,11 +9476,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -9687,11 +9687,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -9898,11 +9898,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -10109,11 +10109,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -10320,11 +10320,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -10531,11 +10531,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -10742,11 +10742,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -10953,11 +10953,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -11164,11 +11164,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -11375,11 +11375,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -13298,11 +13298,11 @@ Contents of probable licence file $GOMODCACHE/go.elastic.co/go-licence-detector@ -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/component -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/component@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/component@v0.119.0/LICENSE: Apache License @@ -13510,11 +13510,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/comp -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/component/componentstatus -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/component/componentstatus@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/component/componentstatus@v0.119.0/LICENSE: Apache License @@ -13722,11 +13722,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/comp -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/confmap -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap@v1.25.0/LICENSE: Apache License @@ -13934,11 +13934,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/confmap/provider/envprovider -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap/provider/envprovider@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap/provider/envprovider@v1.25.0/LICENSE: Apache License @@ -14146,11 +14146,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/confmap/provider/fileprovider -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap/provider/fileprovider@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap/provider/fileprovider@v1.25.0/LICENSE: Apache License @@ -14358,11 +14358,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/confmap/provider/httpprovider -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap/provider/httpprovider@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap/provider/httpprovider@v1.25.0/LICENSE: Apache License @@ -14570,11 +14570,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/confmap/provider/httpsprovider -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap/provider/httpsprovider@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap/provider/httpsprovider@v1.25.0/LICENSE: Apache License @@ -14782,11 +14782,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/confmap/provider/yamlprovider -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap/provider/yamlprovider@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/confmap/provider/yamlprovider@v1.25.0/LICENSE: Apache License @@ -14994,11 +14994,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/connector -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/connector@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/connector@v0.119.0/LICENSE: Apache License @@ -15206,11 +15206,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conn -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/exporter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter@v0.119.0/LICENSE: Apache License @@ -15418,11 +15418,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/expo -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/exporter/debugexporter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/debugexporter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/debugexporter@v0.119.0/LICENSE: Apache License @@ -15630,11 +15630,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/expo -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/exporter/otlpexporter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/otlpexporter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/otlpexporter@v0.119.0/LICENSE: Apache License @@ -15842,11 +15842,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/expo -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/exporter/otlphttpexporter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/otlphttpexporter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/otlphttpexporter@v0.119.0/LICENSE: Apache License @@ -16054,11 +16054,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/expo -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/extension -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension@v0.119.0/LICENSE: Apache License @@ -16266,11 +16266,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/extension/memorylimiterextension -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/memorylimiterextension@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/memorylimiterextension@v0.119.0/LICENSE: Apache License @@ -16478,11 +16478,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/featuregate -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/featuregate@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/featuregate@v1.25.0/LICENSE: Apache License @@ -16690,11 +16690,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/feat -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/otelcol -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/otelcol@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/otelcol@v0.119.0/LICENSE: Apache License @@ -16902,11 +16902,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/otel -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/processor -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor@v0.119.0/LICENSE: Apache License @@ -17114,11 +17114,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/processor/batchprocessor -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/batchprocessor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/batchprocessor@v0.119.0/LICENSE: Apache License @@ -17326,11 +17326,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/processor/memorylimiterprocessor -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/memorylimiterprocessor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/memorylimiterprocessor@v0.119.0/LICENSE: Apache License @@ -17538,11 +17538,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/receiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver@v0.119.0/LICENSE: Apache License @@ -17750,11 +17750,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/receiver/nopreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/nopreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/nopreceiver@v0.119.0/LICENSE: Apache License @@ -17962,11 +17962,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/receiver/otlpreceiver -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/otlpreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/otlpreceiver@v0.119.0/LICENSE: Apache License @@ -18573,11 +18573,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : google.golang.org/grpc -Version: v1.69.2 +Version: v1.70.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/google.golang.org/grpc@v1.69.2/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/grpc@v1.70.0/LICENSE: Apache License @@ -18785,11 +18785,11 @@ Contents of probable licence file $GOMODCACHE/google.golang.org/grpc@v1.69.2/LIC -------------------------------------------------------------------------------- Dependency : google.golang.org/protobuf -Version: v1.36.2 +Version: v1.36.4 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/google.golang.org/protobuf@v1.36.2/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/protobuf@v1.36.4/LICENSE: Copyright (c) 2018 The Go Authors. All rights reserved. @@ -27434,11 +27434,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- Dependency : github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp -Version: v1.25.0 +Version: v1.26.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!google!cloud!platform/opentelemetry-operations-go/detectors/gcp@v1.25.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/!google!cloud!platform/opentelemetry-operations-go/detectors/gcp@v1.26.0/LICENSE: Apache License @@ -27677,11 +27677,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/IBM/sarama -Version: v1.44.0 +Version: v1.45.0 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/!i!b!m/sarama@v1.44.0/LICENSE.md: +Contents of probable licence file $GOMODCACHE/github.com/!i!b!m/sarama@v1.45.0/LICENSE.md: # MIT License @@ -31256,11 +31256,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-msk-iam-sasl-si -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go -Version: v1.55.5 +Version: v1.55.6 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go@v1.55.5/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go@v1.55.6/LICENSE.txt: Apache License @@ -31468,11 +31468,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go@v1.55.5/ -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2 -Version: v1.32.7 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2@v1.32.7/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2@v1.34.0/LICENSE.txt: Apache License @@ -31892,11 +31892,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/aws/p -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/config -Version: v1.28.7 +Version: v1.29.2 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/config@v1.28.7/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/config@v1.29.2/LICENSE.txt: Apache License @@ -32104,11 +32104,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/confi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/credentials -Version: v1.17.48 +Version: v1.17.55 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/credentials@v1.17.48/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/credentials@v1.17.55/LICENSE.txt: Apache License @@ -32316,11 +32316,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/crede -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/feature/ec2/imds -Version: v1.16.22 +Version: v1.16.25 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.16.22/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.16.25/LICENSE.txt: Apache License @@ -32740,11 +32740,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/featu -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/internal/configsources -Version: v1.3.26 +Version: v1.3.29 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.3.26/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/configsources@v1.3.29/LICENSE.txt: Apache License @@ -32952,11 +32952,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/inter -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 -Version: v2.6.26 +Version: v2.6.29 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.6.26/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.6.29/LICENSE.txt: Apache License @@ -33164,11 +33164,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/inter -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/internal/ini -Version: v1.8.1 +Version: v1.8.2 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.1/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/internal/ini@v1.8.2/LICENSE.txt: Apache License @@ -33800,11 +33800,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/ec2 -Version: v1.176.0 +Version: v1.202.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/ec2@v1.176.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/ec2@v1.202.0/LICENSE.txt: Apache License @@ -34224,11 +34224,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding -Version: v1.12.1 +Version: v1.12.2 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.12.1/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.12.2/LICENSE.txt: Apache License @@ -34648,11 +34648,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/internal/presigned-url -Version: v1.12.7 +Version: v1.12.10 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.12.7/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.12.10/LICENSE.txt: Apache License @@ -35284,11 +35284,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/servicediscovery -Version: v1.34.1 +Version: v1.34.7 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/servicediscovery@v1.34.1/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/servicediscovery@v1.34.7/LICENSE.txt: Apache License @@ -35708,11 +35708,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/sso -Version: v1.24.8 +Version: v1.24.12 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sso@v1.24.8/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sso@v1.24.12/LICENSE.txt: Apache License @@ -35920,11 +35920,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/ssooidc -Version: v1.28.7 +Version: v1.28.11 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.28.7/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.28.11/LICENSE.txt: Apache License @@ -36132,11 +36132,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/aws-sdk-go-v2/service/sts -Version: v1.33.3 +Version: v1.33.10 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sts@v1.33.3/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/service/sts@v1.33.10/LICENSE.txt: Apache License @@ -36344,11 +36344,11 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi -------------------------------------------------------------------------------- Dependency : github.com/aws/smithy-go -Version: v1.22.1 +Version: v1.22.2 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/aws/smithy-go@v1.22.1/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/aws/smithy-go@v1.22.2/LICENSE: Apache License @@ -36830,11 +36830,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/bmatcuk/doublestar/v4 -Version: v4.7.1 +Version: v4.8.1 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/bmatcuk/doublestar/v4@v4.7.1/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/bmatcuk/doublestar/v4@v4.8.1/LICENSE: The MIT License (MIT) @@ -50228,11 +50228,11 @@ SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/goccy/go-json -Version: v0.10.4 +Version: v0.10.5 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/goccy/go-json@v0.10.4/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/goccy/go-json@v0.10.5/LICENSE: MIT License @@ -54688,11 +54688,11 @@ Contents of probable licence file $GOMODCACHE/github.com/grpc-ecosystem/go-grpc- -------------------------------------------------------------------------------- Dependency : github.com/grpc-ecosystem/go-grpc-middleware/v2 -Version: v2.1.0 +Version: v2.2.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/grpc-ecosystem/go-grpc-middleware/v2@v2.1.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/grpc-ecosystem/go-grpc-middleware/v2@v2.2.0/LICENSE: Apache License Version 2.0, January 2004 @@ -54898,11 +54898,11 @@ Contents of probable licence file $GOMODCACHE/github.com/grpc-ecosystem/go-grpc- -------------------------------------------------------------------------------- Dependency : github.com/grpc-ecosystem/grpc-gateway/v2 -Version: v2.24.0 +Version: v2.25.1 Licence type (autodetected): BSD-3-Clause -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/grpc-ecosystem/grpc-gateway/v2@v2.24.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/grpc-ecosystem/grpc-gateway/v2@v2.25.1/LICENSE: Copyright (c) 2015, Gengo, Inc. All rights reserved. @@ -62166,11 +62166,11 @@ Contents of probable licence file $GOMODCACHE/github.com/ionos-cloud/sdk-go/v6@v -------------------------------------------------------------------------------- Dependency : github.com/jaegertracing/jaeger -Version: v1.64.0 +Version: v1.65.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/jaegertracing/jaeger@v1.64.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/jaegertracing/jaeger@v1.65.0/LICENSE: Apache License Version 2.0, January 2004 @@ -70479,11 +70479,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -70690,11 +70690,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -70901,11 +70901,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -71112,11 +71112,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -71323,11 +71323,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -71534,11 +71534,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -71745,11 +71745,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/common -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/common@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/common@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -71956,11 +71956,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -72167,11 +72167,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -72378,11 +72378,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -72589,11 +72589,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -72799,12 +72799,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest -Version: v0.117.0 +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -73010,12 +73010,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka -Version: v0.117.0 +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -73221,12 +73221,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet -Version: v0.117.0 +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -73432,12 +73432,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders -Version: v0.117.0 +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -73643,12 +73643,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil -Version: v0.117.0 +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -73854,12 +73854,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent -Version: v0.117.0 +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -74065,12 +74065,12 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- -Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal -Version: v0.117.0 +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -74277,11 +74277,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -74488,11 +74488,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -74699,11 +74699,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -74910,11 +74910,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -75121,11 +75121,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -75332,11 +75332,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -75543,11 +75543,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -75754,11 +75754,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -75965,11 +75965,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -76176,11 +76176,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -76387,11 +76387,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -76598,11 +76598,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -76809,11 +76809,11 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -77020,11 +77020,222 @@ Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentele -------------------------------------------------------------------------------- Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin -Version: v0.117.0 +Version: v0.119.0 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin@v0.119.0/LICENSE: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +-------------------------------------------------------------------------------- +Dependency : github.com/open-telemetry/opentelemetry-collector-contrib/pkg/xk8stest +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/xk8stest@v0.119.0/LICENSE: Apache License Version 2.0, January 2004 @@ -79662,11 +79873,11 @@ Contents of probable licence file $GOMODCACHE/github.com/prometheus/client_model -------------------------------------------------------------------------------- Dependency : github.com/prometheus/common -Version: v0.61.0 +Version: v0.62.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/prometheus/common@v0.61.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/prometheus/common@v0.62.0/LICENSE: Apache License Version 2.0, January 2004 @@ -82546,11 +82757,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Dependency : github.com/testcontainers/testcontainers-go -Version: v0.34.0 +Version: v0.35.0 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/testcontainers/testcontainers-go@v0.34.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/testcontainers/testcontainers-go@v0.35.0/LICENSE: The MIT License (MIT) @@ -82723,6 +82934,37 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +Dependency : github.com/tilinna/clock +Version: v1.1.0 +Licence type (autodetected): MIT +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/github.com/tilinna/clock@v1.1.0/LICENSE: + +MIT License + +Copyright (c) 2018 Timo Linna + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + -------------------------------------------------------------------------------- Dependency : github.com/tklauser/go-sysconf Version: v0.3.12 @@ -86226,13 +86468,224 @@ Contents of probable licence file $GOMODCACHE/go.opencensus.io@v0.24.0/LICENSE: See the License for the specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- +Dependency : go.opentelemetry.io/auto/sdk +Version: v1.1.0 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/auto/sdk@v1.1.0/LICENSE: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector@v0.119.0/LICENSE: Apache License @@ -86440,11 +86893,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector@v0.1 -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/client -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/client@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/client@v1.25.0/LICENSE: Apache License @@ -86652,11 +87105,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/clie -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/component/componenttest -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/component/componenttest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/component/componenttest@v0.119.0/LICENSE: Apache License @@ -86864,11 +87317,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/comp -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/config/configauth -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configauth@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configauth@v0.119.0/LICENSE: Apache License @@ -87076,11 +87529,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/config/configcompression -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configcompression@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configcompression@v1.25.0/LICENSE: Apache License @@ -87288,11 +87741,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/config/configgrpc -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configgrpc@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configgrpc@v0.119.0/LICENSE: Apache License @@ -87500,11 +87953,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/config/confighttp -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/confighttp@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/confighttp@v0.119.0/LICENSE: Apache License @@ -87712,11 +88165,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/config/confignet -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/confignet@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/confignet@v1.25.0/LICENSE: Apache License @@ -87924,11 +88377,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/config/configopaque -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configopaque@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configopaque@v1.25.0/LICENSE: Apache License @@ -88136,11 +88589,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/config/configretry -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configretry@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configretry@v1.25.0/LICENSE: Apache License @@ -88348,11 +88801,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/config/configtelemetry -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configtelemetry@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configtelemetry@v0.119.0/LICENSE: Apache License @@ -88560,11 +89013,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/config/configtls -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configtls@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/config/configtls@v1.25.0/LICENSE: Apache License @@ -88772,11 +89225,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conf -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/connector/connectortest -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/connector/connectortest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/connector/connectortest@v0.119.0/LICENSE: Apache License @@ -88984,11 +89437,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conn -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/connector/xconnector -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/connector/xconnector@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/connector/xconnector@v0.119.0/LICENSE: Apache License @@ -89196,11 +89649,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/conn -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/consumer -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/consumer@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/consumer@v1.25.0/LICENSE: Apache License @@ -89408,11 +89861,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/cons -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/consumer/consumererror -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/consumer/consumererror@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/consumer/consumererror@v0.119.0/LICENSE: Apache License @@ -89620,11 +90073,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/cons -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/consumer/consumererror/xconsumererror -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/consumer/consumererror/xconsumererror@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/consumer/consumererror/xconsumererror@v0.119.0/LICENSE: Apache License @@ -89832,11 +90285,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/cons -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/consumer/consumertest -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/consumer/consumertest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/consumer/consumertest@v0.119.0/LICENSE: Apache License @@ -90044,11 +90497,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/cons -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/consumer/xconsumer -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/consumer/xconsumer@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/consumer/xconsumer@v0.119.0/LICENSE: Apache License @@ -90256,11 +90709,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/cons -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper@v0.119.0/LICENSE: Apache License @@ -90468,11 +90921,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/expo -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/exporter/exportertest -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/exportertest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/exportertest@v0.119.0/LICENSE: Apache License @@ -90680,11 +91133,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/expo -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/exporter/xexporter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/xexporter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exporter/xexporter@v0.119.0/LICENSE: Apache License @@ -90892,11 +91345,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/expo -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/extension/auth -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/auth@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/auth@v0.119.0/LICENSE: Apache License @@ -91104,11 +91557,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/extension/auth/authtest -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/auth/authtest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/auth/authtest@v0.119.0/LICENSE: Apache License @@ -91316,11 +91769,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/extension/extensioncapabilities -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/extensioncapabilities@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/extensioncapabilities@v0.119.0/LICENSE: Apache License @@ -91528,11 +91981,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/extension/extensiontest -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/extensiontest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/extensiontest@v0.119.0/LICENSE: Apache License @@ -91740,11 +92193,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/extension/xextension -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/xextension@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/xextension@v0.119.0/LICENSE: Apache License @@ -91952,11 +92405,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/extension/zpagesextension -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/zpagesextension@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/extension/zpagesextension@v0.119.0/LICENSE: Apache License @@ -92164,11 +92617,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/exte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/filter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/filter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/filter@v0.119.0/LICENSE: Apache License @@ -92376,11 +92829,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/filt -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/internal/fanoutconsumer -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/internal/fanoutconsumer@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/internal/fanoutconsumer@v0.119.0/LICENSE: Apache License @@ -92588,11 +93041,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/inte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/internal/memorylimiter -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/internal/memorylimiter@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/internal/memorylimiter@v0.119.0/LICENSE: Apache License @@ -92800,11 +93253,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/inte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/internal/sharedcomponent -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/internal/sharedcomponent@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/internal/sharedcomponent@v0.119.0/LICENSE: Apache License @@ -93012,11 +93465,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/inte -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/otelcol/otelcoltest -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/otelcol/otelcoltest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/otelcol/otelcoltest@v0.119.0/LICENSE: Apache License @@ -93224,11 +93677,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/otel -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/pdata -Version: v1.23.0 +Version: v1.25.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata@v1.23.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata@v1.25.0/LICENSE: Apache License @@ -93436,11 +93889,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/pdata/pprofile -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/pprofile@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/pprofile@v0.119.0/LICENSE: Apache License @@ -93648,11 +94101,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/pdata/testdata -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/testdata@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdata/testdata@v0.119.0/LICENSE: Apache License @@ -93860,11 +94313,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pdat -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/pipeline -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipeline@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipeline@v0.119.0/LICENSE: Apache License @@ -94071,12 +94524,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipe -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pipeline/pipelineprofiles -Version: v0.116.0 +Dependency : go.opentelemetry.io/collector/pipeline/xpipeline +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipeline/pipelineprofiles@v0.116.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipeline/xpipeline@v0.119.0/LICENSE: Apache License @@ -94283,12 +94736,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipe -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/pipeline/xpipeline -Version: v0.117.0 +Dependency : go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipeline/xpipeline@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper@v0.119.0/LICENSE: Apache License @@ -94495,12 +94948,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/pipe -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper -Version: v0.117.0 +Dependency : go.opentelemetry.io/collector/processor/processortest +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processortest@v0.119.0/LICENSE: Apache License @@ -94707,12 +95160,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/processortest -Version: v0.117.0 +Dependency : go.opentelemetry.io/collector/processor/xprocessor +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/processortest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/xprocessor@v0.119.0/LICENSE: Apache License @@ -94919,12 +95372,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/processor/xprocessor -Version: v0.117.0 +Dependency : go.opentelemetry.io/collector/receiver/receivertest +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/processor/xprocessor@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/receivertest@v0.119.0/LICENSE: Apache License @@ -95131,12 +95584,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/proc -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/receiver/receivertest -Version: v0.117.0 +Dependency : go.opentelemetry.io/collector/receiver/xreceiver +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/receivertest@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/xreceiver@v0.119.0/LICENSE: Apache License @@ -95343,12 +95796,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/receiver/xreceiver -Version: v0.117.0 +Dependency : go.opentelemetry.io/collector/scraper +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/receiver/xreceiver@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper@v0.119.0/LICENSE: Apache License @@ -95555,12 +96008,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/rece -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/scraper -Version: v0.117.0 +Dependency : go.opentelemetry.io/collector/scraper/scraperhelper +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper/scraperhelper@v0.119.0/LICENSE: Apache License @@ -95767,12 +96220,12 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scra -------------------------------------------------------------------------------- -Dependency : go.opentelemetry.io/collector/scraper/scraperhelper -Version: v0.117.0 +Dependency : go.opentelemetry.io/collector/scraper/scrapertest +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper/scraperhelper@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scraper/scrapertest@v0.119.0/LICENSE: Apache License @@ -95980,11 +96433,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/scra -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/semconv -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/semconv@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/semconv@v0.119.0/LICENSE: Apache License @@ -96192,11 +96645,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/semc -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/collector/service -Version: v0.117.0 +Version: v0.119.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/service@v0.117.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/service@v0.119.0/LICENSE: Apache License @@ -96404,11 +96857,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/collector/serv -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/contrib/bridges/otelzap -Version: v0.6.0 +Version: v0.9.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/bridges/otelzap@v0.6.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/bridges/otelzap@v0.9.0/LICENSE: Apache License Version 2.0, January 2004 @@ -96615,11 +97068,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/bridge -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/contrib/config -Version: v0.10.0 +Version: v0.14.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/config@v0.10.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/config@v0.14.0/LICENSE: Apache License Version 2.0, January 2004 @@ -96826,11 +97279,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/config -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc -Version: v0.57.0 +Version: v0.59.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.57.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.59.0/LICENSE: Apache License Version 2.0, January 2004 @@ -97037,11 +97490,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instru -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp -Version: v0.57.0 +Version: v0.59.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.57.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.59.0/LICENSE: Apache License Version 2.0, January 2004 @@ -97248,11 +97701,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/instru -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/contrib/propagators/b3 -Version: v1.31.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/b3@v1.31.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propagators/b3@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -97459,11 +97912,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/propag -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/contrib/zpages -Version: v0.56.0 +Version: v0.59.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/zpages@v0.56.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/zpages@v0.59.0/LICENSE: Apache License Version 2.0, January 2004 @@ -97670,11 +98123,222 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/contrib/zpages -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.34.0/LICENSE: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +-------------------------------------------------------------------------------- +Dependency : go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc +Version: v0.10.0 +Licence type (autodetected): Apache-2.0 +-------------------------------------------------------------------------------- + +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc@v0.10.0/LICENSE: Apache License Version 2.0, January 2004 @@ -97881,11 +98545,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel@v1.32.0/L -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp -Version: v0.7.0 +Version: v0.10.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp@v0.7.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp@v0.10.0/LICENSE: Apache License Version 2.0, January 2004 @@ -98092,11 +98756,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -98303,11 +98967,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -98514,11 +99178,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/otlp/otlptrace -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -98725,11 +99389,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -98936,11 +99600,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -99147,11 +99811,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/prometheus -Version: v0.54.0 +Version: v0.56.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/prometheus@v0.54.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/prometheus@v0.56.0/LICENSE: Apache License Version 2.0, January 2004 @@ -99358,11 +100022,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/stdout/stdoutlog -Version: v0.7.0 +Version: v0.10.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/stdout/stdoutlog@v0.7.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/stdout/stdoutlog@v0.10.0/LICENSE: Apache License Version 2.0, January 2004 @@ -99569,11 +100233,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/stdout/stdoutmetric -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/stdout/stdoutmetric@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/stdout/stdoutmetric@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -99780,11 +100444,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/exporters/stdout/stdouttrace -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/stdout/stdouttrace@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters/stdout/stdouttrace@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -99991,11 +100655,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/exporters -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/log -Version: v0.8.0 +Version: v0.10.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/log@v0.8.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/log@v0.10.0/LICENSE: Apache License Version 2.0, January 2004 @@ -100202,11 +100866,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/log@v0.8. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/metric -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -100413,11 +101077,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/metric@v1 -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/sdk -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -100624,11 +101288,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk@v1.32 -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/sdk/log -Version: v0.7.0 +Version: v0.10.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/log@v0.7.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/log@v0.10.0/LICENSE: Apache License Version 2.0, January 2004 @@ -100835,11 +101499,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/log@v -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/sdk/metric -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metric@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metric@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -101046,11 +101710,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/sdk/metri -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/otel/trace -Version: v1.32.0 +Version: v1.34.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1.32.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1.34.0/LICENSE: Apache License Version 2.0, January 2004 @@ -101257,11 +101921,11 @@ Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/otel/trace@v1. -------------------------------------------------------------------------------- Dependency : go.opentelemetry.io/proto/otlp -Version: v1.4.0 +Version: v1.5.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/proto/otlp@v1.4.0/LICENSE: +Contents of probable licence file $GOMODCACHE/go.opentelemetry.io/proto/otlp@v1.5.0/LICENSE: Apache License Version 2.0, January 2004 @@ -102200,11 +102864,11 @@ Contents of probable licence file $GOMODCACHE/google.golang.org/genproto@v0.0.0- -------------------------------------------------------------------------------- Dependency : google.golang.org/genproto/googleapis/api -Version: v0.0.0-20241118233622-e639e219e697 +Version: v0.0.0-20250115164207-1a7da9e5054f Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/google.golang.org/genproto/googleapis/api@v0.0.0-20241118233622-e639e219e697/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/genproto/googleapis/api@v0.0.0-20250115164207-1a7da9e5054f/LICENSE: Apache License @@ -102412,11 +103076,11 @@ Contents of probable licence file $GOMODCACHE/google.golang.org/genproto/googlea -------------------------------------------------------------------------------- Dependency : google.golang.org/genproto/googleapis/rpc -Version: v0.0.0-20241118233622-e639e219e697 +Version: v0.0.0-20250115164207-1a7da9e5054f Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/google.golang.org/genproto/googleapis/rpc@v0.0.0-20241118233622-e639e219e697/LICENSE: +Contents of probable licence file $GOMODCACHE/google.golang.org/genproto/googleapis/rpc@v0.0.0-20250115164207-1a7da9e5054f/LICENSE: Apache License @@ -105459,11 +106123,11 @@ Contents of probable licence file $GOMODCACHE/oras.land/oras-go@v1.2.5/LICENSE: -------------------------------------------------------------------------------- Dependency : sigs.k8s.io/controller-runtime -Version: v0.19.3 +Version: v0.19.4 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/sigs.k8s.io/controller-runtime@v0.19.3/LICENSE: +Contents of probable licence file $GOMODCACHE/sigs.k8s.io/controller-runtime@v0.19.4/LICENSE: Apache License Version 2.0, January 2004 diff --git a/changelog/fragments/1738752554-update-otel-v0.119.0.yaml b/changelog/fragments/1738752554-update-otel-v0.119.0.yaml new file mode 100644 index 00000000000..c72cf8f99c6 --- /dev/null +++ b/changelog/fragments/1738752554-update-otel-v0.119.0.yaml @@ -0,0 +1,32 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: enhancement + +# Change summary; a 80ish characters long description of the change. +summary: Update OTel components to v0.119.0 + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +#description: + +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: elastic-agent + +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +#pr: https://github.com/owner/repo/1234 + +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +#issue: https://github.com/owner/repo/1234 diff --git a/go.mod b/go.mod index 3406eaec067..fef4d66fe62 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/cavaliergopher/rpm v1.2.0 github.com/cenkalti/backoff/v4 v4.3.0 github.com/cespare/xxhash/v2 v2.3.0 - github.com/docker/docker v27.4.1+incompatible + github.com/docker/docker v27.5.1+incompatible github.com/docker/go-units v0.5.0 github.com/dolmen-go/contextio v0.0.0-20200217195037-68fc5150bcd5 github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241212201805-58af1537830b @@ -43,21 +43,21 @@ require ( github.com/kardianos/service v1.2.1-0.20210728001519-a323c3813bc7 github.com/magefile/mage v1.15.0 github.com/oklog/ulid/v2 v2.1.0 - github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.117.0 + github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.119.0 github.com/otiai10/copy v1.14.0 github.com/rednafi/link-patrol v0.0.0-20240826150821-057643e74d4d github.com/rs/zerolog v1.27.0 @@ -73,9 +73,9 @@ require ( go.elastic.co/apm/v2 v2.6.3 go.elastic.co/ecszap v1.0.2 go.elastic.co/go-licence-detector v0.7.0 - go.opentelemetry.io/collector/component/componentstatus v0.117.0 - go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.117.0 - go.opentelemetry.io/collector/receiver/nopreceiver v0.117.0 + go.opentelemetry.io/collector/component/componentstatus v0.119.0 + go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.119.0 + go.opentelemetry.io/collector/receiver/nopreceiver v0.119.0 go.uber.org/zap v1.27.0 golang.org/x/crypto v0.32.0 golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 @@ -87,8 +87,8 @@ require ( golang.org/x/time v0.6.0 golang.org/x/tools v0.25.0 google.golang.org/api v0.199.0 - google.golang.org/grpc v1.69.2 - google.golang.org/protobuf v1.36.2 + google.golang.org/grpc v1.70.0 + google.golang.org/protobuf v1.36.4 gopkg.in/ini.v1 v1.67.0 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 @@ -106,43 +106,43 @@ require ( require ( github.com/distribution/reference v0.6.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.117.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.117.0 - go.opentelemetry.io/collector/component v0.117.0 - go.opentelemetry.io/collector/confmap v1.23.0 - go.opentelemetry.io/collector/confmap/provider/envprovider v1.23.0 - go.opentelemetry.io/collector/confmap/provider/fileprovider v1.23.0 - go.opentelemetry.io/collector/confmap/provider/httpprovider v1.23.0 - go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.23.0 - go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.23.0 - go.opentelemetry.io/collector/connector v0.117.0 - go.opentelemetry.io/collector/exporter v0.117.0 - go.opentelemetry.io/collector/exporter/debugexporter v0.117.0 - go.opentelemetry.io/collector/exporter/otlpexporter v0.117.0 - go.opentelemetry.io/collector/exporter/otlphttpexporter v0.117.0 - go.opentelemetry.io/collector/extension v0.117.0 - go.opentelemetry.io/collector/extension/memorylimiterextension v0.117.0 - go.opentelemetry.io/collector/featuregate v1.23.0 - go.opentelemetry.io/collector/otelcol v0.117.0 - go.opentelemetry.io/collector/processor v0.117.0 - go.opentelemetry.io/collector/processor/batchprocessor v0.117.0 - go.opentelemetry.io/collector/receiver v0.117.0 - go.opentelemetry.io/collector/receiver/otlpreceiver v0.117.0 + github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.119.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.119.0 + go.opentelemetry.io/collector/component v0.119.0 + go.opentelemetry.io/collector/confmap v1.25.0 + go.opentelemetry.io/collector/confmap/provider/envprovider v1.25.0 + go.opentelemetry.io/collector/confmap/provider/fileprovider v1.25.0 + go.opentelemetry.io/collector/confmap/provider/httpprovider v1.25.0 + go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.25.0 + go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.25.0 + go.opentelemetry.io/collector/connector v0.119.0 + go.opentelemetry.io/collector/exporter v0.119.0 + go.opentelemetry.io/collector/exporter/debugexporter v0.119.0 + go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0 + go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0 + go.opentelemetry.io/collector/extension v0.119.0 + go.opentelemetry.io/collector/extension/memorylimiterextension v0.119.0 + go.opentelemetry.io/collector/featuregate v1.25.0 + go.opentelemetry.io/collector/otelcol v0.119.0 + go.opentelemetry.io/collector/processor v0.119.0 + go.opentelemetry.io/collector/processor/batchprocessor v0.119.0 + go.opentelemetry.io/collector/receiver v0.119.0 + go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0 ) require ( @@ -187,8 +187,8 @@ require ( github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c // indirect github.com/Code-Hex/go-generics-cache v1.5.1 // indirect github.com/DataDog/zstd v1.4.5 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0 // indirect - github.com/IBM/sarama v1.44.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 // indirect + github.com/IBM/sarama v1.45.0 // indirect github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect github.com/Masterminds/goutils v1.1.1 // indirect @@ -214,32 +214,32 @@ require ( github.com/armon/go-radix v1.0.0 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0 // indirect - github.com/aws/aws-sdk-go v1.55.5 // indirect - github.com/aws/aws-sdk-go-v2 v1.32.7 // indirect + github.com/aws/aws-sdk-go v1.55.6 // indirect + github.com/aws/aws-sdk-go-v2 v1.34.0 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 // indirect - github.com/aws/aws-sdk-go-v2/config v1.28.7 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.48 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect + github.com/aws/aws-sdk-go-v2/config v1.29.2 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.55 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.25 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.37.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.176.0 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.202.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.10 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 // indirect github.com/aws/aws-sdk-go-v2/service/s3 v1.60.1 // indirect - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.1 // indirect + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/sqs v1.34.5 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 // indirect - github.com/aws/smithy-go v1.22.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.12 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.11 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.10 // indirect + github.com/aws/smithy-go v1.22.2 // indirect github.com/axiomhq/hyperloglog v0.2.0 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/bmatcuk/doublestar/v4 v4.7.1 // indirect + github.com/bmatcuk/doublestar/v4 v4.8.1 // indirect github.com/chai2010/gettext-go v1.0.2 // indirect github.com/cloudfoundry-community/go-cfclient v0.0.0-20190808214049-35bcce23fc5f // indirect github.com/cloudfoundry/noaa v2.1.0+incompatible // indirect @@ -328,7 +328,7 @@ require ( github.com/go-zookeeper/zk v1.0.3 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gocarina/gocsv v0.0.0-20170324095351-ffef3ffc77be // indirect - github.com/goccy/go-json v0.10.4 // indirect + github.com/goccy/go-json v0.10.5 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -356,7 +356,7 @@ require ( github.com/gosuri/uitable v0.0.4 // indirect github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 // indirect github.com/h2non/filetype v1.1.1 // indirect github.com/hashicorp/consul/api v1.31.0 // indirect github.com/hashicorp/cronexpr v1.1.2 // indirect @@ -379,7 +379,7 @@ require ( github.com/imdario/mergo v0.3.16 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/ionos-cloud/sdk-go/v6 v6.2.1 // indirect - github.com/jaegertracing/jaeger v1.64.0 // indirect + github.com/jaegertracing/jaeger v1.65.0 // indirect github.com/jaypipes/pcidb v1.0.0 // indirect github.com/jcmturner/aescts/v2 v2.0.0 // indirect github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect @@ -446,29 +446,30 @@ require ( github.com/nxadm/tail v1.4.11 // indirect github.com/onsi/ginkgo/v2 v2.20.0 // indirect github.com/onsi/gomega v1.34.1 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.117.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.117.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.119.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.119.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/openshift/api v3.9.0+incompatible // indirect @@ -487,7 +488,7 @@ require ( github.com/prometheus-community/windows_exporter v0.27.2 // indirect github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.61.0 // indirect + github.com/prometheus/common v0.62.0 // indirect github.com/prometheus/common/sigv4 v0.1.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/prometheus/prometheus v0.54.1 // indirect @@ -507,6 +508,7 @@ require ( github.com/spf13/cast v1.7.1 // indirect github.com/stoewer/go-strcase v1.2.0 // indirect github.com/stretchr/objx v0.5.2 // indirect + github.com/tilinna/clock v1.1.0 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect github.com/tklauser/numcpus v0.6.1 // indirect github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6 // indirect @@ -537,73 +539,75 @@ require ( go.etcd.io/bbolt v1.3.11 // indirect go.mongodb.org/mongo-driver v1.14.0 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector v0.117.0 // indirect - go.opentelemetry.io/collector/client v1.23.0 // indirect - go.opentelemetry.io/collector/component/componenttest v0.117.0 // indirect - go.opentelemetry.io/collector/config/configauth v0.117.0 // indirect - go.opentelemetry.io/collector/config/configcompression v1.23.0 // indirect - go.opentelemetry.io/collector/config/configgrpc v0.117.0 // indirect - go.opentelemetry.io/collector/config/confighttp v0.117.0 // indirect - go.opentelemetry.io/collector/config/confignet v1.23.0 // indirect - go.opentelemetry.io/collector/config/configopaque v1.23.0 // indirect - go.opentelemetry.io/collector/config/configretry v1.23.0 // indirect - go.opentelemetry.io/collector/config/configtelemetry v0.117.0 // indirect - go.opentelemetry.io/collector/config/configtls v1.23.0 // indirect - go.opentelemetry.io/collector/connector/connectortest v0.117.0 // indirect - go.opentelemetry.io/collector/connector/xconnector v0.117.0 // indirect - go.opentelemetry.io/collector/consumer v1.23.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.117.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.117.0 // indirect - go.opentelemetry.io/collector/consumer/consumertest v0.117.0 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.117.0 // indirect - go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.117.0 // indirect - go.opentelemetry.io/collector/exporter/exportertest v0.117.0 // indirect - go.opentelemetry.io/collector/exporter/xexporter v0.117.0 // indirect - go.opentelemetry.io/collector/extension/auth v0.117.0 // indirect - go.opentelemetry.io/collector/extension/extensioncapabilities v0.117.0 // indirect - go.opentelemetry.io/collector/extension/extensiontest v0.117.0 // indirect - go.opentelemetry.io/collector/extension/xextension v0.117.0 // indirect - go.opentelemetry.io/collector/filter v0.117.0 // indirect - go.opentelemetry.io/collector/internal/fanoutconsumer v0.117.0 // indirect - go.opentelemetry.io/collector/internal/memorylimiter v0.117.0 // indirect - go.opentelemetry.io/collector/internal/sharedcomponent v0.117.0 // indirect - go.opentelemetry.io/collector/pdata v1.23.0 // indirect - go.opentelemetry.io/collector/pdata/pprofile v0.117.0 // indirect - go.opentelemetry.io/collector/pdata/testdata v0.117.0 // indirect - go.opentelemetry.io/collector/pipeline v0.117.0 // indirect - go.opentelemetry.io/collector/pipeline/xpipeline v0.117.0 // indirect - go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.117.0 // indirect - go.opentelemetry.io/collector/processor/processortest v0.117.0 // indirect - go.opentelemetry.io/collector/processor/xprocessor v0.117.0 // indirect - go.opentelemetry.io/collector/receiver/receivertest v0.117.0 // indirect - go.opentelemetry.io/collector/receiver/xreceiver v0.117.0 // indirect - go.opentelemetry.io/collector/scraper v0.117.0 // indirect - go.opentelemetry.io/collector/scraper/scraperhelper v0.117.0 // indirect - go.opentelemetry.io/collector/semconv v0.117.0 // indirect - go.opentelemetry.io/collector/service v0.117.0 // indirect - go.opentelemetry.io/contrib/bridges/otelzap v0.6.0 // indirect - go.opentelemetry.io/contrib/config v0.10.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.57.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.31.0 // indirect - go.opentelemetry.io/otel v1.32.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.54.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.32.0 // indirect - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0 // indirect - go.opentelemetry.io/otel/log v0.8.0 // indirect - go.opentelemetry.io/otel/metric v1.32.0 // indirect - go.opentelemetry.io/otel/sdk v1.32.0 // indirect - go.opentelemetry.io/otel/sdk/log v0.7.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.32.0 // indirect - go.opentelemetry.io/otel/trace v1.32.0 // indirect - go.opentelemetry.io/proto/otlp v1.4.0 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/collector v0.119.0 // indirect + go.opentelemetry.io/collector/client v1.25.0 // indirect + go.opentelemetry.io/collector/component/componenttest v0.119.0 // indirect + go.opentelemetry.io/collector/config/configauth v0.119.0 // indirect + go.opentelemetry.io/collector/config/configcompression v1.25.0 // indirect + go.opentelemetry.io/collector/config/configgrpc v0.119.0 // indirect + go.opentelemetry.io/collector/config/confighttp v0.119.0 // indirect + go.opentelemetry.io/collector/config/confignet v1.25.0 // indirect + go.opentelemetry.io/collector/config/configopaque v1.25.0 // indirect + go.opentelemetry.io/collector/config/configretry v1.25.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.119.0 // indirect + go.opentelemetry.io/collector/config/configtls v1.25.0 // indirect + go.opentelemetry.io/collector/connector/connectortest v0.119.0 // indirect + go.opentelemetry.io/collector/connector/xconnector v0.119.0 // indirect + go.opentelemetry.io/collector/consumer v1.25.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/consumertest v0.119.0 // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/exportertest v0.119.0 // indirect + go.opentelemetry.io/collector/exporter/xexporter v0.119.0 // indirect + go.opentelemetry.io/collector/extension/auth v0.119.0 // indirect + go.opentelemetry.io/collector/extension/extensioncapabilities v0.119.0 // indirect + go.opentelemetry.io/collector/extension/extensiontest v0.119.0 // indirect + go.opentelemetry.io/collector/extension/xextension v0.119.0 // indirect + go.opentelemetry.io/collector/filter v0.119.0 // indirect + go.opentelemetry.io/collector/internal/fanoutconsumer v0.119.0 // indirect + go.opentelemetry.io/collector/internal/memorylimiter v0.119.0 // indirect + go.opentelemetry.io/collector/internal/sharedcomponent v0.119.0 // indirect + go.opentelemetry.io/collector/pdata v1.25.0 // indirect + go.opentelemetry.io/collector/pdata/pprofile v0.119.0 // indirect + go.opentelemetry.io/collector/pdata/testdata v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline v0.119.0 // indirect + go.opentelemetry.io/collector/pipeline/xpipeline v0.119.0 // indirect + go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.119.0 // indirect + go.opentelemetry.io/collector/processor/processortest v0.119.0 // indirect + go.opentelemetry.io/collector/processor/xprocessor v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/receivertest v0.119.0 // indirect + go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 // indirect + go.opentelemetry.io/collector/scraper v0.119.0 // indirect + go.opentelemetry.io/collector/scraper/scraperhelper v0.119.0 // indirect + go.opentelemetry.io/collector/semconv v0.119.0 // indirect + go.opentelemetry.io/collector/service v0.119.0 // indirect + go.opentelemetry.io/contrib/bridges/otelzap v0.9.0 // indirect + go.opentelemetry.io/contrib/config v0.14.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.34.0 // indirect + go.opentelemetry.io/otel v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.10.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.10.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.56.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.10.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.34.0 // indirect + go.opentelemetry.io/otel/log v0.10.0 // indirect + go.opentelemetry.io/otel/metric v1.34.0 // indirect + go.opentelemetry.io/otel/sdk v1.34.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.10.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.34.0 // indirect + go.opentelemetry.io/otel/trace v1.34.0 // indirect + go.opentelemetry.io/proto/otlp v1.5.0 // indirect go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect @@ -612,8 +616,8 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect gonum.org/v1/gonum v0.15.1 // indirect google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect @@ -627,7 +631,7 @@ require ( k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect kernel.org/pub/linux/libs/security/libcap/psx v1.2.70 // indirect oras.land/oras-go v1.2.5 // indirect - sigs.k8s.io/controller-runtime v0.19.3 // indirect + sigs.k8s.io/controller-runtime v0.19.4 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect sigs.k8s.io/yaml v1.4.0 // indirect diff --git a/go.sum b/go.sum index 587e261b086..035d3de91b4 100644 --- a/go.sum +++ b/go.sum @@ -144,12 +144,12 @@ github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0 h1:3c8yed4lgqTt+oTQ+JNMDo+F4xprBf+O/il4ZC0nRLw= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 h1:f2Qw/Ehhimh5uO1fayV0QIW7DShEQqhtUfhYc+cBPlw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0/go.mod h1:2bIszWvQRlJVmJLiuLhukLImRjKPcYdzzsx6darK02A= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/IBM/sarama v1.44.0 h1:puNKqcScjSAgVLramjsuovZrS0nJZFVsrvuUymkWqhE= -github.com/IBM/sarama v1.44.0/go.mod h1:MxQ9SvGfvKIorbk077Ff6DUnBlGpidiQOtU2vuBaxVw= +github.com/IBM/sarama v1.45.0 h1:IzeBevTn809IJ/dhNKhP5mpxEXTmELuezO2tgHD9G5E= +github.com/IBM/sarama v1.45.0/go.mod h1:EEay63m8EZkeumco9TDXf2JT3uDnZsZqFgV46n4yZdY= github.com/Jeffail/gabs/v2 v2.6.0 h1:WdCnGaDhNa4LSRTMwhLZzJ7SRDXjABNP13SOKvCpL5w= github.com/Jeffail/gabs/v2 v2.6.0/go.mod h1:xCn81vdHKxFUuWWAaD5jCTQDNPBMh5pPs9IJ+NcziBI= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= @@ -235,56 +235,56 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:W github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0 h1:UyjtGmO0Uwl/K+zpzPwLoXzMhcN9xmnR2nrqJoBrg3c= github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0/go.mod h1:TJAXuFs2HcMib3sN5L0gUC+Q01Qvy3DemvA55WuC+iA= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= -github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/aws/aws-sdk-go-v2 v1.32.7 h1:ky5o35oENWi0JYWUZkB7WYvVPP+bcRF5/Iq7JWSb5Rw= -github.com/aws/aws-sdk-go-v2 v1.32.7/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= +github.com/aws/aws-sdk-go v1.55.6 h1:cSg4pvZ3m8dgYcgqB97MrcdjUmZ1BeMYKUxMMB89IPk= +github.com/aws/aws-sdk-go v1.55.6/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/aws/aws-sdk-go-v2 v1.34.0 h1:9iyL+cjifckRGEVpRKZP3eIxVlL06Qk1Tk13vreaVQU= +github.com/aws/aws-sdk-go-v2 v1.34.0/go.mod h1:JgstGg0JjWU1KpVJjD5H0y0yyAIpSdKEq556EI6yOOM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 h1:70PVAiL15/aBMh5LThwgXdSQorVr91L127ttckI9QQU= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4/go.mod h1:/MQxMqci8tlqDH+pjmoLu1i0tbWCUP1hhyMRuFxpQCw= -github.com/aws/aws-sdk-go-v2/config v1.28.7 h1:GduUnoTXlhkgnxTD93g1nv4tVPILbdNQOzav+Wpg7AE= -github.com/aws/aws-sdk-go-v2/config v1.28.7/go.mod h1:vZGX6GVkIE8uECSUHB6MWAUsd4ZcG2Yq/dMa4refR3M= -github.com/aws/aws-sdk-go-v2/credentials v1.17.48 h1:IYdLD1qTJ0zanRavulofmqut4afs45mOWEI+MzZtTfQ= -github.com/aws/aws-sdk-go-v2/credentials v1.17.48/go.mod h1:tOscxHN3CGmuX9idQ3+qbkzrjVIx32lqDSU1/0d/qXs= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 h1:kqOrpojG71DxJm/KDPO+Z/y1phm1JlC8/iT+5XRmAn8= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22/go.mod h1:NtSFajXVVL8TA2QNngagVZmUtXciyrHOt7xgz4faS/M= +github.com/aws/aws-sdk-go-v2/config v1.29.2 h1:JuIxOEPcSKpMB0J+khMjznG9LIhIBdmqNiEcPclnwqc= +github.com/aws/aws-sdk-go-v2/config v1.29.2/go.mod h1:HktTHregOZwNSM/e7WTfVSu9RCX+3eOv+6ij27PtaYs= +github.com/aws/aws-sdk-go-v2/credentials v1.17.55 h1:CDhKnDEaGkLA5ZszV/qw5uwN5M8rbv9Cl0JRN+PRsaM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.55/go.mod h1:kPD/vj+RB5MREDUky376+zdnjZpR+WgdBBvwrmnlmKE= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.25 h1:kU7tmXNaJ07LsyN3BUgGqAmVmQtq0w6duVIHAKfp0/w= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.25/go.mod h1:OiC8+OiqrURb1wrwmr/UbOVLFSWEGxjinj5C299VQdo= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.13 h1:X8EeaOjl91c8sP14NG8EHx5ZxXLJg0tHDp+KQSghp28= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.13/go.mod h1:kEI/h2bETfm09LSd7xEEH2qcU1cd//+5HH4Le7p9JgY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 h1:I/5wmGMffY4happ8NOCuIUEWGUvvFp5NSeQcXl9RHcI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26/go.mod h1:FR8f4turZtNy6baO0KJ5FJUmXH/cSkI9fOngs0yl6mA= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 h1:zXFLuEuMMUOvEARXFUVJdfqZ4bvvSgdGRq/ATcrQxzM= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26/go.mod h1:3o2Wpy0bogG1kyOPrgkXA8pgIfEEv0+m19O9D5+W8y8= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29 h1:Ej0Rf3GMv50Qh4G4852j2djtoDb7AzQ7MuQeFHa3D70= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.29/go.mod h1:oeNTC7PwJNoM5AznVr23wxhLnuJv0ZDe5v7w0wqIs9M= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29 h1:6e8a71X+9GfghragVevC5bZqvATtc3mAMgxpSNbgzF0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.29/go.mod h1:c4jkZiQ+BWpNqq7VtrxjwISrLrt/VvPq3XiopkUIolI= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 h1:Pg9URiobXy85kgFev3og2CuOZ8JZUBENF+dcgWBaYNk= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 h1:mimdLQkIX1zr8GIPY1ZtALdBQGxcASiBd2MOp8m/dMc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16/go.mod h1:YHk6owoSwrIsok+cAH9PENCOGoH5PU2EllX4vLtSrsY= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.37.5 h1:cQpWa19MrnwPcHQfDjLy6GJLo6lpgbMNix4pt5zLuK0= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.37.5/go.mod h1:K27H8p8ZmsntKSSC8det8LuT5WahXoJ4vZqlWwKTRaM= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.176.0 h1:fWhkSvaQqa5eWiRwBw10FUnk1YatAQ9We4GdGxKiCtg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.176.0/go.mod h1:ISODge3zgdwOEa4Ou6WM9PKbxJWJ15DYKnr2bfmCAIA= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.202.0 h1:/kB9Uf7fgpYNLvwhAW0YiDSg7xQyxB6MbEYoC0yXtjs= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.202.0/go.mod h1:cRD0Fhzj0YD+uAh16NChQAv9/BB0S9x3YK9hLx1jb/k= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.34.2 h1:pWaVzH7OFh4MmHTjIGBNRTbFauJDVpIaRTtGF1BEq2o= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.34.2/go.mod h1:rdgCuor2mAOU7LhpD7tO3TPl7BACCY4PzM9N0jnnHyo= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 h1:D4oz8/CzT9bAEYtVhSBmFj2dNOtaHOtMKc2vHBwYizA= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2/go.mod h1:Za3IHqTQ+yNcRHxu1OFucBh0ACZT4j4VQFF0BqpZcLY= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 h1:GckUnpm4EJOAio1c8o25a+b3lVfwVzC9gnSBqiiNmZM= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18/go.mod h1:Br6+bxfG33Dk3ynmkhsW2Z/t9D4+lRqdLDNCKi85w0U= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 h1:8eUsivBQzZHqe/3FE+cqwfH+0p5Jo8PFM/QYQSmeZ+M= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7/go.mod h1:kLPQvGUmxn/fqiCrDeohwG33bq2pQpGeY62yRO6Nrh0= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.10 h1:hN4yJBGswmFTOVYqmbz1GBs9ZMtQe8SrYxPwrkrlRv8= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.10/go.mod h1:TsxON4fEZXyrKY+D+3d2gSTyJkGORexIYab9PTf56DA= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 h1:jg16PhLPUiHIj8zYIW6bqzeQSuHVEiWnGA0Brz5Xv2I= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16/go.mod h1:Uyk1zE1VVdsHSU7096h/rwnXDzOzYQVl+FNPhPw7ShY= github.com/aws/aws-sdk-go-v2/service/s3 v1.60.1 h1:mx2ucgtv+MWzJesJY9Ig/8AFHgoE5FwLXwUVgW/FGdI= github.com/aws/aws-sdk-go-v2/service/s3 v1.60.1/go.mod h1:BSPI0EfnYUuNHPS0uqIo5VrRwzie+Fp+YhQOUs16sKI= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.1 h1:d8dH4PATJiEI2yXrEVNBi38osCIm3I3KMYe/tkgykrY= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.1/go.mod h1:KmNFSoNNh6qNFUCfNAVf3yW+gZXgEPc//PGttodQ1KU= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.7 h1:K60+ojzkvi7jU7yRCtpgm1Gx5D/E7qrKgAQR9EqhrNw= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.34.7/go.mod h1:bX7qK97+Qvod+LUaU029kI1oYp5FLPom8warSCcXxc8= github.com/aws/aws-sdk-go-v2/service/sqs v1.34.5 h1:HYyVDOC2/PIg+3oBX1q0wtDU5kONki6lrgIG0afrBkY= github.com/aws/aws-sdk-go-v2/service/sqs v1.34.5/go.mod h1:7idt3XszF6sE9WPS1GqZRiDJOxw4oPtlRBXodWnCGjU= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 h1:CvuUmnXI7ebaUAhbJcDy9YQx8wHR69eZ9I7q5hszt/g= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.8/go.mod h1:XDeGv1opzwm8ubxddF0cgqkZWsyOtw4lr6dxwmb6YQg= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 h1:F2rBfNAL5UyswqoeWv9zs74N/NanhK16ydHW1pahX6E= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7/go.mod h1:JfyQ0g2JG8+Krq0EuZNnRwX0mU0HrwY/tG6JNfcqh4k= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 h1:Xgv/hyNgvLda/M9l9qxXc4UFSgppnRczLxlMs5Ae/QY= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.3/go.mod h1:5Gn+d+VaaRgsjewpMvGazt0WfcFO+Md4wLOuBfGR9Bc= -github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= -github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.12 h1:kznaW4f81mNMlREkU9w3jUuJvU5g/KsqDV43ab7Rp6s= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.12/go.mod h1:bZy9r8e0/s0P7BSDHgMLXK2KvdyRRBIQ2blKlvLt0IU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.11 h1:mUwIpAvILeKFnRx4h1dEgGEFGuV8KJ3pEScZWVFYuZA= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.11/go.mod h1:JDJtD+b8HNVv71axz8+S5492KM8wTzHRFpMKQbPlYxw= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.10 h1:g9d+TOsu3ac7SgmY2dUf1qMgu/uJVTlQ4VCbH6hRxSw= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.10/go.mod h1:WZfNmntu92HO44MVZAubQaz3qCuIdeOdog2sADfU6hU= +github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ= +github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/axiomhq/hyperloglog v0.2.0 h1:u1XT3yyY1rjzlWuP6NQIrV4bRYHOaqZaovqjcBEvZJo= github.com/axiomhq/hyperloglog v0.2.0/go.mod h1:GcgMjz9gaDKZ3G0UMS6Fq/VkZ4l7uGgcJyxA7M+omIM= github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps= @@ -299,8 +299,8 @@ github.com/blakesmith/ar v0.0.0-20150311145944-8bd4349a67f2 h1:oMCHnXa6CCCafdPDb github.com/blakesmith/ar v0.0.0-20150311145944-8bd4349a67f2/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/bmatcuk/doublestar/v4 v4.7.1 h1:fdDeAqgT47acgwd9bd9HxJRDmc9UAmPpc+2m0CXv75Q= -github.com/bmatcuk/doublestar/v4 v4.7.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/bmatcuk/doublestar/v4 v4.8.1 h1:54Bopc5c2cAvhLRAzqOGCYHYyhcDHsFF4wWIR5wKP38= +github.com/bmatcuk/doublestar/v4 v4.8.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/bshuster-repo/logrus-logstash-hook v1.0.0 h1:e+C0SB5R1pu//O4MQ3f9cFuPGoOVeF2fE4Og9otCc70= github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= @@ -417,8 +417,8 @@ github.com/docker/cli v25.0.1+incompatible h1:mFpqnrS6Hsm3v1k7Wa/BO23oz0k121MTbT github.com/docker/cli v25.0.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v27.4.1+incompatible h1:ZJvcY7gfwHn1JF48PfbyXg7Jyt9ZCWDW+GGXOIxEwp4= -github.com/docker/docker v27.4.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v27.5.1+incompatible h1:4PYU5dnBYqRQi0294d1FBECqT9ECWeQAIfE8q4YnPY8= +github.com/docker/docker v27.5.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= @@ -639,8 +639,8 @@ github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gocarina/gocsv v0.0.0-20170324095351-ffef3ffc77be h1:zXHeEEJ231bTf/IXqvCfeaqjLpXsq42ybLoT4ROSR6Y= github.com/gocarina/gocsv v0.0.0-20170324095351-ffef3ffc77be/go.mod h1:/oj50ZdPq/cUjA02lMZhijk5kR31SEydKyqah1OgBuo= -github.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM= -github.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -788,10 +788,10 @@ github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWet github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 h1:pRhl55Yx1eC7BZ1N+BBWwnKaMyD8uC+34TLdndZMAKk= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 h1:TmHmbvxPmaegwhDubVz0lICL0J5Ka2vwTzhoePEXsGE= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0/go.mod h1:qztMSjm835F2bXf+5HKAPIS5qsmQDqZna/PgVt4rWtI= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.2.0 h1:kQ0NI7W1B3HwiN5gAYtY+XFItDPbLBwYRxAqbFTyDes= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.2.0/go.mod h1:zrT2dxOAjNFPRGjTUe2Xmb4q4YdUwVvQFV6xiCSf+z0= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 h1:VNqngBF40hVlDloBruUehVYC3ArSgIyScOAyMRqBxRg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1/go.mod h1:RBRO7fro65R6tjKzYgLAFo0t1QEXY1Dp+i/bvpRiqiQ= github.com/h2non/filetype v1.1.1 h1:xvOwnXKAckvtLWsN398qS9QhlxlnVXBjXBydK2/UFB4= github.com/h2non/filetype v1.1.1/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= github.com/hashicorp/consul/api v1.31.0 h1:32BUNLembeSRek0G/ZAM6WNfdEwYdYo8oQ4+JoqGkNQ= @@ -874,8 +874,8 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2 github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/ionos-cloud/sdk-go/v6 v6.2.1 h1:mxxN+frNVmbFrmmFfXnBC3g2USYJrl6mc1LW2iNYbFY= github.com/ionos-cloud/sdk-go/v6 v6.2.1/go.mod h1:SXrO9OGyWjd2rZhAhEpdYN6VUAODzzqRdqA9BCviQtI= -github.com/jaegertracing/jaeger v1.64.0 h1:fc45qwaBZpBE2DeXwJlm8hK1q2PACrzGKXKgIcHLPMw= -github.com/jaegertracing/jaeger v1.64.0/go.mod h1:9yVeL3z2Q9AGrW7j7TTeqohUy7Bbp9XWXgUDG3rVdO0= +github.com/jaegertracing/jaeger v1.65.0 h1:phDrZzaPUbomlN8VfxGWuPwkipYh7cU6V9q6Obf+7Fc= +github.com/jaegertracing/jaeger v1.65.0/go.mod h1:EkEqyIzI0xCjexVHURWJmZZxjswTUKSriW57eVG44yo= github.com/jarcoal/httpmock v1.3.1 h1:iUx3whfZWVf3jT01hQTO/Eo5sAYtB2/rqaUuOtpInww= github.com/jarcoal/httpmock v1.3.1/go.mod h1:3yb8rc4BI7TCBhFY8ng0gjuLKJNquuDNiPaZjnENuYg= github.com/jaypipes/ghw v0.12.0 h1:xU2/MDJfWmBhJnujHY9qwXQLs3DBsf0/Xa9vECY0Tho= @@ -1134,134 +1134,136 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.117.0 h1:sZMT+/EJF8hNxQPTXYSNo/mdPZWW6vzel4oj9SjXBfU= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.117.0/go.mod h1:8TrX+2tpWiQaMlOseKx2zWNpR3QjprgLu1pA3A7zVc4= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.117.0 h1:+aFOdtADYVCa0LZ9NwQCSgholjnlcDCZtUxw1ANM09Q= -github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.117.0/go.mod h1:+yiEfRt40Sf6vnrusZuGK3u7Ygc+yFUjUQmsXyWJiZc= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.117.0 h1:doO11PvtBqXKCO15Q8itsb7vaSube+TSieWYGVaGRSA= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.117.0/go.mod h1:xuraEUKd+a7jBtibet2xRnymQaJwY2TrO50fH+yP+cA= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.117.0 h1:l0HJg47QeTC977GfAqG7TIaRd275Q88SPwimbAU+hi8= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.117.0/go.mod h1:q5Ey16FbSdkSWVmbnWx2D6YfEDqD8s3X34ox9tfL2iA= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.117.0 h1:/rYuHD/ub5AGXbJmXisS22/Ru+MyN6Ev/FjQwp8qu2Q= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.117.0/go.mod h1:0xsGslwZOCYDvdOSefuja+He48ad7FLODp8Vqi+8754= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.117.0 h1:GQr5+q2OLPWMYaIJUQVj0iqzCOOa9+Ka0xInfMaPKGc= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.117.0/go.mod h1:s87Obi1jQsGoh4KBdy2K3N9yAdjQ3XdiJgr745dHSDM= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.117.0 h1:5SVrY+xan8gF/dFTrr1ZDNqpiLaKeObQESnLFS0hiWo= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.117.0/go.mod h1:HOE5cXKLgSVJFl49aAlbkfsWn8smQxz+CXmdkNpHHUg= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.117.0 h1:te8DpwzFocnxrfenTK3dLr8MQ3E8r3dRa1ZXfd/scss= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.117.0/go.mod h1:xCGKcgGqkH3TmLj3FPtHa7YgmPgYK6FdJaqVYfrUE3c= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.117.0 h1:enVyDNxIYDujS5os7M/Yv+riYAUkHR5pw6vj3Aip0tg= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.117.0/go.mod h1:aciOawCoydp9lNAw9/jaSZXWiswE7wdcmBEaBf5fPQc= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.117.0 h1:Voy2gnN4x/DcTJSvILddotoZl6K5rHhAJC7msKLBl24= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.117.0/go.mod h1:SGSLpR8qh1Oi2ME45jJaQayspKBer8HupJoFnuHNQaw= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.117.0 h1:ufDupkC25Ok0d50FqfiyKQGqf67SfwWGIWqsYSBJg80= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.117.0/go.mod h1:+GPzqBFeqV90U4/bntDRPMxo/i/12lxH7GyPJmqz4ls= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.117.0 h1:0KoWMGmHYlpoPwaRwnF3OeiQl0y35hSmTVd+JDLNpSY= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.117.0/go.mod h1:jyepqHvP5D5/a4M+c10obO2aqai92bHSUHleXkHiw+k= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.117.0 h1:j4AYS+tiQQ9BVrP7sb8qppT+saixHNg2tS9EOLounMw= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.117.0/go.mod h1:mxgN0tP1CroT0muDDKLmIxHT75aAkeC3QeGNcwbkCyo= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.117.0 h1:SbD/rcj6VQ59QutRM8Kfw+36s8Z/U0p/tcrQCLaji0s= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.117.0/go.mod h1:wi/KMp+8lAVrX12/NKL1PslqrZVYjae/KBYRepqDbo8= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.117.0 h1:19j1ANhUyVFRgZZp8iwaQEiBuHdtq3CMORfXVq1yU3s= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.117.0/go.mod h1:NBfvQtGC4pBKzw24Ssp0l59xUREMs3OO0dSENlJ7g7g= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.117.0 h1:sNThte5z43U4a38AFltHtj05sUBRTV7b2Y7oPFWW2uc= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.117.0/go.mod h1:65YZlRS6oY4j0/78N/MsZDEl1bz4/OKS4LtUFi7S4vg= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.117.0 h1:vnZsHJhZci7rjhuQUjZ2Utm3hPdzQCxoqZSL56Ra4ME= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.117.0/go.mod h1:ShQ4jr9t4tb11LqLpKw7WOoZUaebKHObOj4OZLvgY7I= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.117.0 h1:LZG1N02gLmfi9Lv6JiUWMhb3LFLbHHp4w4/qegeDrxg= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.117.0/go.mod h1:mH6Ffc14prL+GEeSBW7yCkqMTxE64b1BQLnHNxG0pMM= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.117.0 h1:6BF8ymRgg1duNHXDpqgDayDlR+YktfQGQN1vzdxGcxQ= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.117.0/go.mod h1:T5aTYEzGf74ZagtJiruJC5idVLGKr78q/zqDzN4gPQQ= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.117.0 h1:Mz4I1Kccj+UHnYBa/dJM2eCMXBz95MV1ELk1UqKre2A= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.117.0/go.mod h1:jYgogs1e88bxEDv0a3/yr7uvmElskxswsNpTj22F6dE= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.117.0 h1:JtBGwl+vLrvHc2FByEdWM/Kcje3KZVD+i00mpfoAVj0= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.117.0/go.mod h1:GhC+Pk3PbAIq52vmYr+d6PN4Hnxyp4lGQMbomI7Bom8= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest v0.117.0 h1:yb5OzYhTUCEmdApRSRl3I+dFTIsMYeacGrJMnyh2RIw= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8stest v0.117.0/go.mod h1:EOJXILTPFRep4PfIM+G3kZ89xmGo2a49hNlP2Tn6CJ0= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.117.0 h1:xkAn7xjemB3pzfH9auCsmuJu39tmgnFEv3txiYq51Ys= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.117.0/go.mod h1:2BXMWdK7P3acUSH+tdpF6JmUzfbwZeKA7ygc2XrN6mU= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.117.0 h1:oHibC0+/wLFAMb0SdehyYiMemzBUQ1efljzGX+S3NJw= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.117.0/go.mod h1:gleMPWlFG0O77Thi95Ylg7NLIlWezDB3gAPkZ98Nr4w= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.117.0 h1:NcKa3IoJeWcJhgR8PeON/WrVXvJEtwJk0JjOramOB2Y= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.117.0/go.mod h1:l9phs2ptsSwM/up7A6Y6wcrEKPFpwrfl/HTFsP6CFXA= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.117.0 h1:SjZHtgph6f675yK/p+GTo8I7VlIAjJFod3SMNgfpEAg= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.117.0/go.mod h1:e4cIzlw2iGmMCgHKyJHLf+PF99A1Y6GvNC0+E3x1dA4= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.117.0 h1:1cQgtpeiu2YBCwrcPkpSRauk8uUKYlZap54kr3mR744= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.117.0/go.mod h1:+eKY4aG46nceWCVUWSK0GqXxzUMvR+iAyRr4IHWVKsA= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.117.0 h1:vncYL4U8405wKerch+80TSMrqcGYEkfW8CSbOZAWBr4= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.117.0/go.mod h1:3lvo2YKIyKrr2ZldMUhPaN4F8bRvGghNwoQKgyK9fNU= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.117.0 h1:xLphmoZCppxmMbvzhr9+gpayoUXPVhXtgzMw2MYATe4= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.117.0/go.mod h1:SMhpc9NNFHzzq75fmvcZa9f9KDZnIsum6Wfj4bG4/LQ= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.117.0 h1:tOJFUIZaAU4zm5CilqZN1/AuKQa7diTrcEhgQIYly6k= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.117.0/go.mod h1:PJ2FGCS+Hw+tlHUNNWVHNo3IXtEsb9RKgl/ssSi3Z98= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.117.0 h1:+KEb5xtnKkJh5mxXau34ibLthXhMeRQOyTMiI2AbHaY= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.117.0/go.mod h1:1q/L2R/28emNCz0EHfxEw853I6lPxTcHTqS+UrMea0k= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.117.0 h1:HnkgGMpQKEW9z2bJaIyK1HQ7nETyOvTYYXEDLA1GR8E= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.117.0/go.mod h1:/xsh6bL6X7OcPwdWWApGJH3j4tMchr0e0NL8t1qgAXs= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.117.0 h1:/wMNk8w1UEHKpKoNk1jA2aifHgfGZE+WelGNrCf0CJ0= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.117.0/go.mod h1:ESyMNHmgZYh8Ouhr2veecTMK6sB8gQ8u2s3dsy9Og6k= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.117.0 h1:GqlhXd6J8zgxCYenbI3ew03SJnGec1vEEGzGHw9X/Y0= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.117.0/go.mod h1:OGylX+Bp+urSNNGoI1XG7U6vaRDZk1wN/w6fHP1F7IY= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.117.0 h1:HJI0A1PxRMYduFfE/0GtHcd94o6uRa/4lD8lwVYMnlY= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.117.0/go.mod h1:RLslZuVfHxjmvThGfyjzPrAJO2+bnEiM7laRA4efHq8= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.117.0 h1:myN4dbp4VlO8kYmcW5JVc/UOTRNH7CvgzhcrUQIptD8= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.117.0/go.mod h1:PpBlglItaRNshMe5jID/i4Hp4KEPsdLiDD/KmsaY0Eg= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.117.0 h1:UID3UOHpUP65v6Cl5ZEzNB0TopUkeNfTTgOyAgWUKZ4= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.117.0/go.mod h1:iQ+EGeIfuiG4RMECbxrSEDAZ9xxOOWWh+bptaxGtlnM= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status v0.117.0 h1:nf3xfBvVhvlby7D4YT82+1bTuHTKdZO8614ykSnjwhk= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status v0.117.0/go.mod h1:3lPvq3mRHg8foQO4wB/cHKxRCOJNCDZqzCoBDTuVazo= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure v0.117.0 h1:jwucV3KAIxEk52ESHnDvcUJ0BwNbu7T+cBB4sCFLEuA= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure v0.117.0/go.mod h1:FXdXb4aJbrAzFPpWFckbZUKj86jZIBRzF3PEQXJNeVM= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.117.0 h1:6Ly4tQ502qTYyBYdvhPukffytHgXIn5F1469S1L+j+w= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.117.0/go.mod h1:AUUbtJw5om0NxjOPWFjZPzTSJHf6Fa42agazRmxYFoQ= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.117.0 h1:IgaGH6HLxv3UgrGKXzm/gJPta1Qnxa87WTcMlFp4gHc= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.117.0/go.mod h1:HdsuR8/BlBdVx12wV88G7UJY9fniR0Gzv8CBEmNeFlo= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.117.0 h1:zkgQHWcXsHYLRz39MpXhXvEhixh6ytXJ1aFhjAAVZIY= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.117.0/go.mod h1:yroImm9K4Eqjw77Ihp7YmIRSF8DIvQ7mhRvOOaAuCrM= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.117.0 h1:h+MnAOD++8aWeEpKKf3wxes1usw+ioEe6AJkbYyM9c0= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.117.0/go.mod h1:75JzWrbiFyoLLt1q527rH137T1reqEN4yjNXr+GURoc= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.117.0 h1:Kfe96zbdcJjs4ffa1mgpgswGOfr2oeayf0jfons0DtU= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.117.0/go.mod h1:wPHVx2H/BukRKANYRSVITk9wwT62elDg4HbxHNovgnE= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.117.0 h1:SimkaIlAl+TWNPfSBajhwAXeqr2OGg1UveP5D46hVok= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.117.0/go.mod h1:3/BxGW4mhwQW4/E/iIOvM7m/trIFGifpMC8PYndvpns= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor v0.117.0 h1:oqEHHUW4MKg1QlAlaurIz5Fef6eciAY3FvgbtiPpnxM= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor v0.117.0/go.mod h1:uc6Hw7o6KSMQpi3L0dH5cA3LxLpCGgMQ+P4nXA1GSpk= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.117.0 h1:KQeWrFY6EJXZxZnpAyVcqHeoQEemLMbZQEDklDgNanQ= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.117.0/go.mod h1:vVVMWo0MjnkVkoeCFFVRPtwqtkklk+vRwkcO7dqzmFk= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.117.0 h1:uiR3Xh+kbg3icEwIcC1YedGOJq4nRrcDRefc3Bv77ck= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.117.0/go.mod h1:SQbSZ/NYqQqXmRRiUYyZZuWV0WlNTfzQNn4E7lhvdrQ= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.117.0 h1:c6Md8QKGlIfiaNvwOaQXqx+suQ7Bykktyr+jQ8ufS/0= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.117.0/go.mod h1:slUU9y74s9MBFDRT9fg8uwBOf4bKBUHy4IEp29lN38c= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.117.0 h1:s45IZekyWIO8SGSRfKgav9mxCWbG/D7VM5uWQgvfQMY= -github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.117.0/go.mod h1:NwIzo4y40ouEDLBYvPNafBdAVSVI0fLSRdEeSIqi6dU= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.117.0 h1:5BD0cwEWL1a+gImBVaUL3flUhHO5cP7g/eL4P0tdugw= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.117.0/go.mod h1:ackmvGRdyf0KWdE77GqjK3hOSec7ozJCWnl9KHftshE= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.117.0 h1:N7XZDKMrw8tGOVfGUtRLN1BO/fVkIzxxEDZBXuwY5Zk= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.117.0/go.mod h1:TjawlceoLzdcvErXdzGdKP6sw18c+EjWabTdWUIniPU= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.117.0 h1:CrDGVXOj8BocwLdaQ5jHPRhVirL/ojJFVdwqwoOXf6Y= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.117.0/go.mod h1:CJ8g9tulvdBgyRB3UPCi9MQF7oVMZ9tCThmQ4EFc+M0= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.117.0 h1:II39WzwaFVzU7cDNL60xcEzxaymbEJ4zCA6Mz76phjc= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.117.0/go.mod h1:WUz1ccnskld9mrTVoLp/TfI++Qrg0PTXmoceh51VWPE= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.117.0 h1:Xefa7cXCPdninCxDKNUmm1OPuBpdrpuzHCdq2fn83uk= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.117.0/go.mod h1:Wb4Jdpbb/l4kXFke0V3iC4uWl0LxK+GgiIs7ExdUwDk= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.117.0 h1:ffORZMJZgAgLwVoqKfTYMVgbbnfwtFinchjY/nxwJrk= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.117.0/go.mod h1:JScN+Jg5i3ATKT5KeB4URvwv1SGbw6AF3Q10NLaGztQ= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.117.0 h1:fus4xS+nveMqai6SFEQQ91BRBrvPqGY+y3Y6JeeWvSA= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.117.0/go.mod h1:+1rfCYfsnM8TCX/3R5vfCapW0m7tVLGMuSXjLygj/LY= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.117.0 h1:0TtGso35PcqS8dqTI48MN8ehj3tyovOgwFgFc7ywvdA= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.117.0/go.mod h1:2bLb8fdBoH7Tpq76JVkZhLDOVv+D1q8Qvmp3OII8nXA= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.117.0 h1:FZGlGZvgOZCWjGtrUpqpqqvknJDtsuwdX9Q4SBUIRtE= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.117.0/go.mod h1:1ELm4C0E0On6u7hwVqVJymwmfx8NhfgAwZNb/g/IN00= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.117.0 h1:0cwqouVCkxlSqOYPw+9J6IIoCDcPqSAs8B1aO+BcjWU= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.117.0/go.mod h1:OHVKFpZWh0txJt3l3Xo/evrHUU3y20WAts1ngUvZdwk= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.117.0 h1:ZukmPvZSJnDPvUH0ECDliYxyRgSMs6mWXnX70uGnhvk= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.117.0/go.mod h1:aZzeEf3lN/i6gH5vVGzLdzH6JO2r6xwep0S0fvW8iMI= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.117.0 h1:fHQzeVV8uMHApo9tBtxSXocv2IcCeswFPZwjvOAkDrc= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.117.0/go.mod h1:0HQuGsZePaLKa1dOhvSqP1aV36j/cnT7i536TEJV1R8= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.117.0 h1:SnxBuGO5SSABd0eo4gvJRyXUFLM0r9Fkmvoeo2JEahg= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.117.0/go.mod h1:yG54t4EUxaWongYFn57NdMO9AQGSaCVMgdYJX1uKRLc= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.117.0 h1:ZzESLZAIBZ3Z7e33WCUCdX2tDjxD1/A748aTmqReEvo= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.117.0/go.mod h1:zClB9Yr77xTGG2b2g4+EGpzdW84lPCTPemFWjsyJFMw= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.119.0 h1:cHM5PgifIOQKlf3+aKteNxx3P8hzpbSA4ACNPndTViE= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.119.0/go.mod h1:W7EpTg5dUbhe49kpl5h0e1W4e8j2ThIWMBoAlAdNrow= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.119.0 h1:0eIwc699pvvChuyKDexhl3xovAQzc18xVOvxJ7tv9r8= +github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.119.0/go.mod h1:Cmey/JEL25DSYfYNxSNpunKzuebMypjZs3VsNc4JSeU= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.119.0 h1:JPatHj6zo9O70JC9gUPZhT3bslIYRAEv/tr2qIVo0ug= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.119.0/go.mod h1:QOZ+rBDlyP3muRr7TCvwZExF2xTFRhaA0ftlT2iAa1s= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.119.0 h1:W5ptAjJAf5vNidVdzeN6GHlRAaxk+wZmJO/dVd8EqEg= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.119.0/go.mod h1:WDlcIb8ujayQKaz6+yWIvfCL5Uo6WpoZKQFBWqCTZyE= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.119.0 h1:zQm1CkEuk7HjLNcXQ8WIH1t8WHiJDqIQUMjbTHWRFIY= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter v0.119.0/go.mod h1:6Lo1g1yHyIubBggpk+ify0ORGI7Z0C4xCCpEIzyMXdY= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.119.0 h1:+X/CvlCtEQOlhAmM4vMqlPyy3gocwmzZewh7gAEo7po= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.119.0/go.mod h1:M4DuuyCp8tLzI6KRoZ8jjYUfr0GFohznWP9bg4/n7tA= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.119.0 h1:Uw2qT8XxWEp+0YSeBEQuRlXgnvam8B3IR+6Qu0xKvwg= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.119.0/go.mod h1:zaYmXAbN866u9Wj/YAxlY4p2/lyzlE554Ql/FgI3J5A= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.119.0 h1:nM9VXtISMJwL9W1AMZ9zgC4JDX9Q0G2pPy48wsB2bBw= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding v0.119.0/go.mod h1:7TjDVF099yeeU+f+qeAsULoLgfolLRq2hPufE+Sbc9o= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.119.0 h1:u8u2+/75+Q8ZPOmybOuHpFg+w8V5ONIoZjjj2NlW2g0= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/otlpencodingextension v0.119.0/go.mod h1:3KdeXgI3+eiy8o9ULHvoNiV0WSlJMXddYu6DgfMB5As= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.119.0 h1:2rJGw7Du16sanQo64b2x6qDh2WkYTIB/k8ztaEp96hA= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.119.0/go.mod h1:lOeos0lj5TR84xGqXbE7jR4VQOOuY+c6YhU9Sk+Xpbc= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.119.0 h1:jpz5Z4U34VJgevKMQKpR/hqYE4KfR99k1OAqKIKpsNE= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer v0.119.0/go.mod h1:+GPzqBFeqV90U4/bntDRPMxo/i/12lxH7GyPJmqz4ls= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.119.0 h1:58h3yTZMferS/tpSCv+L/Rt2Nfs48ted5/6hYTaxkEI= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.119.0/go.mod h1:KXXaEloPqXx8oQ0/JJmpxZNZuqa7Q1AWgC5h/N06su4= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.119.0 h1:p51SVzm6p9qCuaRNiu0mG8UZR+3fw8Pz8tDMZJiR9Vw= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.119.0/go.mod h1:Z23YzDI4MLP68FoL5bS4xyQsiTuth8jJEr1cWiHnHUA= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.119.0 h1:kA7Ea6e44WV5tch9PTWekj/LkbRSELhRdC4QTOsyw2E= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage v0.119.0/go.mod h1:bmPxja90DNmR0bo1fuQ/sdPon7jI72AzU0X6jsdABWM= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.119.0 h1:FbMLLoOMN2aK5/hLwPzk+2kbyBrXDCrBE+WouFafi/0= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.119.0/go.mod h1:U5747Jc01VlnIRu9EjkXVdflvTRVsWCo2oyCGZajH40= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.119.0 h1:U/j+jjOId2iiudkHN5EOqmZoMSDxWXTR6N9xGdj3bh8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/ecsutil v0.119.0/go.mod h1:K6fKwsOcIEkOMR7CitUWBYaS8yrb3Y2TjM1ocMwgJx4= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.119.0 h1:o1s1koCc7Rg2auZLhFc2Ja6Eo2rOCMHKZJptRwdhoTI= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.119.0/go.mod h1:8rSWjIfW9QDA3KHzdZIfGs+Na0HBEmKg2EMmMplK1X8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.119.0 h1:3H9R5Ztc4ISphy+bRlHHExqtS04PBYi7Fptwl9XA52M= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.119.0/go.mod h1:txjr7nwuLZUBitwpU4G7EkZ3gyMBfI/4DXMJxX6NAtU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.119.0 h1:F5EFo4KfeX++YcOF2x/PMEUDHaPNN7s4ikXVix11A4g= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.119.0/go.mod h1:kgJtFw0KSX3m5LoU+W4D1IqcYNs4y3DVv9obT45p6MM= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.119.0 h1:Woc64WQAdBO7EhprsHXKC6zQY+GDtk+Ji3hT1s57Hj8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.119.0/go.mod h1:dNCyfdeAp6aM1PGCamx6ZSQtaNpiHOuY6uiEIZev3p4= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.119.0 h1:Rfn7AHN559aaxqKwFWlG36HuHlhl7dbIspKC/O1H8EQ= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.119.0/go.mod h1:GhC+Pk3PbAIq52vmYr+d6PN4Hnxyp4lGQMbomI7Bom8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.119.0 h1:7RVRR3rYnImhL1q+w5QcNGVhY22rcYffzoIuZ1BFHpw= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/kafka v0.119.0/go.mod h1:z9VwT4W5chD4duxfrdqtaoFntM3DnlOKT3CSz3Tb/iA= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.119.0 h1:Y1L1ewaHclsqVLkHvYzGzBSZiQI8C6VT6l5OSu1zdAE= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/kubelet v0.119.0/go.mod h1:jEWVyvdRCAwowCJruxYIZrwl7OB9pdf5xHbcuzMr+FU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.119.0 h1:9ivuvcvfagk7ppQmtQUOgH2nFJ66tsgyccEMcXPKoDI= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/metadataproviders v0.119.0/go.mod h1:Fv/VznY6QoEJd34B0DqHXctRgABY3eLNFmpCnkfUeLY= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.119.0 h1:GsiUtdLXgDzZkaDGnbDy47EHoDqKYVNMvX0PKWF1EKI= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/pdatautil v0.119.0/go.mod h1:Cx/iI+dXpsifBnU9Ch4hN1de5R8dvnyiQJecIc1ty7M= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.119.0 h1:5UZBu9vLWlSCe4u4CvoIrRTsGBwuMApXkNf0nIp3z8E= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.119.0/go.mod h1:dA39ERuz+UsIgAcXyd7tdF69Rr1kh3PmM9KiwHFDjDs= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.119.0 h1:TIYKBeHvPDbX1YvCfjzki87OCIA1t7RSsQX+h0z8jE0= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.119.0/go.mod h1:eyPvKWxE5lkTCeUa1thTbg/tq6muTwWStDG3CumSr+Q= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.119.0 h1:5F+Xa3A/xdlA9x2XdFEATeMhcU4R35TSIs3q6BynqCM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/core/xidutils v0.119.0/go.mod h1:N6FGJBXj0QY/e9zjdlIWGCKHD+fKUwUtreAfAZRyoFA= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.119.0 h1:O+/n/6osRr7Y8IdNLv+OyjH6ztW22AcT58w25ZqOjlM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/experimentalmetricmetadata v0.119.0/go.mod h1:7xNWOEKdIqjJIQTnHnD8oHKK1IXgCbhjMOg5nmgruok= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.119.0 h1:Nc1rvF/hxp8TwYOSsA2qmvIQlS+8lougZsyxcTN6U78= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/golden v0.119.0/go.mod h1:7ePS4L6s7UcWxxgIQkAiI5db/OxwRAV9+kziKVIO3Y8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.119.0 h1:iPwoMVWXVtJLj/3NtQK44FgGicECl4mN7PyH6u5UpKM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/kafka/topic v0.119.0/go.mod h1:1q/L2R/28emNCz0EHfxEw853I6lPxTcHTqS+UrMea0k= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.119.0 h1:ql3Ujsfiwd1uKAJfK+EbUnLXz1NcStK2q5PRNBqJaQY= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.119.0/go.mod h1:Df15ipOX4JryZDCEiFhByJNgycMOoO6AP0XB/oeqtH4= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.119.0 h1:2ztsxw6DH2CbXbykCGgPSZmHHRilNuD06VOfI/z9xGs= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.119.0/go.mod h1:q5LK/pXBToCu4W+tSVWM2ST5jOWqvDMVVCB7TQqhsbY= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0 h1:qSnBSa1zO4szSQOrVyinm/9Bg68oYv6NarcaV4Rusr8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.119.0/go.mod h1:udnlBYxPMO+odronKnPfYY8M+BnxfaQFXuJgfI5miUw= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.119.0 h1:4e3IV4fgpbyx8E7J+NI9P3R1bREZKw0rIb5ZPGGWyII= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.119.0/go.mod h1:gfUz5iaAWymHyB6rG/Yp3ss84wqjf4rQ5GE0KU8F90c= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.119.0 h1:wSvkLojbTk2dVcXgsr3aNlOxYvkl790vVlwYFobSV9U= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/sampling v0.119.0/go.mod h1:2nyI8d4nBZ9xVIxM7S8DlgqO0FeKAaokYQmxoh0M4pM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.119.0 h1:DW7f//w36CbuCCoqSHEry4zlMXBqiICcFqEsznxZTwg= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza v0.119.0/go.mod h1:T5e1r/S/4KHms5WXhxvd8L+2CExgnoXsKGj8Cr0pa3E= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status v0.119.0 h1:NrC5ymREjJhQK/MI5ru8EN53Ka4z48jfM0qDNE0sdJA= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/status v0.119.0/go.mod h1:i/wb5/zAXE38kwB6t8PV5Ra8oNl50TnzIgwh692ND9c= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure v0.119.0 h1:sfKoBZ+JuLoRyRRt0J0rUvhBB3uihW5OTk6ur6eA39o= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/azure v0.119.0/go.mod h1:4LzYK7Xp8PDUuJRBAimJvrwUO0Ug7uiF7XvplWWlZK0= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.119.0 h1:MK3w0xY2ADCS35pje+Q6P2BDWkGJXx5dUYAoavbtWAk= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.119.0/go.mod h1:MTQTbbOEWuJhuS5FZiAC0nCCztTvWEly/8wIZpNhi98= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.119.0 h1:V+BEVFHIbGMYBjbY266/JxVS55w9gF5Mxpkz+yS78AI= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheus v0.119.0/go.mod h1:jRBlowpm3Abs1ztxNMJ3HDUlnzWR4dtskEiAL8MGzOc= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.119.0 h1:FPXUweqjxJ2UZl+Msvmc5AVTk8U45eyQCWOII1W9fjQ= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.119.0/go.mod h1:nOQswYR0Mr/mUO0CCvU1ZXfpplvwvDmxSO7PNiUT4gU= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.119.0 h1:1c8ZHVCaO5s7DYqPifj8Cb3qB1uQdMA8eu7VxZHGus8= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.119.0/go.mod h1:hI4HvTWC6TxmyQnJXu1LqC67JwvqiZX5tLpbd9fTIdw= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/xk8stest v0.119.0 h1:ptDhiLTpUJY+NIq2FoERwipKcZbNW5m62Sd8VXzbt/g= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/xk8stest v0.119.0/go.mod h1:qAg6wgkUiX8Ue6cLLsZS//d5TvRPmj8j7ieJbtnpHgY= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.119.0 h1:gZLcPTznU086eH0iRZ0t1KhCQDPxsV0e4th8yyRNwL8= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.119.0/go.mod h1:e5Sb/dOSruRTyykbNZppUXEXeYh3cI+7ks7M3HaaL8M= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.119.0 h1:uNGKTj6/vy06LuLsjfEQDy7vH7BwmN9TnPOu6xmRuKM= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.119.0/go.mod h1:9l7VBnHj4Z/q318oSKH6exUK52zYMr/V2dfJA/oVI3Y= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor v0.119.0 h1:9ptMgCBDzwhumyAOxIs+fhBeeEhTMGUWxE/Sn6seG7I= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/geoipprocessor v0.119.0/go.mod h1:/pUWZJWEF/JCp36JCOaWy62git79nClbDk27v9goPuk= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.119.0 h1:ZRMmF+QY+OZSZLNRpv7NN2Ib6JSFi469yexeuEyOq5o= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.119.0/go.mod h1:dOfRjw5J83TvrNhqRDamqCjYSwiow+6f7sX6ZRFVaUE= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.119.0 h1:vXZYxWXx3HClhJ2ulPpKAl/Zq/9COzB0A2uQ8u8E88Q= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.119.0/go.mod h1:klTWX28fm8xt5C33gYfALvqFhBZfo4a6I0zvGllVJ6U= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.119.0 h1:6E84Ie5d2aU+pnzuGu612UfvdAfvfBK+darD8RdzM7E= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.119.0/go.mod h1:acrmdOey6Ccj0jlgaHgWwRM9VmSfUaWdHm0H9Dz8GO4= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.119.0 h1:8HlxU1CW9qRYBSp5LdJn904NhdXAuKsklQ8PGTbdiw8= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.119.0/go.mod h1:yRAFW+mmlDKUXAZ77h+EQ4s7z/RZaGK/YClpieva5aY= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.119.0 h1:TNCittWJXM1Bz4A8oEAZLcmY9EcFG+7gjgpnvLs2E38= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.119.0/go.mod h1:XMF6aIAGjHPGhmwVQMEXSNhVzvILAybaxMrJ9/zcTSg= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.119.0 h1:ff/0gXPIMvtBRPWOvgah5+WZlM24MuJKX1pgi5zKbyw= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.119.0/go.mod h1:qxe6bs7I0GN1/u0mScHVo7VuzH6nhUyXQt3Mon8jbck= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.119.0 h1:gEE8X+AqyBpAf/l3H31h5x2UZeO6ffCWJG+UAKQFt0U= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.119.0/go.mod h1:24Js/6LCKltvaANnLNNHCglJH0gZmD7tB9X80s5GcqQ= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.119.0 h1:XIDYBu6SL4jNFsSd+RbQQkCuvgFPhyrLFgYQKgGoBkU= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.119.0/go.mod h1:Yy+rmWEpPy5f2uLHfunlFkzGjAZM5u5/Zd0o1tGijz0= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.119.0 h1:/d4cY122as4S7ip1jbqUYaN1QkrDfo3EWPSeuRBV7iY= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.119.0/go.mod h1:+kDGPEm2X1vRRvwlFZM+PvQA8bX1z7sS0y6ZM6j4VV0= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.119.0 h1:KxO72gQBcbTg/MbAwOxYmEe852dw52n0utKx5YTeglA= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.119.0/go.mod h1:sts1dbhTCIsB6QIIlnVafI0mLlpY6uxlW7nnuGSRIbY= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.119.0 h1:3vD9FPYJi6nxdSjToRA0GGKDeuycTenYxjGrzZGWmqo= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.119.0/go.mod h1:KpOzslb/83wjX7u+uTDrRz4vo8IHJc9NzqVNF6XKTXM= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.119.0 h1:3sc4wSZJt43fnTMq2S39DFwBx4Hg9SIHDzjLJh9Ba7E= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.119.0/go.mod h1:puMhfFFcSwJGQXxDCryC7L/lmQKtyuqiSPbDkyh0qoI= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.119.0 h1:NYJP5GjdBFBOm96YyGce60kUTk7nBkAxqnAG3O91oPQ= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.119.0/go.mod h1:j1baVt1511W0U1O3swP2EPOJQvw3zEAwLaGbK1XGeQs= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.119.0 h1:crmGIMMreoChY8B+OpgGloa/F+HIR9U7QDcl5eHjzCc= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.119.0/go.mod h1:0qLseGy0ZRiPOO4mF1+Op7t6NiVMLGx0GvgDKrGTCZI= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.119.0 h1:GCzOLqTqIysP5RS6wh70o/cARYAWGl7yITyFHNl96Dw= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.119.0/go.mod h1:DSrZFUPipQcZYE2mU7NfXA89ugRfrkT3aGr7BItni8s= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.119.0 h1:aPtvsVRhPtmrxLQxWWzZK0/nf2KkYfHhq/0Suyt1Bf0= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.119.0/go.mod h1:s/lcuu636fJTbSAg+gfUrgCPCnABOz2LNfKcq/UESRo= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.119.0 h1:R01B1CvXO4PXykSa7Tx6T9e1psXKgBUAvO1Ko1LpQrc= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.119.0/go.mod h1:Cow/Xv1K6XabhU+dqlMfupQjOCeB/0Ggn0vObHXvMiM= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.119.0 h1:8HZ1pb7toDx3bnMmbC41OI18FZvvDSAr5kQpO7+c3gQ= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.119.0/go.mod h1:2fBaiKO2FZzZ6rr0zYSp6MOcqV0r8fNss5VPK03SFnY= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -1342,8 +1344,8 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.61.0 h1:3gv/GThfX0cV2lpO7gkTUwZru38mxevy90Bj8YFSRQQ= -github.com/prometheus/common v0.61.0/go.mod h1:zr29OCN/2BsJRaFwG8QOBr41D6kkchKbpeNH7pAjb/s= +github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -1459,8 +1461,8 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/testcontainers/testcontainers-go v0.34.0 h1:5fbgF0vIN5u+nD3IWabQwRybuB4GY8G2HHgCkbMzMHo= -github.com/testcontainers/testcontainers-go v0.34.0/go.mod h1:6P/kMkQe8yqPHfPWNulFGdFHTD8HB2vLq/231xY2iPQ= +github.com/testcontainers/testcontainers-go v0.35.0 h1:uADsZpTKFAtp8SLK+hMwSaa+X+JiERHtd4sQAFmXeMo= +github.com/testcontainers/testcontainers-go v0.35.0/go.mod h1:oEVBj5zrfJTrgjwONs1SsRbnBtH9OKl+IGl3UMcr2B4= github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= @@ -1471,6 +1473,8 @@ github.com/tidwall/tinylru v1.1.0 h1:XY6IUfzVTU9rpwdhKUF6nQdChgCdGjkMfLzbWyiau6I github.com/tidwall/tinylru v1.1.0/go.mod h1:3+bX+TJ2baOLMWTnlyNWHh4QMnFyARg2TLTQ6OFbzw8= github.com/tidwall/wal v1.1.8 h1:2qDSGdAdjaY3PEvHRva+9UFqgk+ef7cOiW1Qn5JH1y0= github.com/tidwall/wal v1.1.8/go.mod h1:r6lR1j27W9EPalgHiB7zLJDYu3mzW5BQP5KrzBpYY/E= +github.com/tilinna/clock v1.1.0 h1:6IQQQCo6KoBxVudv6gwtY8o4eDfhHo8ojA5dP0MfhSs= +github.com/tilinna/clock v1.1.0/go.mod h1:ZsP7BcY7sEEz7ktc0IVy8Us6boDrK8VradlKRUGfOao= github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= @@ -1572,196 +1576,200 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.117.0 h1:nj/Q89KGmev1l4YxWJt4JH3+fV1YFmci9MRmr9bULf4= -go.opentelemetry.io/collector v0.117.0/go.mod h1:z8XawVuKONaUkJW5w1GrfAXokrgxdF8mGtekK0sFIyQ= -go.opentelemetry.io/collector/client v1.23.0 h1:X11yEZ2T3T1Cr1CfDPI0xjZgw7ekes7CVbF/NVYxGG0= -go.opentelemetry.io/collector/client v1.23.0/go.mod h1:pfhOGJ13n5xH3HgmFwUHa1nBE1kCIa9X/DLTJVxtbVM= -go.opentelemetry.io/collector/component v0.117.0 h1:A3Im4PqLyfduAdVyUgbOZdUs7J/USegdpnkoIAOuN3Y= -go.opentelemetry.io/collector/component v0.117.0/go.mod h1:+SxJgeMwNV6y3aKNR2sP0PfovcUlRwC0+pEv4tTYdXA= -go.opentelemetry.io/collector/component/componentstatus v0.117.0 h1:8PGN66p9o5L7xCfT4jDJHd3d2VdtIuzPU2mEXOSONt8= -go.opentelemetry.io/collector/component/componentstatus v0.117.0/go.mod h1:u8tVDI+S9TxBa5NtxJNdxqjI0CLIzbmqbRl9DPrdR/0= -go.opentelemetry.io/collector/component/componenttest v0.117.0 h1:r3k0BsU/cJlqVQRtgFjxfduNEGaM2qCAU7JitIGkRds= -go.opentelemetry.io/collector/component/componenttest v0.117.0/go.mod h1:MoBWSGb3KwGc5FAIO+htez/QWK2uqJ4fnbEnfHB384c= -go.opentelemetry.io/collector/config/configauth v0.117.0 h1:o+sEz1aeS01XD3procwMmvDAhGHFFH1dxmC6XHwxG6s= -go.opentelemetry.io/collector/config/configauth v0.117.0/go.mod h1:oWkIayfVGS/ED6jEDTILSypW8MVNZ/bHd11lXrt7fsQ= -go.opentelemetry.io/collector/config/configcompression v1.23.0 h1:KCEztOb+2L4+dUCCadOW/byRiw7LbgguNqHD5LxJcwY= -go.opentelemetry.io/collector/config/configcompression v1.23.0/go.mod h1:LvYG00tbPTv0NOLoZN0wXq1F5thcxvukO8INq7xyfWU= -go.opentelemetry.io/collector/config/configgrpc v0.117.0 h1:ELxoFoZxNDxb/YQJuku6JWL5TRQT+exsrTGrCoZeyrk= -go.opentelemetry.io/collector/config/configgrpc v0.117.0/go.mod h1:l916AszIpA12JiqCG5RNPgBgm5oimc4yeVPEUOOD/G4= -go.opentelemetry.io/collector/config/confighttp v0.117.0 h1:0BRGo1aivqIsGtAMmxTZ0u3rlGJ073+iyHD5RvUOtQk= -go.opentelemetry.io/collector/config/confighttp v0.117.0/go.mod h1:iNCp62v5k9SPTOdOxQlPfs/4gLGh7YLGpjP//9uvT0A= -go.opentelemetry.io/collector/config/confignet v1.23.0 h1:gq90GDgQFSjAeFkDeIkstkBwYrD8feUjqEWCrIJhFGA= -go.opentelemetry.io/collector/config/confignet v1.23.0/go.mod h1:ZppUH1hgUJOubawEsxsQ9MzEYFytqo2GnVSS7d4CVxc= -go.opentelemetry.io/collector/config/configopaque v1.23.0 h1:SEnEzOHufGc4KGOjQq8zKIQuDBmRFl9ncZ3qs1SRpJk= -go.opentelemetry.io/collector/config/configopaque v1.23.0/go.mod h1:sW0t0iI/VfRL9VYX7Ik6XzVgPcR+Y5kejTLsYcMyDWs= -go.opentelemetry.io/collector/config/configretry v1.23.0 h1:0Ox2KvTZyNdgureAs3kJzsNIa6ttrx9bwlKjj/p4fGU= -go.opentelemetry.io/collector/config/configretry v1.23.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= -go.opentelemetry.io/collector/config/configtelemetry v0.117.0 h1:xsMfc89VByIF2fJzWuxs/2eqy44DWfNBAysReG4TAr8= -go.opentelemetry.io/collector/config/configtelemetry v0.117.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= -go.opentelemetry.io/collector/config/configtls v1.23.0 h1:52q9dAV923hHn1aoYQyKGnrRXCPvTTT3DXurtxcpZaQ= -go.opentelemetry.io/collector/config/configtls v1.23.0/go.mod h1:cjMoqKm4MX9sc9qyEW5/kRepiKLuDYqFofGa0f/rqFE= -go.opentelemetry.io/collector/confmap v1.23.0 h1:EY+auc0kbyZ4HIfkLYeJyLDCZIFzMA1u8QRGW4bC1Ag= -go.opentelemetry.io/collector/confmap v1.23.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= -go.opentelemetry.io/collector/confmap/provider/envprovider v1.23.0 h1:b1aZxceRYYH1wXqqVHYZpepiVKYy8WJ27NHq/KQFQJs= -go.opentelemetry.io/collector/confmap/provider/envprovider v1.23.0/go.mod h1:c1zdel/NZJumOWY8RhKfOuF/uxihNxQrJzBQcnY0HFw= -go.opentelemetry.io/collector/confmap/provider/fileprovider v1.23.0 h1:2CwU9PZLCP76iNTk6vP1CN3BA1C9OnnebpCE0WQf6F4= -go.opentelemetry.io/collector/confmap/provider/fileprovider v1.23.0/go.mod h1:tDUen3bEdWlgJtJEc2OrNV6sTfR/QkImyAFlxUXcplY= -go.opentelemetry.io/collector/confmap/provider/httpprovider v1.23.0 h1:CdGl8CI5rnbAhNIJwisCKvKEiqOKWTZqnsQ2WqcCPs8= -go.opentelemetry.io/collector/confmap/provider/httpprovider v1.23.0/go.mod h1:lvljQaUjATZhFghYNPGNjIO3lsedzv7lOlkQfOdiung= -go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.23.0 h1:LhAmpmjCVSmiusk0lymvSxkYPy1praMHwGhNdnUJVFw= -go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.23.0/go.mod h1:89KFhIqvcjibD2yduEHmkl9w0fzVQgOh4NP0p293reU= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.23.0 h1:ZaK8+EcQxlYZZgJn7ew700AUhH9CpXA3VBn46OHHEHk= -go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.23.0/go.mod h1:WrlXU+lshUTmsgyacD7jijs0Nh85Xf0xU/0sqtkHDNs= -go.opentelemetry.io/collector/connector v0.117.0 h1:7MM6FOrquYyLSftp3vJSeahRLcVcJ+EwgsqZpsPtGas= -go.opentelemetry.io/collector/connector v0.117.0/go.mod h1:Qp3KAr/S3vMjOtWG5tZxQ+6JgFFYBUzFx6xzM6Xt30A= -go.opentelemetry.io/collector/connector/connectortest v0.117.0 h1:tRes8VpoYEXbOZtT5NQdYhWd7PyHy4N3R/9M2VMZt7U= -go.opentelemetry.io/collector/connector/connectortest v0.117.0/go.mod h1:rb7ax+hQzL2fiUFI9QpfOPQX2S6GfJlyxjT4tsIYODQ= -go.opentelemetry.io/collector/connector/xconnector v0.117.0 h1:H4tTVBKDW9bfEJ+6p6ZDIdN7yUkGl59ELs0+46UtQ78= -go.opentelemetry.io/collector/connector/xconnector v0.117.0/go.mod h1:aAfKBBFnJrPgKC653Lt1gwfTDbSZUuTY4TPI7Fcv9MM= -go.opentelemetry.io/collector/consumer v1.23.0 h1:JT0nE1vikL5yIk97IHBGzwx8co3w1WsAd3GFEl8r9XA= -go.opentelemetry.io/collector/consumer v1.23.0/go.mod h1:8d0uQ6gq64LbPktV4sc888lRj1cQCmrdl13hRIEURgA= -go.opentelemetry.io/collector/consumer/consumererror v0.117.0 h1:PPIZCcYZcENnyIrpRV4ERvMUoPSTV0zIP0QPzJvz80g= -go.opentelemetry.io/collector/consumer/consumererror v0.117.0/go.mod h1:L47xOVC+Vzos8350j3SWtU43w7rzms6UDhb6IrFxymY= -go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.117.0 h1:gT9VUzerc4rSRUDMEBQdrgBxbrpjinoa4Oxo5qlj6gw= -go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.117.0/go.mod h1:AzJIPm65RpEeoQk8OuQ4HLT6QQPDNrWWKk8IEaNBiIQ= -go.opentelemetry.io/collector/consumer/consumertest v0.117.0 h1:9WFyyjLudvfJDEuUaGsQyNRd1m6D1iRg8Iyg3xliFko= -go.opentelemetry.io/collector/consumer/consumertest v0.117.0/go.mod h1:B7A+OS76QKAzM8W7cmvlfVynFELj9Sa444hSm1SILFw= -go.opentelemetry.io/collector/consumer/xconsumer v0.117.0 h1:vsBNJGaEbYqgMU3PEsOcqjMxX5ul++Cxda44sttoi8c= -go.opentelemetry.io/collector/consumer/xconsumer v0.117.0/go.mod h1:dTr+Tms53lRLvR3OAzYic0yhcwldhTUdVIwJNSDmBmw= -go.opentelemetry.io/collector/exporter v0.117.0 h1:A9kVXzdb8i1eFELImuaSPyijAfg4qMIpM/4y/98mlxk= -go.opentelemetry.io/collector/exporter v0.117.0/go.mod h1:Cbrorch2s18w1X7+A+zXQtAffbInnIOP7Su26gbRG+k= -go.opentelemetry.io/collector/exporter/debugexporter v0.117.0 h1:/ZLnlpKulaeqHAudVL+cfupfgETxpuiANaqaffJ3e10= -go.opentelemetry.io/collector/exporter/debugexporter v0.117.0/go.mod h1:gAFxD8cSJMx1GRB/6XwfFRapCD0CsP6MpkQx892NyNY= -go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.117.0 h1:1e991aHPgSvWFMOFFir40HANg2SkXcrkG4AlRvK2+KI= -go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.117.0/go.mod h1:TkPEGX28zDvGAqlJRZQhKohG+82iN2lWPjF+dTuzS9Q= -go.opentelemetry.io/collector/exporter/exportertest v0.117.0 h1:u+loeqxpniMiJL1iqc/lCCcfniWrqHBgJTAjXfqVBqQ= -go.opentelemetry.io/collector/exporter/exportertest v0.117.0/go.mod h1:GyHwJLsOPPau0m+TYrIA7jWD9/GU+ID+l/9sL0cAqhE= -go.opentelemetry.io/collector/exporter/otlpexporter v0.117.0 h1:A/qDjii7WN2Wdx+gtdLvSVpPu8to6ogVutxIggNBEio= -go.opentelemetry.io/collector/exporter/otlpexporter v0.117.0/go.mod h1:rW4Re7GGCPB4JwZoZjXaPqJ77GEIr8OjTz5YK59avJM= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.117.0 h1:sEpFjth0x9/gZ6JJfNce1T8RJuNzUWKnDU0TKcejKl0= -go.opentelemetry.io/collector/exporter/otlphttpexporter v0.117.0/go.mod h1:K1A36IRdkEktqESw1FioXuvzMYbQPmiju5T26UIo0Sc= -go.opentelemetry.io/collector/exporter/xexporter v0.117.0 h1:BB8D0Dvb46CVAZrnPEg5nYgXO7LzONmXeGKEfzSIOZs= -go.opentelemetry.io/collector/exporter/xexporter v0.117.0/go.mod h1:yo0T8WkvLCJ7NOqIquHGFe4Xpuc4CbDb8a06T2G5De4= -go.opentelemetry.io/collector/extension v0.117.0 h1:B3cG7g+wbhmpMFugaDxOcyiPKeulaW8+EQdJbZxDfho= -go.opentelemetry.io/collector/extension v0.117.0/go.mod h1:WjyD5h9N5Y0SF8azB2rulvHJieJoWqroGO5hi3ax5+8= -go.opentelemetry.io/collector/extension/auth v0.117.0 h1:tXQdYIdcABXalWyFZP22pREY7+nWUNurx8Y6FseWs7w= -go.opentelemetry.io/collector/extension/auth v0.117.0/go.mod h1:ofrV2BuE46+k7Su/h0ccrMl5Zk5Y7NVlzOb3AwU7Dzw= -go.opentelemetry.io/collector/extension/auth/authtest v0.117.0 h1:wV4OIiWrt7gteQrxL8MCmGvjGhMiu5TplKJHOfVZO6Y= -go.opentelemetry.io/collector/extension/auth/authtest v0.117.0/go.mod h1:nHxcAOyo26JnuYwKIoQM9mDlSXpERQrbjIw3Dtp9hug= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.117.0 h1:YbCF0s0jywLZgwNUyKdPUMLMZs3nUPm1tGvJz8x6wTU= -go.opentelemetry.io/collector/extension/extensioncapabilities v0.117.0/go.mod h1:VArn6UKAy4pqlATfhDFfc8UOwX/TtavPF5pgAL70AEw= -go.opentelemetry.io/collector/extension/extensiontest v0.117.0 h1:XH+tkHdATylYZtASZKK3rCoN/xlaFi8MXLh07ZlQQWw= -go.opentelemetry.io/collector/extension/extensiontest v0.117.0/go.mod h1:ABqB9D41p4MCeGVmABOgJi7i7roWZlFbqeFJDy7lskQ= -go.opentelemetry.io/collector/extension/memorylimiterextension v0.117.0 h1:WknYblpMWZWNLliCyXs15Dr7FEK8rlQoctp+MPx04KM= -go.opentelemetry.io/collector/extension/memorylimiterextension v0.117.0/go.mod h1:uP5iQFaR5kDDYk/SVvt9FHanPHGLqRd2RMzt6Ndl/q8= -go.opentelemetry.io/collector/extension/xextension v0.117.0 h1:ADUKWHGaVvvmebJHiNRuX6YAfQXFDW/UaXK9W1hCo1k= -go.opentelemetry.io/collector/extension/xextension v0.117.0/go.mod h1:BmR8xN7Ja+El4IJ9aVmtON2miudjsbq2COZ9azVXsNg= -go.opentelemetry.io/collector/extension/zpagesextension v0.117.0 h1:TNSMgnCYZ1He2ANJQDoBEQ2tuHMa97qM5cpLErNLous= -go.opentelemetry.io/collector/extension/zpagesextension v0.117.0/go.mod h1:c82ly0hN5nMEtXY9mNdS9xVToYxbUjXblnXZCoICwCc= -go.opentelemetry.io/collector/featuregate v1.23.0 h1:N033ROo85qKrsK16QzR6RV+3UWOWF7kpOO8FSnX99s0= -go.opentelemetry.io/collector/featuregate v1.23.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= -go.opentelemetry.io/collector/filter v0.117.0 h1:iQAbrho8TzcOxoroJDiQnvy1KvfTqwwNAhtg/sXYYAE= -go.opentelemetry.io/collector/filter v0.117.0/go.mod h1:MUyBRsy3IKVixSWIfA9BXzHhx24LHo4y38uQmFlqddA= -go.opentelemetry.io/collector/internal/fanoutconsumer v0.117.0 h1:IfObXF9WEixWA9baPt0d4GOv8XGxmlsX7oAyD9Gdq/4= -go.opentelemetry.io/collector/internal/fanoutconsumer v0.117.0/go.mod h1:n+hmwNk4CbOTmQyUo1K4CEnCGcrPd7RY3E6ljrQ2GYo= -go.opentelemetry.io/collector/internal/memorylimiter v0.117.0 h1:D1VzSopWxegkaOyqprh9/DOsfb+Nb2oFp/4xP5UI6F8= -go.opentelemetry.io/collector/internal/memorylimiter v0.117.0/go.mod h1:cva7zIC6wfciMRk4z7zCIWpfiUoA7Hx3ZR1Op4BPP+0= -go.opentelemetry.io/collector/internal/sharedcomponent v0.117.0 h1:mk+qZO2HpNny3FuYeb4mjL4mbrEfkJN5untocHA8AqM= -go.opentelemetry.io/collector/internal/sharedcomponent v0.117.0/go.mod h1:Hlzn5+54tgYchP3OJz/YMnrbMNHX8PggDpZFlDTB2kQ= -go.opentelemetry.io/collector/otelcol v0.117.0 h1:BWmXS+Qh8ypu95w5PKz4NEcyRfX9TzoXQaqD6antji8= -go.opentelemetry.io/collector/otelcol v0.117.0/go.mod h1:jbEizqJKjZ1Q7XIbKvYc+vF2sxW5aw0LO7U8wj7wysM= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.117.0 h1:uELK5WYoofV19gAq0cZrmAAcBO/SP94fheYJ/+bm49g= -go.opentelemetry.io/collector/otelcol/otelcoltest v0.117.0/go.mod h1:Xo9X7JBQVCCjkkMjkRdsuvrwM82xk67HuUge7zXm5FU= -go.opentelemetry.io/collector/pdata v1.23.0 h1:tEk0dkfB8RdSukoOMfEa8duB938gfZowdfRkrJxGDrw= -go.opentelemetry.io/collector/pdata v1.23.0/go.mod h1:I2jggpBMiO8A+7TXhzNpcJZkJtvi1cU0iVNIi+6bc+o= -go.opentelemetry.io/collector/pdata/pprofile v0.117.0 h1:AyOK+rkNGeawmLGUqF84wYks22BSGJtEV++3YSfvD1I= -go.opentelemetry.io/collector/pdata/pprofile v0.117.0/go.mod h1:eh7TLIkLrSI79/R3RL+sZsKpLS0k+83WntucPtXC5Ak= -go.opentelemetry.io/collector/pdata/testdata v0.117.0 h1:ainpacShKHaDkPK6lcvgJ0aPKYUD/E3+I0gYJZleedo= -go.opentelemetry.io/collector/pdata/testdata v0.117.0/go.mod h1:LZAymmRKHQEqJqJUSO15rej3+V1rNRyBMF5mWCKCMBY= -go.opentelemetry.io/collector/pipeline v0.117.0 h1:CSv0Dd3n9AQNQ73e7PdEkgexkSMRZliKATxkoZKUFcY= -go.opentelemetry.io/collector/pipeline v0.117.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= -go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.116.0 h1:vRdnwIU40bYtxntVOmxg4Bhrh9QVKtx5wwlxK21rc1s= -go.opentelemetry.io/collector/pipeline/pipelineprofiles v0.116.0/go.mod h1:KxDMUOfbVy8lzZ85CZEG3gCJEYMyWiBKdN+HWUwQWTM= -go.opentelemetry.io/collector/pipeline/xpipeline v0.117.0 h1:jnHQNaNfVRIdrtOPCORUy8s1cEJyxql3uv/WQ1ve1Js= -go.opentelemetry.io/collector/pipeline/xpipeline v0.117.0/go.mod h1:lNY3uQjRcb3f7CW1JQMXJcWzCJp5122LOKrKs5eito8= -go.opentelemetry.io/collector/processor v0.117.0 h1:K4WdaNC5ROIoLRGgyHmXxtw7xVpAMR4cIMQ5PVLP5cI= -go.opentelemetry.io/collector/processor v0.117.0/go.mod h1:4ewsyJD4n8GjFN+mFbxgr7uXLZYNcJEnH3wl47aDV7s= -go.opentelemetry.io/collector/processor/batchprocessor v0.117.0 h1:8ZhMNrrGswaL423Gy7+B4H8qAxuUvaCnc3vdjcJJuGs= -go.opentelemetry.io/collector/processor/batchprocessor v0.117.0/go.mod h1:ghiVjd377WltMOybbzcwtg1XqFFS33FzLmWbXbTJ0Ss= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.117.0 h1:WQFkiU2X04b8+wFSI8MTIt8m1ZRrQj0vROkgOLOu7VE= -go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.117.0/go.mod h1:yrZs8KUYMEnJetlAvKNa2QI9Fw10alkpurZrj/RtEes= -go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.117.0 h1:JDFPL628wHZFVfB40WxwoRE0pQfCCO46/7zt+/9LLZM= -go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.117.0/go.mod h1:am+LchHA2OoGFE28Y3oQ25FZoQt7FPm/a7yCHc0Npe0= -go.opentelemetry.io/collector/processor/processortest v0.117.0 h1:c2zjsm3nQDkq9GErzhczN7psGI5Wk0eqXM5LGrX3wxg= -go.opentelemetry.io/collector/processor/processortest v0.117.0/go.mod h1:nywNHogkxp++ab3QkXpWKlv41Gkm9cAYB4PHvyoHwjs= -go.opentelemetry.io/collector/processor/xprocessor v0.117.0 h1:yGBjlY8HRb2AqYo1Q8pKJOLRbmZKrjeeTO4COiP45OU= -go.opentelemetry.io/collector/processor/xprocessor v0.117.0/go.mod h1:MnyEaS47cqol7Cph6LnYIp0g2Km4M+I1vWTwiDeuBN0= -go.opentelemetry.io/collector/receiver v0.117.0 h1:jm+b2G2IKKwGE213lB9cviKEdeATvYtNSY1kO0XdpMM= -go.opentelemetry.io/collector/receiver v0.117.0/go.mod h1:fZXigB3afp54OE+ogPcup/RPwI7j+CwZh9Mz6ObB/Cg= -go.opentelemetry.io/collector/receiver/nopreceiver v0.117.0 h1:j5cbMzH2TZI7N4hputwOHKF6efcpJ4L+Cabo5kjHJmk= -go.opentelemetry.io/collector/receiver/nopreceiver v0.117.0/go.mod h1:7r3PlDoL0ITvktjpO6OnEcubprSDzBoM40C4EWWRgZg= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.117.0 h1:Ezv4K3TGcQ5sd6lj0QsemjUeO+5RTnSsfodfPyjHo2o= -go.opentelemetry.io/collector/receiver/otlpreceiver v0.117.0/go.mod h1:EHUqhKkoxAC0qPcONZvOcSCnqRLIfY6ORZ3OFm/Z4Ag= -go.opentelemetry.io/collector/receiver/receivertest v0.117.0 h1:aN4zOuWsiARa+RG9f89JyIrJbx5wsQ71Y0giiHsO1z8= -go.opentelemetry.io/collector/receiver/receivertest v0.117.0/go.mod h1:1wnGEowDmlO89feq1P+b4tQI2G/+iJxRrMallw7zeJE= -go.opentelemetry.io/collector/receiver/xreceiver v0.117.0 h1:HJjBj6P3/WQoYaRKZkWZHnUUCVFpBieqGKzKHcT6HUw= -go.opentelemetry.io/collector/receiver/xreceiver v0.117.0/go.mod h1:K1qMjIiAg6i3vHA+/EpM8nkhna3uIgoEellE2yuhz7A= -go.opentelemetry.io/collector/scraper v0.117.0 h1:FFBM6Pzc3L0sTronrceanvqxT74Nurbi8usUSImexJ0= -go.opentelemetry.io/collector/scraper v0.117.0/go.mod h1:6dM+85+aNPWfu63H+m8ZZutxDYCrWVXJ1yylR0jB9kA= -go.opentelemetry.io/collector/scraper/scraperhelper v0.117.0 h1:jyQ7cdanR541XKSryExBNYKZVvVw27Sos1Rb88Sf/II= -go.opentelemetry.io/collector/scraper/scraperhelper v0.117.0/go.mod h1:zt7M+HIlYJHdnFC5smM8AaczZevVHYkaG1yjnq26/i8= -go.opentelemetry.io/collector/semconv v0.117.0 h1:SavOvSbHPVD/QdAnXlI/cMca+yxCNyXStY1mQzerHs4= -go.opentelemetry.io/collector/semconv v0.117.0/go.mod h1:N6XE8Q0JKgBN2fAhkUQtqK9LT7rEGR6+Wu/Rtbal1iI= -go.opentelemetry.io/collector/service v0.117.0 h1:yx3ZwnjHcL1YAWZDK2Kxco1BSB228+RaCwgmMzXykqE= -go.opentelemetry.io/collector/service v0.117.0/go.mod h1:Mtxu9Qn/90kdRrEqRr6n7MbtnW6qF1qCIi/u2LMYrRo= -go.opentelemetry.io/contrib/bridges/otelzap v0.6.0 h1:j8icMXyyqNf6HGuwlYhniPnVsbJIq7n+WirDu3VAJdQ= -go.opentelemetry.io/contrib/bridges/otelzap v0.6.0/go.mod h1:evIOZpl+kAlU5IsaYX2Siw+IbpacAZvXemVsgt70uvw= -go.opentelemetry.io/contrib/config v0.10.0 h1:2JknAzMaYjxrHkTnZh3eOme/Y2P5eHE2SWfhfV6Xd6c= -go.opentelemetry.io/contrib/config v0.10.0/go.mod h1:aND2M6/KfNkntI5cyvHriR/zvZgPf8j9yETdSmvpfmc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.57.0 h1:qtFISDHKolvIxzSs0gIaiPUPR0Cucb0F2coHC7ZLdps= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.57.0/go.mod h1:Y+Pop1Q6hCOnETWTW4NROK/q1hv50hM7yDaUTjG8lp8= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0 h1:DheMAlT6POBP+gh8RUH19EOTnQIor5QE0uSRPtzCpSw= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0/go.mod h1:wZcGmeVO9nzP67aYSLDqXNWK87EZWhi7JWj1v7ZXf94= -go.opentelemetry.io/contrib/propagators/b3 v1.31.0 h1:PQPXYscmwbCp76QDvO4hMngF2j8Bx/OTV86laEl8uqo= -go.opentelemetry.io/contrib/propagators/b3 v1.31.0/go.mod h1:jbqfV8wDdqSDrAYxVpXQnpM0XFMq2FtDesblJ7blOwQ= -go.opentelemetry.io/contrib/zpages v0.56.0 h1:W7vP6s3juzL5KiHpr41zLNmsJ0QAZudYu8ay0zGAoko= -go.opentelemetry.io/contrib/zpages v0.56.0/go.mod h1:IxPRP4TYHw9jLeaEOSDIiA9zmyJNZNO6sbW55iMvSXs= -go.opentelemetry.io/otel v1.32.0 h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U= -go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0 h1:mMOmtYie9Fx6TSVzw4W+NTpvoaS1JWWga37oI1a/4qQ= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.7.0/go.mod h1:yy7nDsMMBUkD+jeekJ36ur5f3jJIrmCwUrY67VFhNpA= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0 h1:j7ZSD+5yn+lo3sGV69nW04rRR0jhYnBwjuX3r0HvnK0= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0/go.mod h1:WXbYJTUaZXAbYd8lbgGuvih0yuCfOFC5RJoYnoLcGz8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0 h1:t/Qur3vKSkUCcDVaSumWF2PKHt85pc7fRvFuoVT8qFU= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0/go.mod h1:Rl61tySSdcOJWoEgYZVtmnKdA0GeKrSqkHC1t+91CH8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 h1:IJFEoHiytixx8cMiVAO+GmHR6Frwu+u5Ur8njpFO6Ac= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0/go.mod h1:3rHrKNtLIoS0oZwkY2vxi+oJcwFRWdtUyRII+so45p8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 h1:9kV11HXBHZAvuPUZxmMWrH8hZn/6UnHX4K0mu36vNsU= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0/go.mod h1:JyA0FHXe22E1NeNiHmVp7kFHglnexDQ7uRWDiiJ1hKQ= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0 h1:cMyu9O88joYEaI47CnQkxO1XZdpoTF9fEnW2duIddhw= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0/go.mod h1:6Am3rn7P9TVVeXYG+wtcGE7IE1tsQ+bP3AuWcKt/gOI= -go.opentelemetry.io/otel/exporters/prometheus v0.54.0 h1:rFwzp68QMgtzu9PgP3jm9XaMICI6TsofWWPcBDKwlsU= -go.opentelemetry.io/otel/exporters/prometheus v0.54.0/go.mod h1:QyjcV9qDP6VeK5qPyKETvNjmaaEc7+gqjh4SS0ZYzDU= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 h1:TwmL3O3fRR80m8EshBrd8YydEZMcUCsZXzOUlnFohwM= -go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0/go.mod h1:tH98dDv5KPmPThswbXA0fr0Lwfs+OhK8HgaCo7PjRrk= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.32.0 h1:SZmDnHcgp3zwlPBS2JX2urGYe/jBKEIT6ZedHRUyCz8= -go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.32.0/go.mod h1:fdWW0HtZJ7+jNpTKUR0GpMEDP69nR8YBJQxNiVCE3jk= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0 h1:cC2yDI3IQd0Udsux7Qmq8ToKAx1XCilTQECZ0KDZyTw= -go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0/go.mod h1:2PD5Ex6z8CFzDbTdOlwyNIUywRr1DN0ospafJM1wJ+s= -go.opentelemetry.io/otel/log v0.8.0 h1:egZ8vV5atrUWUbnSsHn6vB8R21G2wrKqNiDt3iWertk= -go.opentelemetry.io/otel/log v0.8.0/go.mod h1:M9qvDdUTRCopJcGRKg57+JSQ9LgLBrwwfC32epk5NX8= -go.opentelemetry.io/otel/metric v1.32.0 h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M= -go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8= -go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4= -go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU= -go.opentelemetry.io/otel/sdk/log v0.7.0 h1:dXkeI2S0MLc5g0/AwxTZv6EUEjctiH8aG14Am56NTmQ= -go.opentelemetry.io/otel/sdk/log v0.7.0/go.mod h1:oIRXpW+WD6M8BuGj5rtS0aRu/86cbDV/dAfNaZBIjYM= -go.opentelemetry.io/otel/sdk/metric v1.32.0 h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU= -go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ= -go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM= -go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8= -go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg= -go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/collector v0.119.0 h1:n8ltRLteaUKjyY3E+3JbiaPG4gwL2pjNIcUvXmRA0Ko= +go.opentelemetry.io/collector v0.119.0/go.mod h1:w+qO3hp/mLR2wL4v06MWonGcj4p2/kPSNcU3R7+06p8= +go.opentelemetry.io/collector/client v1.25.0 h1:7IS+b3Xm2ymgmQj9UbnZmVF4jIw6F7tQjJP7lFc+GoM= +go.opentelemetry.io/collector/client v1.25.0/go.mod h1:IPyOnO7K0ztuZOV1i+WXShvq4tpbLp45tTDdIDvlZvM= +go.opentelemetry.io/collector/component v0.119.0 h1:ZVp9myF1Bc4BLa1V4C15Jy/VpqKPPhvbxpe9pP1mPMc= +go.opentelemetry.io/collector/component v0.119.0/go.mod h1:wtuWxFl+Ky9E/5+t2FwHoLyADDiBFFDdx8fN3fEs0n8= +go.opentelemetry.io/collector/component/componentstatus v0.119.0 h1:H8isEInGaWhnDfuG1Ax663dlsPgF4aM20sgraM6HmSI= +go.opentelemetry.io/collector/component/componentstatus v0.119.0/go.mod h1:Hr7scHUFPhyT32IkzKq06cdhRH9jMKvnKbDVYRUEnqE= +go.opentelemetry.io/collector/component/componenttest v0.119.0 h1:nVlBmKSu56zO/qCcNgDYCQsRoWAL+NPkrkIPAbapdQM= +go.opentelemetry.io/collector/component/componenttest v0.119.0/go.mod h1:H6KVzLkNhB/deEijLcq91Kjgs9Oshx2ZsFAwaMcuTLs= +go.opentelemetry.io/collector/config/configauth v0.119.0 h1:w/Ln2l6TSgadtRLEZ7mlmOsW/6Q4ITIrjwxR7Tbnfzg= +go.opentelemetry.io/collector/config/configauth v0.119.0/go.mod h1:B3DFUBTSGdwAjxbWtY/tQ+03QwousCMLM9s26+Kb9Xw= +go.opentelemetry.io/collector/config/configcompression v1.25.0 h1:iYeeYiKbTQu9lqWDpszeAc5gRkWBImDrBVe7u5gnoqw= +go.opentelemetry.io/collector/config/configcompression v1.25.0/go.mod h1:LvYG00tbPTv0NOLoZN0wXq1F5thcxvukO8INq7xyfWU= +go.opentelemetry.io/collector/config/configgrpc v0.119.0 h1:h3Fn5xzGSeSC721rbBhZDxTY5Z1sSSqQRdjR2LXnUZM= +go.opentelemetry.io/collector/config/configgrpc v0.119.0/go.mod h1:JkPHSM0clFA2bD85zQ8DuEyH4BFiB+wCZbr1aqbCLkY= +go.opentelemetry.io/collector/config/confighttp v0.119.0 h1:slt4Msm2D4qdu2Nvy2E+ccgrAS0T64zl6eTuWiiCxGg= +go.opentelemetry.io/collector/config/confighttp v0.119.0/go.mod h1:Tnfo1UP1OZPVfvYriaP187aS3FHfwVXNLjBZ799AUFk= +go.opentelemetry.io/collector/config/confignet v1.25.0 h1:DteOIhwvXkmGhqggKU/s0qfjpVW21TGku1vM2S0xArY= +go.opentelemetry.io/collector/config/confignet v1.25.0/go.mod h1:ZppUH1hgUJOubawEsxsQ9MzEYFytqo2GnVSS7d4CVxc= +go.opentelemetry.io/collector/config/configopaque v1.25.0 h1:raFi+CC8Sn4KzKCPhtnnrnkDQ0eFzJCN8xJpQh9d1sU= +go.opentelemetry.io/collector/config/configopaque v1.25.0/go.mod h1:sW0t0iI/VfRL9VYX7Ik6XzVgPcR+Y5kejTLsYcMyDWs= +go.opentelemetry.io/collector/config/configretry v1.25.0 h1:PelzRkTJ9zGxwdJha7pPtvR91GrgL/OzkY/MwyXYRUE= +go.opentelemetry.io/collector/config/configretry v1.25.0/go.mod h1:cleBc9I0DIWpTiiHfu9v83FUaCTqcPXmebpLxjEIqro= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0 h1:gAgMUEVXZKgpASxOrhS55DyA/aYatq0U6gitZI8MLXw= +go.opentelemetry.io/collector/config/configtelemetry v0.119.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/config/configtls v1.25.0 h1:x915Us8mhYWGB025LBMH8LT9ZPdvg2WKAyCQ7IDUSfw= +go.opentelemetry.io/collector/config/configtls v1.25.0/go.mod h1:jE4WbJE12AltJ3BZU1R0GnYI8D14bTqbTq4yuaTHdms= +go.opentelemetry.io/collector/confmap v1.25.0 h1:dLqd6hF4JqcDHl5GWWhc2jXsHs3hkq3KPvU/2Nw5aN4= +go.opentelemetry.io/collector/confmap v1.25.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.25.0 h1:r4nyEXzs+1ZaemXX7bo2pniIqUZxoFKv0Q1Y7UKkkeY= +go.opentelemetry.io/collector/confmap/provider/envprovider v1.25.0/go.mod h1:uIRrCsNI9hx6/AehW0MpB0oEPzRt2QIn6rCbFQkBbbQ= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.25.0 h1:0Bbay2ow6eQVKMxuota2i1/iIMRhE988hxoY/67Zfqw= +go.opentelemetry.io/collector/confmap/provider/fileprovider v1.25.0/go.mod h1:5xaAHjqx9mlcXxDCeUrZXkEfWk9suMqMKspK41XNelc= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.25.0 h1:eBuy2cxEuRRe5xhQjz+0YqCtMEa6pUUXtEUeZ1+dqSw= +go.opentelemetry.io/collector/confmap/provider/httpprovider v1.25.0/go.mod h1:tAn9Ahbs+y/lBv0etEnVg401hhiHGIXneALyD2I3qIs= +go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.25.0 h1:kAQB0n/ZIBFjMbnV3sNYlA2fAouPIKidjEd5pnGlzCM= +go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.25.0/go.mod h1:fd23s5QAsqX43mk20ECj6hn6jBogfPxXlZ7EQuCpWic= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.25.0 h1:P0F4ys5mxyoo9Bl1uNQc9tDQHUcjc6UiSdQWnHzAod8= +go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.25.0/go.mod h1:3+woatuB5xT10fnmHu5DPujf/rBVi2sntNu2cjqFtYs= +go.opentelemetry.io/collector/connector v0.119.0 h1:TWEVa2Iu+YOW/BuqNAoX0iesv4ygocb9v6GKtZEGsSw= +go.opentelemetry.io/collector/connector v0.119.0/go.mod h1:4p/m2G2acL03RjhdeTJpo6afHFnfBU8E+eUxyrz7qd4= +go.opentelemetry.io/collector/connector/connectortest v0.119.0 h1:jfkxP4jrd+CkyM0SnOrwiSiOW0xyahsyUjWqMwVBbBI= +go.opentelemetry.io/collector/connector/connectortest v0.119.0/go.mod h1:W0jLFVqxpWE+Rz6+JoYY6wN6f41862n8PIr+igaECcI= +go.opentelemetry.io/collector/connector/xconnector v0.119.0 h1:00iGiSVJKp82WjWsyPCMfxmyTynGzNkr7dSrb4oMuyQ= +go.opentelemetry.io/collector/connector/xconnector v0.119.0/go.mod h1:8MPaHhN64/METupujKMxuX+2eixLduUHXxMqP4JUUpc= +go.opentelemetry.io/collector/consumer v1.25.0 h1:qCJa7Hh7lY3vYWgwcEgTGSjjITLCn+BSsya8LxjpoPY= +go.opentelemetry.io/collector/consumer v1.25.0/go.mod h1:ToBfr3BexnhHuxC8/XszkKP/YtkgsGd0yjFMQXNwvT8= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0 h1:M6QXK3KLWnNLlUWOBgz+WQI//W9M8r9qVGWUA3mc5LM= +go.opentelemetry.io/collector/consumer/consumererror v0.119.0/go.mod h1:UNnNkr+ZQJhAMNE5v1n86lXbJrSYb+1ePcI98gV6xvo= +go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.119.0 h1:T/H7NcNIPKnCPlM5rObxPR+907ayTTXnyWiuMjL7Hsg= +go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.119.0/go.mod h1:k03ncJ8V0QFKqwD4ELNyvFx3pMs2uaCErbIn06N9YLo= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0 h1:hZxdlvfOBzy/rl6mIyrannM4M+7zyv7C947f6W9Leio= +go.opentelemetry.io/collector/consumer/consumertest v0.119.0/go.mod h1:pfXxA2CCwbieymnX0ShZuHjwrWzmxJapsb8ZiSqojVc= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0 h1:s9DrRdb1kYXy2psr34zGG5sI+F4GRBIhjvEsh7C7FtE= +go.opentelemetry.io/collector/consumer/xconsumer v0.119.0/go.mod h1:3fvk+0hd4WMv76+oUUNah0rQ35dZzH3zyMMCg9MtsuY= +go.opentelemetry.io/collector/exporter v0.119.0 h1:eVHmkeB5HQY/FcoP62l7O4Q0cAZ97LwLhZiAQoQeBtU= +go.opentelemetry.io/collector/exporter v0.119.0/go.mod h1:xMF9mT01tXHX2NjfMRV8o9YyhPBZOR4Wt+srkTy1thM= +go.opentelemetry.io/collector/exporter/debugexporter v0.119.0 h1:T645QvdoiTWq8h4xf93PFCskjhlTEkCq+lvCwY/xpw0= +go.opentelemetry.io/collector/exporter/debugexporter v0.119.0/go.mod h1:+NpJwrP28x2WvhDMjR3aMaHiFis7gRbLFfSowW5F3jM= +go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.119.0 h1:KS7W2zWVd34Q0BF6tek0hXNEhWHxTr84O+u4xG6a7FM= +go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.119.0/go.mod h1:eKijsOVkLOuu9lbqx86Mua8PqURnpxOdPo/5grKGHOg= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0 h1:saABJIiyYyqWEBvGe2VVf5rMMpHdwB83nD6feNZ33nA= +go.opentelemetry.io/collector/exporter/exportertest v0.119.0/go.mod h1:S82pMkj1gWdivxVRKqaRJvGMgVRntKVI5dWAgs23KI8= +go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0 h1:+Ic7h40EOUPbgDnJzVRns5IjxQBKP8Svn4VeIu1Cnj4= +go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0/go.mod h1:TZMlSFncZ6w7NwEEwElB5QGUNIYZb2SMfmUVajxTctw= +go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0 h1:Hyld/aXva2sPrTchpL9w6QmJVekQcgAO4c3mNbDMi78= +go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0/go.mod h1:U3S1yKDcyb0pP7Xs/SGWWBw4nEzW1KIoBtzYn3CE5TY= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0 h1:bCUFRa/of+iPrJoXyzJ5cbOv/hWDHw87bnDRFQJ/JVU= +go.opentelemetry.io/collector/exporter/xexporter v0.119.0/go.mod h1:naV2XoiJv8bvOt7Vs9h6aDWmJnuD1SRnDqkIFRINYlI= +go.opentelemetry.io/collector/extension v0.119.0 h1:Itkt3jqYLjkhoX4kWhICuhXQEQz332W7UL6DpmaNHMc= +go.opentelemetry.io/collector/extension v0.119.0/go.mod h1:yMpvs58Z9F3UpSoE4w/1q/EEKlLFZBOQ2muzzikRvO8= +go.opentelemetry.io/collector/extension/auth v0.119.0 h1:URPkjeo3aKmlYGgeFCZK6kLK+D1XGfDUGSAwFaHn+QQ= +go.opentelemetry.io/collector/extension/auth v0.119.0/go.mod h1:8mGcTLfgmf2QNrdumP7g7nnNtyrpHiPRZect1tdXYJQ= +go.opentelemetry.io/collector/extension/auth/authtest v0.119.0 h1:J3oqlamxI+1BvRSxFIOkjMZl2E534YM6y3O8seM0yzE= +go.opentelemetry.io/collector/extension/auth/authtest v0.119.0/go.mod h1:EpUkiFC9siKB/PXeTk9KFutJhZrd6I/AHBM5en4yXlM= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.119.0 h1:OgG2AW0Ra43tbWDUOMC4TRIUXiz5PsVYNhnBtW3muk0= +go.opentelemetry.io/collector/extension/extensioncapabilities v0.119.0/go.mod h1:e+5w+yz9d0KHBZcH1T204IGfEO4IWuAltCSh9L5i8wg= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0 h1:sAdIBRJ6Df7jdkHWY/pSEYTersxURkUz9pENKl73n6s= +go.opentelemetry.io/collector/extension/extensiontest v0.119.0/go.mod h1:XQbUTXneJ//xt58eu5ofHhzWQcQ24GRTbBMWHCEsipA= +go.opentelemetry.io/collector/extension/memorylimiterextension v0.119.0 h1:aLLs43JrOIjzV2zYTiIPmjrIuJ9bd4SGdK3TqqQUG9k= +go.opentelemetry.io/collector/extension/memorylimiterextension v0.119.0/go.mod h1:6N3TAOdoe3CZFBSilGpxnt3STwf3P1ADsC+E3Hxy9No= +go.opentelemetry.io/collector/extension/xextension v0.119.0 h1:uSUvha4yxk5jWevhepsQ56QSAOkk3Z4M0vcPEJeZ6UU= +go.opentelemetry.io/collector/extension/xextension v0.119.0/go.mod h1:2DSTP2IEFfCC+2IFzl1eG9bCKsBkxIQjIphziJ0+vuo= +go.opentelemetry.io/collector/extension/zpagesextension v0.119.0 h1:NUmze3n47EhqWwM/GA0o98OFntsYialinKJABRw2Ri4= +go.opentelemetry.io/collector/extension/zpagesextension v0.119.0/go.mod h1:M2zapnlbhlJbuLU7edsDfokszyDIrqrOpIt0IEWxcJ8= +go.opentelemetry.io/collector/featuregate v1.25.0 h1:3b857fvoY9xBcE5qtLUE1/nlQ65teuW9d8CKr6MykYc= +go.opentelemetry.io/collector/featuregate v1.25.0/go.mod h1:3GaXqflNDVwWndNGBJ1+XJFy3Fv/XrFgjMN60N3z7yg= +go.opentelemetry.io/collector/filter v0.119.0 h1:uAoF9h7iTHlQE/AnIborqUwwT+Qtw+UnXfr4vEkzY0o= +go.opentelemetry.io/collector/filter v0.119.0/go.mod h1:mRiDt6ZAi+uN11FBwQ8z86k/SBn3PMwzP46cGz2thEc= +go.opentelemetry.io/collector/internal/fanoutconsumer v0.119.0 h1:egWfZjmGZRZ7a/LRJZQWs7MzlpHVo+jctdO+5jHigH8= +go.opentelemetry.io/collector/internal/fanoutconsumer v0.119.0/go.mod h1:0qxt8Lql6prWxCHAl4WguY+sdgyr20imKLgD/M/trjs= +go.opentelemetry.io/collector/internal/memorylimiter v0.119.0 h1:AMqZlXLyTk8hvuqiBLfVdVrwy/fSpWUbOCapOk43JoE= +go.opentelemetry.io/collector/internal/memorylimiter v0.119.0/go.mod h1:Kcawdd/CMNlaATPd0CYpSv2QXFvpDtuys68rLXTEOlM= +go.opentelemetry.io/collector/internal/sharedcomponent v0.119.0 h1:A2Pzo2fLewBLyV9CrcUzLMiN63A9WpKsL8QtELU/CCg= +go.opentelemetry.io/collector/internal/sharedcomponent v0.119.0/go.mod h1:r29B+4G7yswJ0JkE+yWH4knPvlBvxIgNuOx6p010u/A= +go.opentelemetry.io/collector/otelcol v0.119.0 h1:tHCo07NuSBtl3bPdYIVR78+9XKr/DqX2azPt5/QlcYM= +go.opentelemetry.io/collector/otelcol v0.119.0/go.mod h1:V4uiDdOk8dOVKH0NfTBofvxGtVgx53YrYvv4w+w2wwI= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.119.0 h1:XicJhy+owMv1KqQZJSYMtWmuWeBd8ZavsItKO6whAr0= +go.opentelemetry.io/collector/otelcol/otelcoltest v0.119.0/go.mod h1:LY+jvqMARsOtJriH9gAfAYNg8bHA2G6H9mJI5IdT5x0= +go.opentelemetry.io/collector/pdata v1.25.0 h1:AmgBklQfbfy0lT8qsoJtRuYMZ7ZV3VZvkvhjSDentrg= +go.opentelemetry.io/collector/pdata v1.25.0/go.mod h1:Zs7D4RXOGS7E2faGc/jfWdbmhoiHBxA7QbpuJOioxq8= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0 h1:sVtv/MhQ3NDLkgHOWDF9BdTtThNyXdOUiz5+poRkYLQ= +go.opentelemetry.io/collector/pdata/pprofile v0.119.0/go.mod h1:ur4388PjUpmwG5HoSMzrLCPkR0gNVLT4lekcJMRPt8A= +go.opentelemetry.io/collector/pdata/testdata v0.119.0 h1:a3OiuLYx7CaEQQ8LxMhPIM804eIGlNM6Pd0XoACXWMI= +go.opentelemetry.io/collector/pdata/testdata v0.119.0/go.mod h1:stCgL1fKOVp93mI4ocHy/xBMhkW3TXr8VetH4X86q8g= +go.opentelemetry.io/collector/pipeline v0.119.0 h1:NebdPIOBIzU7CdOE36hNrCrUML+XOTR9Zsoy43E7MVk= +go.opentelemetry.io/collector/pipeline v0.119.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/pipeline/xpipeline v0.119.0 h1:lX70c+MjXHbOJahU6Xs3yV1rPTV/7bWXlCj/C+CnMLc= +go.opentelemetry.io/collector/pipeline/xpipeline v0.119.0/go.mod h1:m2acg7G5Rb8Srm5aK4rD7mUDQhd1r/qXq1DJxdhMAcQ= +go.opentelemetry.io/collector/processor v0.119.0 h1:mqmdR/f4I/ud2jwODqwPZvJk/TCU+AjoCAyattyKXmE= +go.opentelemetry.io/collector/processor v0.119.0/go.mod h1:N0XxvcnM1EYmZ/NiGNsFpi3bEzZ9+C6bVZKDa7tUduw= +go.opentelemetry.io/collector/processor/batchprocessor v0.119.0 h1:Pu9LZry4SPuC9z9wmv1Sd+LQhLLIV0FD+TDVM3UHcww= +go.opentelemetry.io/collector/processor/batchprocessor v0.119.0/go.mod h1:yiyXOAw+O2/j8YrlHWntZM0+D2CKPJ8AUQpXFyfjYCU= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.119.0 h1:SELqVDUuzQNiLWYbXT/B9KGBlOxRPlvC1ImuyNOU6qY= +go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.119.0/go.mod h1:aXoBlLNh0Shg+gR3aM+5YD7fQUojakuWKU4I/COYZ9g= +go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.119.0 h1:4WycsCvkb354qnD28Pt734l3UWfNDL+Ak4EQE8cG4JA= +go.opentelemetry.io/collector/processor/processorhelper/xprocessorhelper v0.119.0/go.mod h1:gKTFrNsq2Y9YSiUWYaBnNUSqyBytmMif0za1MzQht44= +go.opentelemetry.io/collector/processor/processortest v0.119.0 h1:0/mWuyDvELipmEIMVscOAy1vAcwUttym8yb+KLOJXmc= +go.opentelemetry.io/collector/processor/processortest v0.119.0/go.mod h1:JGqoUDWC3aFbyPbpZbdvTTDssvR7Rgfpf72VY5FeDHw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0 h1:qWWcMgde/2cLBg9MUQk0AcxC/aD34wz2GY3qrWeEHiw= +go.opentelemetry.io/collector/processor/xprocessor v0.119.0/go.mod h1:ZYtJGcZSDEB54vzulS8jdlYBpPbjklEODaVRc27TlxE= +go.opentelemetry.io/collector/receiver v0.119.0 h1:ZatoS4POR+XDkN1WwAv18Ism9f/FUsIjtVT4MIZbQS0= +go.opentelemetry.io/collector/receiver v0.119.0/go.mod h1:JUSsVwyKKQVD/Fy3T98OHOlVHE15Z7juba5RQzG3AXc= +go.opentelemetry.io/collector/receiver/nopreceiver v0.119.0 h1:LktzKte4sQCN/3TWZ9i/+4eI4Q7qfawp5tVbGlIuPCk= +go.opentelemetry.io/collector/receiver/nopreceiver v0.119.0/go.mod h1:JVXjVKgZ6Oc7twcRBz/61u6UWP+p80wDjCCeelNgFDc= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0 h1:opx0DmIFTI61hm7dLiAlLJ/+JxY9/gjYnPpfEob0m3U= +go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0/go.mod h1:kgzvqb2lgZyREX4v16reRgqYPuhKOWtZFGhkI9l6zTo= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0 h1:thZkyftPCNit/m2bUUC+zaR1+hbXoSkCDtNN/vZIZSg= +go.opentelemetry.io/collector/receiver/receivertest v0.119.0/go.mod h1:DZM70vofnquGkQiTfT5ZSFZlohxANl9XOrVq9h5IKnc= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0 h1:ZcTO+h+r9TyR1XgMhA7FTSTV9RF+z/IDPrcRIg1l56U= +go.opentelemetry.io/collector/receiver/xreceiver v0.119.0/go.mod h1:AkoWhnYFMygK7Tlzez398ti20NqydX8wxPVWU86+baE= +go.opentelemetry.io/collector/scraper v0.119.0 h1:fn9tcIFPkBzmqCYAOqYu8Ly1ygER/EzNIpf+2taUPVs= +go.opentelemetry.io/collector/scraper v0.119.0/go.mod h1:svo1G6dWv7lLdagaa+aOq6bpSJ8F6vOxYHDkH7uNypg= +go.opentelemetry.io/collector/scraper/scraperhelper v0.119.0 h1:uRSZcOHRUgXwW4hkseXOhRmHBg5SW9rvDjG0XoBeWbs= +go.opentelemetry.io/collector/scraper/scraperhelper v0.119.0/go.mod h1:EmnOapVu/TaKsbqvo928UmphG0JcNuHZcJwPAHMD9/k= +go.opentelemetry.io/collector/scraper/scrapertest v0.119.0 h1:ROL6ZdFwb2DxRHb8jzjkc5JX0MutgR3xAZzPERzcA0U= +go.opentelemetry.io/collector/scraper/scrapertest v0.119.0/go.mod h1:Q46oBgzjB6Hkys4dmS1ZXzxD9w8VabNv+uvuzLnr5uc= +go.opentelemetry.io/collector/semconv v0.119.0 h1:xo+V3a7hnK0I6fxAWCXT8BIT1PCBYd4emolhoKSDUlI= +go.opentelemetry.io/collector/semconv v0.119.0/go.mod h1:N6XE8Q0JKgBN2fAhkUQtqK9LT7rEGR6+Wu/Rtbal1iI= +go.opentelemetry.io/collector/service v0.119.0 h1:AP2dFx7h0VslEJfc9dt8Bbbggm1iA1iUGLzahvAPZMk= +go.opentelemetry.io/collector/service v0.119.0/go.mod h1:p/kOqK7POtrT9Jz+tAx/UtzlzokSHhFyi7eAETRgmt8= +go.opentelemetry.io/contrib/bridges/otelzap v0.9.0 h1:f+xpAfhQTjR8beiSMe1bnT/25PkeyWmOcI+SjXWguNw= +go.opentelemetry.io/contrib/bridges/otelzap v0.9.0/go.mod h1:T1Z1jyS5FttgQoF6UcGhnM+gF9wU32B4lHO69nXw4FE= +go.opentelemetry.io/contrib/config v0.14.0 h1:QAG8uHNp5ZiCkpT7XggSmg5AyW1sA0LgypMoXgBB1+4= +go.opentelemetry.io/contrib/config v0.14.0/go.mod h1:77rDmFPqBae5jtQ2C78RuDTHz4P27C8LzoN0MZyumYQ= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0 h1:rgMkmiGfix9vFJDcDi1PK8WEQP4FLQwLDfhp5ZLpFeE= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.59.0/go.mod h1:ijPqXp5P6IRRByFVVg9DY8P5HkxkHE5ARIa+86aXPf4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 h1:CV7UdSGJt/Ao6Gp4CXckLxVRRsRgDHoI8XjbL3PDl8s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0/go.mod h1:FRmFuRJfag1IZ2dPkHnEoSFVgTVPUd2qf5Vi69hLb8I= +go.opentelemetry.io/contrib/propagators/b3 v1.34.0 h1:9pQdCEvV/6RWQmag94D6rhU+A4rzUhYBEJ8bpscx5p8= +go.opentelemetry.io/contrib/propagators/b3 v1.34.0/go.mod h1:FwM71WS8i1/mAK4n48t0KU6qUS/OZRBgDrHZv3RlJ+w= +go.opentelemetry.io/contrib/zpages v0.59.0 h1:t0H5zUy8fifIhRuVwm2FrA/D70Kk10SSpAEvvbaNscw= +go.opentelemetry.io/contrib/zpages v0.59.0/go.mod h1:9wo+yUPvHnBQEzoHJ8R3nA/Q5rkef7HjtLlSFI0Tgrc= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.10.0 h1:5dTKu4I5Dn4P2hxyW3l3jTaZx9ACgg0ECos1eAVrheY= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.10.0/go.mod h1:P5HcUI8obLrCCmM3sbVBohZFH34iszk/+CPWuakZWL8= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.10.0 h1:q/heq5Zh8xV1+7GoMGJpTxM2Lhq5+bFxB29tshuRuw0= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.10.0/go.mod h1:leO2CSTg0Y+LyvmR7Wm4pUxE8KAmaM2GCVx7O+RATLA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0 h1:ajl4QczuJVA2TU9W9AGw++86Xga/RKt//16z/yxPgdk= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.34.0/go.mod h1:Vn3/rlOJ3ntf/Q3zAI0V5lDnTbHGaUsNUeF6nZmm7pA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.34.0 h1:opwv08VbCZ8iecIWs+McMdHRcAXzjAeda3uG2kI/hcA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.34.0/go.mod h1:oOP3ABpW7vFHulLpE8aYtNBodrHhMTrvfxUXGvqm7Ac= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 h1:OeNbIYk/2C15ckl7glBlOBp5+WlYsOElzTNmiPW/x60= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 h1:tgJ0uaNS4c98WRNUEx5U3aDlrDOI5Rs+1Vifcw4DJ8U= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0/go.mod h1:U7HYyW0zt/a9x5J1Kjs+r1f/d4ZHnYFclhYY2+YbeoE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.34.0 h1:BEj3SPM81McUZHYjRS5pEgNgnmzGJ5tRpU5krWnV8Bs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.34.0/go.mod h1:9cKLGBDzI/F3NoHLQGm4ZrYdIHsvGt6ej6hUowxY0J4= +go.opentelemetry.io/otel/exporters/prometheus v0.56.0 h1:GnCIi0QyG0yy2MrJLzVrIM7laaJstj//flf1zEJCG+E= +go.opentelemetry.io/otel/exporters/prometheus v0.56.0/go.mod h1:JQcVZtbIIPM+7SWBB+T6FK+xunlyidwLp++fN0sUaOk= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.10.0 h1:GKCEAZLEpEf78cUvudQdTg0aET2ObOZRB2HtXA0qPAI= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.10.0/go.mod h1:9/zqSWLCmHT/9Jo6fYeUDRRogOLL60ABLsHWS99lF8s= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.34.0 h1:czJDQwFrMbOr9Kk+BPo1y8WZIIFIK58SA1kykuVeiOU= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.34.0/go.mod h1:lT7bmsxOe58Tq+JIOkTQMCGXdu47oA+VJKLZHbaBKbs= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.34.0 h1:jBpDk4HAUsrnVO1FsfCfCOTEc/MkInJmvfCHYLFiT80= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.34.0/go.mod h1:H9LUIM1daaeZaz91vZcfeM0fejXPmgCYE8ZhzqfJuiU= +go.opentelemetry.io/otel/log v0.10.0 h1:1CXmspaRITvFcjA4kyVszuG4HjA61fPDxMb7q3BuyF0= +go.opentelemetry.io/otel/log v0.10.0/go.mod h1:PbVdm9bXKku/gL0oFfUF4wwsQsOPlpo4VEqjvxih+FM= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/log v0.10.0 h1:lR4teQGWfeDVGoute6l0Ou+RpFqQ9vaPdrNJlST0bvw= +go.opentelemetry.io/otel/sdk/log v0.10.0/go.mod h1:A+V1UTWREhWAittaQEG4bYm4gAZa6xnvVu+xKrIRkzo= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= +go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -2173,10 +2181,10 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 h1:BulPr26Jqjnd4eYDVe+YvyR7Yc2vJGkO5/0UxD0/jZU= google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:hL97c3SYopEHblzpxRL4lSs523++l8DYxGM1FQiYmb4= -google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 h1:pgr/4QbFyktUv9CtQ/Fq4gzEE6/Xs7iCXbktaGzLHbQ= -google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697/go.mod h1:+D9ySVjN8nY8YCVjc5O7PZDIdZporIDY3KaGfJunh88= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 h1:LWZqQOEjDyONlF1H6afSWpAL/znlREo2tHfLoe+8LMA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f h1:gap6+3Gk41EItBuyi4XX/bp4oqJ3UwuIMl25yGinuAA= +google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:Ic02D47M+zbarjYYUlK57y316f2MoN0gjAwI3f2S95o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -2190,8 +2198,8 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.69.2 h1:U3S9QEtbXC0bYNvRtcoklF3xGtLViumSYxWykJS+7AU= -google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= google.golang.org/grpc/examples v0.0.0-20230831183909-e498bbc9bd37 h1:kNDwMX0e15RGrBh4L1jfhVxyddRi6J/y8Gg+dcZr+S8= google.golang.org/grpc/examples v0.0.0-20230831183909-e498bbc9bd37/go.mod h1:GGFp5xqHkVYOZBc9//ZnLinno7HB6j97fG1nL3au94o= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -2205,8 +2213,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU= -google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -2304,8 +2312,8 @@ oras.land/oras-go v1.2.5/go.mod h1:PuAwRShRZCsZb7g8Ar3jKKQR/2A/qN+pkYxIOd/FAoo= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/controller-runtime v0.19.3 h1:XO2GvC9OPftRst6xWCpTgBZO04S2cbp0Qqkj8bX1sPw= -sigs.k8s.io/controller-runtime v0.19.3/go.mod h1:j4j87DqtsThvwTv5/Tc5NFRyyF/RF0ip4+62tbTSIUM= +sigs.k8s.io/controller-runtime v0.19.4 h1:SUmheabttt0nx8uJtoII4oIP27BVVvAKFvdvGFwV/Qo= +sigs.k8s.io/controller-runtime v0.19.4/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4= sigs.k8s.io/e2e-framework v0.4.0 h1:4yYmFDNNoTnazqmZJXQ6dlQF1vrnDbutmxlyvBpC5rY= sigs.k8s.io/e2e-framework v0.4.0/go.mod h1:JilFQPF1OL1728ABhMlf9huse7h+uBJDXl9YeTs49A8= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= diff --git a/internal/pkg/otel/README.md b/internal/pkg/otel/README.md index 7ccc37ca35f..2f6b430d2ce 100644 --- a/internal/pkg/otel/README.md +++ b/internal/pkg/otel/README.md @@ -35,69 +35,69 @@ This section provides a summary of components included in the Elastic Distributi | Component | Version | |---|---| -| [filelogreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/filelogreceiver/v0.117.0/receiver/filelogreceiver/README.md) | v0.117.0 | -| [hostmetricsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/hostmetricsreceiver/v0.117.0/receiver/hostmetricsreceiver/README.md) | v0.117.0 | -| [httpcheckreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/httpcheckreceiver/v0.117.0/receiver/httpcheckreceiver/README.md) | v0.117.0 | -| [jaegerreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/jaegerreceiver/v0.117.0/receiver/jaegerreceiver/README.md) | v0.117.0 | -| [jmxreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/jmxreceiver/v0.117.0/receiver/jmxreceiver/README.md) | v0.117.0 | -| [k8sclusterreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/k8sclusterreceiver/v0.117.0/receiver/k8sclusterreceiver/README.md) | v0.117.0 | -| [k8sobjectsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/k8sobjectsreceiver/v0.117.0/receiver/k8sobjectsreceiver/README.md) | v0.117.0 | -| [kafkareceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/kafkareceiver/v0.117.0/receiver/kafkareceiver/README.md) | v0.117.0 | -| [kubeletstatsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/kubeletstatsreceiver/v0.117.0/receiver/kubeletstatsreceiver/README.md) | v0.117.0 | -| [nginxreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/nginxreceiver/v0.117.0/receiver/nginxreceiver/README.md) | v0.117.0 | -| [nopreceiver](https://github.com/open-telemetry/opentelemetry-collector/blob/receiver/nopreceiver/v0.117.0/receiver/nopreceiver/README.md) | v0.117.0 | -| [otlpreceiver](https://github.com/open-telemetry/opentelemetry-collector/blob/receiver/otlpreceiver/v0.117.0/receiver/otlpreceiver/README.md) | v0.117.0 | -| [prometheusreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/prometheusreceiver/v0.117.0/receiver/prometheusreceiver/README.md) | v0.117.0 | -| [receivercreator](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/receivercreator/v0.117.0/receiver/receivercreator/README.md) | v0.117.0 | -| [redisreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/redisreceiver/v0.117.0/receiver/redisreceiver/README.md) | v0.117.0 | -| [zipkinreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/zipkinreceiver/v0.117.0/receiver/zipkinreceiver/README.md) | v0.117.0 | +| [filelogreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/filelogreceiver/v0.119.0/receiver/filelogreceiver/README.md) | v0.119.0 | +| [hostmetricsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/hostmetricsreceiver/v0.119.0/receiver/hostmetricsreceiver/README.md) | v0.119.0 | +| [httpcheckreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/httpcheckreceiver/v0.119.0/receiver/httpcheckreceiver/README.md) | v0.119.0 | +| [jaegerreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/jaegerreceiver/v0.119.0/receiver/jaegerreceiver/README.md) | v0.119.0 | +| [jmxreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/jmxreceiver/v0.119.0/receiver/jmxreceiver/README.md) | v0.119.0 | +| [k8sclusterreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/k8sclusterreceiver/v0.119.0/receiver/k8sclusterreceiver/README.md) | v0.119.0 | +| [k8sobjectsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/k8sobjectsreceiver/v0.119.0/receiver/k8sobjectsreceiver/README.md) | v0.119.0 | +| [kafkareceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/kafkareceiver/v0.119.0/receiver/kafkareceiver/README.md) | v0.119.0 | +| [kubeletstatsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/kubeletstatsreceiver/v0.119.0/receiver/kubeletstatsreceiver/README.md) | v0.119.0 | +| [nginxreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/nginxreceiver/v0.119.0/receiver/nginxreceiver/README.md) | v0.119.0 | +| [nopreceiver](https://github.com/open-telemetry/opentelemetry-collector/blob/receiver/nopreceiver/v0.119.0/receiver/nopreceiver/README.md) | v0.119.0 | +| [otlpreceiver](https://github.com/open-telemetry/opentelemetry-collector/blob/receiver/otlpreceiver/v0.119.0/receiver/otlpreceiver/README.md) | v0.119.0 | +| [prometheusreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/prometheusreceiver/v0.119.0/receiver/prometheusreceiver/README.md) | v0.119.0 | +| [receivercreator](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/receivercreator/v0.119.0/receiver/receivercreator/README.md) | v0.119.0 | +| [redisreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/redisreceiver/v0.119.0/receiver/redisreceiver/README.md) | v0.119.0 | +| [zipkinreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/receiver/zipkinreceiver/v0.119.0/receiver/zipkinreceiver/README.md) | v0.119.0 | ### Exporters | Component | Version | |---|---| -| [debugexporter](https://github.com/open-telemetry/opentelemetry-collector/blob/exporter/debugexporter/v0.117.0/exporter/debugexporter/README.md) | v0.117.0 | -| [elasticsearchexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/elasticsearchexporter/v0.117.0/exporter/elasticsearchexporter/README.md) | v0.117.0 | -| [fileexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/fileexporter/v0.117.0/exporter/fileexporter/README.md) | v0.117.0 | -| [kafkaexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/kafkaexporter/v0.117.0/exporter/kafkaexporter/README.md) | v0.117.0 | -| [loadbalancingexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/loadbalancingexporter/v0.117.0/exporter/loadbalancingexporter/README.md) | v0.117.0 | -| [otlpexporter](https://github.com/open-telemetry/opentelemetry-collector/blob/exporter/otlpexporter/v0.117.0/exporter/otlpexporter/README.md) | v0.117.0 | -| [otlphttpexporter](https://github.com/open-telemetry/opentelemetry-collector/blob/exporter/otlphttpexporter/v0.117.0/exporter/otlphttpexporter/README.md) | v0.117.0 | +| [debugexporter](https://github.com/open-telemetry/opentelemetry-collector/blob/exporter/debugexporter/v0.119.0/exporter/debugexporter/README.md) | v0.119.0 | +| [elasticsearchexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/elasticsearchexporter/v0.119.0/exporter/elasticsearchexporter/README.md) | v0.119.0 | +| [fileexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/fileexporter/v0.119.0/exporter/fileexporter/README.md) | v0.119.0 | +| [kafkaexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/kafkaexporter/v0.119.0/exporter/kafkaexporter/README.md) | v0.119.0 | +| [loadbalancingexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/exporter/loadbalancingexporter/v0.119.0/exporter/loadbalancingexporter/README.md) | v0.119.0 | +| [otlpexporter](https://github.com/open-telemetry/opentelemetry-collector/blob/exporter/otlpexporter/v0.119.0/exporter/otlpexporter/README.md) | v0.119.0 | +| [otlphttpexporter](https://github.com/open-telemetry/opentelemetry-collector/blob/exporter/otlphttpexporter/v0.119.0/exporter/otlphttpexporter/README.md) | v0.119.0 | ### Processors | Component | Version | |---|---| -| [attributesprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/attributesprocessor/v0.117.0/processor/attributesprocessor/README.md) | v0.117.0 | -| [batchprocessor](https://github.com/open-telemetry/opentelemetry-collector/blob/processor/batchprocessor/v0.117.0/processor/batchprocessor/README.md) | v0.117.0 | +| [attributesprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/attributesprocessor/v0.119.0/processor/attributesprocessor/README.md) | v0.119.0 | +| [batchprocessor](https://github.com/open-telemetry/opentelemetry-collector/blob/processor/batchprocessor/v0.119.0/processor/batchprocessor/README.md) | v0.119.0 | | [elasticinframetricsprocessor](https://github.com/elastic/opentelemetry-collector-components/blob/processor/elasticinframetricsprocessor/v0.13.0/processor/elasticinframetricsprocessor/README.md) | v0.13.0 | | [elastictraceprocessor](https://github.com/elastic/opentelemetry-collector-components/blob/processor/elastictraceprocessor/v0.3.0/processor/elastictraceprocessor/README.md) | v0.3.0 | -| [filterprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/filterprocessor/v0.117.0/processor/filterprocessor/README.md) | v0.117.0 | -| [geoipprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/geoipprocessor/v0.117.0/processor/geoipprocessor/README.md) | v0.117.0 | -| [k8sattributesprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/k8sattributesprocessor/v0.117.0/processor/k8sattributesprocessor/README.md) | v0.117.0 | +| [filterprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/filterprocessor/v0.119.0/processor/filterprocessor/README.md) | v0.119.0 | +| [geoipprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/geoipprocessor/v0.119.0/processor/geoipprocessor/README.md) | v0.119.0 | +| [k8sattributesprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/k8sattributesprocessor/v0.119.0/processor/k8sattributesprocessor/README.md) | v0.119.0 | | [lsmintervalprocessor](https://github.com/elastic/opentelemetry-collector-components/blob/processor/lsmintervalprocessor/v0.4.0/processor/lsmintervalprocessor/README.md) | v0.4.0 | -| [memorylimiterprocessor](https://github.com/open-telemetry/opentelemetry-collector/blob/processor/memorylimiterprocessor/v0.117.0/processor/memorylimiterprocessor/README.md) | v0.117.0 | -| [resourcedetectionprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/resourcedetectionprocessor/v0.117.0/processor/resourcedetectionprocessor/README.md) | v0.117.0 | -| [resourceprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/resourceprocessor/v0.117.0/processor/resourceprocessor/README.md) | v0.117.0 | -| [transformprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/transformprocessor/v0.117.0/processor/transformprocessor/README.md) | v0.117.0 | +| [memorylimiterprocessor](https://github.com/open-telemetry/opentelemetry-collector/blob/processor/memorylimiterprocessor/v0.119.0/processor/memorylimiterprocessor/README.md) | v0.119.0 | +| [resourcedetectionprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/resourcedetectionprocessor/v0.119.0/processor/resourcedetectionprocessor/README.md) | v0.119.0 | +| [resourceprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/resourceprocessor/v0.119.0/processor/resourceprocessor/README.md) | v0.119.0 | +| [transformprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/transformprocessor/v0.119.0/processor/transformprocessor/README.md) | v0.119.0 | ### Extensions | Component | Version | |---|---| -| [filestorage](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/storage/filestorage/v0.117.0/extension/storage/filestorage/README.md) | v0.117.0 | -| [healthcheckextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/healthcheckextension/v0.117.0/extension/healthcheckextension/README.md) | v0.117.0 | -| [k8sobserver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/observer/k8sobserver/v0.117.0/extension/observer/k8sobserver/README.md) | v0.117.0 | -| [memorylimiterextension](https://github.com/open-telemetry/opentelemetry-collector/blob/extension/memorylimiterextension/v0.117.0/extension/memorylimiterextension/README.md) | v0.117.0 | -| [pprofextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/pprofextension/v0.117.0/extension/pprofextension/README.md) | v0.117.0 | +| [filestorage](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/storage/filestorage/v0.119.0/extension/storage/filestorage/README.md) | v0.119.0 | +| [healthcheckextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/healthcheckextension/v0.119.0/extension/healthcheckextension/README.md) | v0.119.0 | +| [k8sobserver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/observer/k8sobserver/v0.119.0/extension/observer/k8sobserver/README.md) | v0.119.0 | +| [memorylimiterextension](https://github.com/open-telemetry/opentelemetry-collector/blob/extension/memorylimiterextension/v0.119.0/extension/memorylimiterextension/README.md) | v0.119.0 | +| [pprofextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/extension/pprofextension/v0.119.0/extension/pprofextension/README.md) | v0.119.0 | ### Connectors | Component | Version | |---|---| -| [routingconnector](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/connector/routingconnector/v0.117.0/connector/routingconnector/README.md) | v0.117.0 | +| [routingconnector](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/connector/routingconnector/v0.119.0/connector/routingconnector/README.md) | v0.119.0 | | [signaltometricsconnector](https://github.com/elastic/opentelemetry-collector-components/blob/connector/signaltometricsconnector/v0.3.0/connector/signaltometricsconnector/README.md) | v0.3.0 | -| [spanmetricsconnector](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/connector/spanmetricsconnector/v0.117.0/connector/spanmetricsconnector/README.md) | v0.117.0 | +| [spanmetricsconnector](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/connector/spanmetricsconnector/v0.119.0/connector/spanmetricsconnector/README.md) | v0.119.0 | ## Persistence in OpenTelemetry Collector By default, the OpenTelemetry Collector is stateless, which means it doesn't store offsets on disk while reading files. As a result, if you restart the collector, it won't retain the last read offset, potentially leading to data duplication or loss. However, we have configured persistence in the settings provided with the Elastic Agent package. From 059721b92bf9ddb2400f2c9ffa58a1c6c134720a Mon Sep 17 00:00:00 2001 From: Andrzej Stencel Date: Mon, 10 Feb 2025 12:02:58 +0100 Subject: [PATCH 04/17] ci: remove Dependabot config for OTel components (#6726) The pull requests to update OTel components created by Dependabot have been consistently incomplete and unfit for merging. They also don't include a changelog entry, which we want to be included with OTel updates. We have been relying on manual updates of OTel components for the last couple versions, with the intention to move to a different automation in the future that satisfies all requirements (see https://github.com/elastic/elastic-agent/issues/6132). At this point, the Dependabot PRs are just noise, so let's remove this automation to get rid of the noise. Part of https://github.com/elastic/elastic-agent/issues/6132 --- .github/dependabot.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 00fb53b869b..5b9e795be08 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,18 +9,9 @@ updates: - automation - skip-changelog - Team:Elastic-Agent-Control-Plane - groups: - otel-dependencies: - exclude-patterns: - - "github.com/elastic/*" - update-types: - - "minor" - - "patch" allow: # Only update internal dependencies for now while we evaluate this workflow. - dependency-name: "github.com/elastic/*" - - dependency-name: "go.opentelemetry.io/collector/*" - - dependency-name: "github.com/open-telemetry/opentelemetry-collector-contrib/*" - dependency-name: "github.com/elastic/opentelemetry-collector-components/*" ignore: - dependency-name: "github.com/elastic/beats/*" From 346a2fe3f16f024e41397e1ad27c3a78a1006fb9 Mon Sep 17 00:00:00 2001 From: Mauri de Souza Meneguzzo Date: Mon, 10 Feb 2025 12:32:16 -0300 Subject: [PATCH 05/17] otel: add test for filebeatreceiver delivery guarantees during a collector restart (#6228) * otel: add test for filebeatreceiver delivery guarantees for a collector restart This commit adds a integration test that restarts the collector a couple times during a log ingestion and confirms that the data was fully written to elasticsearch. * check that input lines increase after each restart * use json for docs, use json parser * add debug exporter, remove fake component from fixture * fix typo in json input * add newlines to input file, fixes for recent fingerprint changes * assert unique log lines * fix restart counter logic * update test to restart collector only once * remove some leftover code --- testing/integration/otel_test.go | 230 +++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) diff --git a/testing/integration/otel_test.go b/testing/integration/otel_test.go index 2ed58170e50..937dbdd3656 100644 --- a/testing/integration/otel_test.go +++ b/testing/integration/otel_test.go @@ -16,6 +16,7 @@ import ( "path/filepath" "strings" "sync" + "sync/atomic" "testing" "text/template" "time" @@ -1099,3 +1100,232 @@ service: fixtureWg.Wait() require.True(t, err == nil || errors.Is(err, context.Canceled) || errors.Is(err, context.DeadlineExceeded), "Retrieved unexpected error: %s", err.Error()) } + +func TestFBOtelRestartE2E(t *testing.T) { + // This test ensures that filebeatreceiver is able to deliver logs even + // in advent of a collector restart. + // The input is a file that is being appended to n times during the test. + // It starts a filebeat receiver, waits for some logs and then stops it. + // It then restarts the collector for the remaining of the test. + // At the end it asserts that the unique number of logs in ES is equal to the number of + // lines in the input file. It is likely that there are duplicates due to the restart. + info := define.Require(t, define.Requirements{ + Group: Default, + Local: true, + OS: []define.OS{ + {Type: define.Windows}, + {Type: define.Linux}, + {Type: define.Darwin}, + }, + Stack: &define.Stack{}, + }) + tmpDir := t.TempDir() + + inputFile, err := os.CreateTemp(tmpDir, "input.txt") + require.NoError(t, err, "failed to create temp file to hold data to ingest") + inputFilePath := inputFile.Name() + + // Create the otel configuration file + type otelConfigOptions struct { + InputPath string + HomeDir string + ESEndpoint string + ESApiKey string + Index string + } + esEndpoint, err := getESHost() + require.NoError(t, err, "error getting elasticsearch endpoint") + esApiKey, err := createESApiKey(info.ESClient) + require.NoError(t, err, "error creating API key") + require.True(t, len(esApiKey.Encoded) > 1, "api key is invalid %q", esApiKey) + index := "logs-integration-default" + otelConfigTemplate := `receivers: + filebeatreceiver: + filebeat: + inputs: + - type: filestream + id: filestream-end-to-end + enabled: true + paths: + - {{.InputPath}} + parsers: + - ndjson: + document_id: "id" + prospector.scanner.fingerprint.enabled: false + file_identity.native: ~ + output: + otelconsumer: + logging: + level: info + selectors: + - '*' + path.home: {{.HomeDir}} + path.logs: {{.HomeDir}} + queue.mem.flush.timeout: 0s +exporters: + debug: + use_internal_logger: false + verbosity: detailed + elasticsearch/log: + endpoints: + - {{.ESEndpoint}} + api_key: {{.ESApiKey}} + logs_index: {{.Index}} + batcher: + enabled: true + flush_timeout: 1s + mapping: + mode: bodymap +service: + pipelines: + logs: + receivers: + - filebeatreceiver + exporters: + - elasticsearch/log + #- debug +` + otelConfigPath := filepath.Join(tmpDir, "otel.yml") + var otelConfigBuffer bytes.Buffer + require.NoError(t, + template.Must(template.New("otelConfig").Parse(otelConfigTemplate)).Execute(&otelConfigBuffer, + otelConfigOptions{ + InputPath: inputFilePath, + HomeDir: tmpDir, + ESEndpoint: esEndpoint, + ESApiKey: esApiKey.Encoded, + Index: index, + })) + require.NoError(t, os.WriteFile(otelConfigPath, otelConfigBuffer.Bytes(), 0o600)) + t.Cleanup(func() { + if t.Failed() { + contents, err := os.ReadFile(otelConfigPath) + if err != nil { + t.Logf("No otel configuration file at %s", otelConfigPath) + return + } + t.Logf("Contents of otel config file:\n%s\n", string(contents)) + } + }) + + fixture, err := define.NewFixtureFromLocalBuild(t, define.Version(), aTesting.WithAdditionalArgs([]string{"--config", otelConfigPath})) + require.NoError(t, err) + + ctx, cancel := testcontext.WithDeadline(t, context.Background(), time.Now().Add(5*time.Minute)) + defer cancel() + err = fixture.Prepare(ctx) + require.NoError(t, err) + + // Write logs to input file + var inputLinesCounter atomic.Int64 + var stopInputWriter atomic.Bool + go func() { + for i := 0; ; i++ { + if stopInputWriter.Load() { + break + } + + _, err = inputFile.Write([]byte(fmt.Sprintf(`{"id": "%d", "message": "%d"}`, i, i))) + require.NoErrorf(t, err, "failed to write line %d to temp file", i) + _, err = inputFile.Write([]byte("\n")) + require.NoErrorf(t, err, "failed to write newline to temp file") + inputLinesCounter.Add(1) + time.Sleep(100 * time.Millisecond) + } + err = inputFile.Close() + require.NoError(t, err, "failed to close input file") + }() + + t.Cleanup(func() { + if t.Failed() { + contents, err := os.ReadFile(inputFilePath) + if err != nil { + t.Logf("no data file to import at %s", inputFilePath) + return + } + t.Logf("contents of import file:\n%s\n", string(contents)) + } + }) + + // Start the collector, ingest some logs and then stop it + stoppedCh := make(chan int, 1) + fCtx, cancel := context.WithDeadline(ctx, time.Now().Add(1*time.Minute)) + go func() { + err = fixture.RunOtelWithClient(fCtx) + cancel() + require.True(t, errors.Is(err, context.DeadlineExceeded) || errors.Is(err, context.Canceled), "unexpected error: %v", err) + close(stoppedCh) + }() + + // Make sure we ingested at least 10 logs before stopping the collector + var hits int + require.Eventually(t, func() bool { + findCtx, findCancel := context.WithTimeout(context.Background(), 10*time.Second) + defer findCancel() + + docs, err := estools.GetLogsForIndexWithContext(findCtx, info.ESClient, ".ds-"+index+"*", map[string]interface{}{ + "log.file.path": inputFilePath, + }) + require.NoError(t, err) + hits += int(docs.Hits.Total.Value) + return hits >= 10 + }, 1*time.Minute, 1*time.Second, "Expected to ingest at least 10 logs, got %d", hits) + cancel() + + select { + case <-stoppedCh: + case <-time.After(30 * time.Second): + require.Fail(t, "expected the collector to have stopped") + } + + // Stop generating input data + stopInputWriter.Store(true) + + // start the collector again for the remaining of the test + var fixtureWg sync.WaitGroup + fixtureWg.Add(1) + fCtx, cancel = context.WithDeadline(ctx, time.Now().Add(5*time.Minute)) + go func() { + defer fixtureWg.Done() + err = fixture.RunOtelWithClient(fCtx) + }() + + // Make sure all the logs are ingested + actualHits := &struct { + Hits int + UniqueHits int + }{} + require.Eventually(t, + func() bool { + findCtx, findCancel := context.WithTimeout(context.Background(), 10*time.Second) + defer findCancel() + + docs, err := estools.GetLogsForIndexWithContext(findCtx, info.ESClient, ".ds-"+index+"*", map[string]interface{}{ + "log.file.path": inputFilePath, + }) + require.NoError(t, err) + + actualHits.Hits = docs.Hits.Total.Value + + uniqueIngestedLogs := make(map[string]struct{}) + for _, hit := range docs.Hits.Hits { + t.Log("Hit: ", hit.Source["message"]) + message, found := hit.Source["message"] + require.True(t, found, "expected message field in document %q", hit.Source) + msg, ok := message.(string) + require.True(t, ok, "expected message field to be a string, got %T", message) + if _, found := uniqueIngestedLogs[msg]; found { + t.Logf("log line %q was ingested more than once", message) + } + uniqueIngestedLogs[msg] = struct{}{} + } + actualHits.UniqueHits = len(uniqueIngestedLogs) + return actualHits.UniqueHits == int(inputLinesCounter.Load()) + }, + 20*time.Second, 1*time.Second, + "Expected %d logs, got %v", int(inputLinesCounter.Load()), actualHits) + + cancel() + fixtureWg.Wait() + require.True(t, err == nil || errors.Is(err, context.Canceled) || errors.Is(err, context.DeadlineExceeded), "Retrieved unexpected error: %s", err.Error()) +} From 6d4b91ccb0f04f34b33cb8181edc21a0fd194a44 Mon Sep 17 00:00:00 2001 From: Panos Koutsovasilis Date: Mon, 10 Feb 2025 22:32:22 +0200 Subject: [PATCH 06/17] [k8s] Fix logical race conditions in kubernetes_secrets provider (#6623) * fix: refactor kubernetes_secrets provider to eliminate race conditions * fix: add changelog fragment and unit-tests for kubernetes_secrets provider * fix: replace RWMutex with Mutex * fix: rename newExpirationStore to newExpirationCache * fix: introduce kubernetes_secrets provider name as a const * fix: extend AddConditionally doc string to describe the case of condition is nil * fix: gosec lint --- ...itions-in-kubernetes_secrets-provider.yaml | 32 + .../providers/kubernetessecrets/config.go | 19 +- .../kubernetessecrets/expiration_cache.go | 125 ++ .../kubernetessecrets/kubernetes_secrets.go | 418 +++-- .../kubernetes_secrets_test.go | 1419 +++++++++++------ .../providers/kubernetessecrets/store_test.go | 223 +++ 6 files changed, 1480 insertions(+), 756 deletions(-) create mode 100644 changelog/fragments/1738139927-Fix-logical-race-conditions-in-kubernetes_secrets-provider.yaml create mode 100644 internal/pkg/composable/providers/kubernetessecrets/expiration_cache.go create mode 100644 internal/pkg/composable/providers/kubernetessecrets/store_test.go diff --git a/changelog/fragments/1738139927-Fix-logical-race-conditions-in-kubernetes_secrets-provider.yaml b/changelog/fragments/1738139927-Fix-logical-race-conditions-in-kubernetes_secrets-provider.yaml new file mode 100644 index 00000000000..a73644bf309 --- /dev/null +++ b/changelog/fragments/1738139927-Fix-logical-race-conditions-in-kubernetes_secrets-provider.yaml @@ -0,0 +1,32 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: bug-fix + +# Change summary; a 80ish characters long description of the change. +summary: Fix logical race conditions in kubernetes_secrets provider + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +#description: + +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: elastic-agent + +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +pr: https://github.com/elastic/elastic-agent/pull/6623 + +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +issue: https://github.com/elastic/elastic-agent/issues/6340 diff --git a/internal/pkg/composable/providers/kubernetessecrets/config.go b/internal/pkg/composable/providers/kubernetessecrets/config.go index 4df48fa5b49..5a92085f360 100644 --- a/internal/pkg/composable/providers/kubernetessecrets/config.go +++ b/internal/pkg/composable/providers/kubernetessecrets/config.go @@ -10,20 +10,23 @@ import ( "github.com/elastic/elastic-agent-autodiscover/kubernetes" ) -// Config for kubernetes provider +// Config for kubernetes_secrets provider type Config struct { KubeConfig string `config:"kube_config"` KubeClientOptions kubernetes.KubeClientOptions `config:"kube_client_options"` - RefreshInterval time.Duration `config:"cache_refresh_interval"` + RefreshInterval time.Duration `config:"cache_refresh_interval" validate:"positive,nonzero"` TTLDelete time.Duration `config:"cache_ttl"` - RequestTimeout time.Duration `config:"cache_request_timeout"` + RequestTimeout time.Duration `config:"cache_request_timeout" validate:"positive,nonzero"` DisableCache bool `config:"cache_disable"` } -func (c *Config) InitDefaults() { - c.RefreshInterval = 60 * time.Second - c.TTLDelete = 1 * time.Hour - c.RequestTimeout = 5 * time.Second - c.DisableCache = false +// defaultConfig returns default configuration for kubernetes_secrets provider +func defaultConfig() *Config { + return &Config{ + RefreshInterval: 60 * time.Second, + TTLDelete: 1 * time.Hour, + RequestTimeout: 5 * time.Second, + DisableCache: false, + } } diff --git a/internal/pkg/composable/providers/kubernetessecrets/expiration_cache.go b/internal/pkg/composable/providers/kubernetessecrets/expiration_cache.go new file mode 100644 index 00000000000..f78298f04ca --- /dev/null +++ b/internal/pkg/composable/providers/kubernetessecrets/expiration_cache.go @@ -0,0 +1,125 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License 2.0; +// you may not use this file except in compliance with the Elastic License 2.0. + +package kubernetessecrets + +import ( + "sync" + "time" +) + +// expirationCache is a store that expires items after time.Now - secret.lastAccess > ttl (if ttl > 0) at Get or List. +// expirationCache works with *cacheEntry, a pointer struct that wraps secret, instead of secret directly because map +// structure in standard go library never removes the buckets from memory even after removing all the elements from it. +// However, since *cacheEntry is a pointer it can be garbage collected when no longer referenced by the GC, such as +// when deleted from the map. More importantly working with a pointer makes the entry in the map bucket, that doesn't +// get deallocated, to utilise only 8 bytes on a 64-bit system. +type expirationCache struct { + sync.Mutex + // ttl is the time-to-live for items in the cache + ttl time.Duration + // items is the underlying cache store. + items map[string]*cacheEntry +} + +type cacheEntry struct { + s secret + lastAccess time.Time +} + +// Get returns the secret associated with the given key from the store if it exists and is not expired. If updateAccess is true +// and the secret exists, essentially the expiration check is skipped and the lastAccess timestamp is updated to time.Now(). +func (c *expirationCache) Get(key string, updateAccess bool) (secret, bool) { + c.Lock() + defer c.Unlock() + + entry, exists := c.items[key] + if !exists { + return secret{}, false + } + if updateAccess { + entry.lastAccess = time.Now() + } else if c.isExpired(entry.lastAccess) { + delete(c.items, key) + return secret{}, false + } + + return entry.s, true +} + +// AddConditionally adds the given secret to the store if the given condition returns true. If there is no existing +// secret, the condition will be called with an empty secret and false. If updateAccess is true and the secret already exists, +// then the lastAccess timestamp is updated to time.Now() independently of the condition result. +// Note: if the given condition is nil, then it is considered as a condition that always returns false. +func (c *expirationCache) AddConditionally(key string, in secret, updateAccess bool, condition conditionFn) { + c.Lock() + defer c.Unlock() + entry, exists := c.items[key] + if !exists { + if condition != nil && condition(secret{}, false) { + c.items[key] = &cacheEntry{in, time.Now()} + } + return + } + + if condition != nil && condition(entry.s, true) { + entry.s = in + entry.lastAccess = time.Now() + } else if updateAccess { + entry.lastAccess = time.Now() + } +} + +// isExpired returns true if the item has expired based on the ttl +func (c *expirationCache) isExpired(lastAccess time.Time) bool { + if c.ttl <= 0 { + // no expiration + return false + } + // we expire if the last access is older than the ttl + return time.Since(lastAccess) > c.ttl +} + +// ListKeys returns a list of all the keys of the secrets in the store without checking for expiration +func (c *expirationCache) ListKeys() []string { + c.Lock() + defer c.Unlock() + + length := len(c.items) + if length == 0 { + return nil + } + list := make([]string, 0, length) + for key := range c.items { + list = append(list, key) + } + return list +} + +// List returns a list of all the secrets in the store that are not expired +func (c *expirationCache) List() []secret { + c.Lock() + defer c.Unlock() + + length := len(c.items) + if length == 0 { + return nil + } + list := make([]secret, 0, length) + for _, entry := range c.items { + if c.isExpired(entry.lastAccess) { + continue + } + list = append(list, entry.s) + } + return list +} + +// newExpirationCache creates and returns an expirationCache +func newExpirationCache(ttl time.Duration) *expirationCache { + return &expirationCache{ + items: make(map[string]*cacheEntry), + ttl: ttl, + } +} diff --git a/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets.go b/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets.go index 6921003cb30..2db9d65813e 100644 --- a/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets.go +++ b/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets.go @@ -21,96 +21,186 @@ import ( "github.com/elastic/elastic-agent/pkg/core/logger" ) -var _ corecomp.FetchContextProvider = (*contextProviderK8sSecrets)(nil) -var getK8sClientFunc = getK8sClient +var ( + _ corecomp.FetchContextProvider = (*contextProviderK8SSecrets)(nil) + getK8sClientFunc = kubernetes.GetKubernetesClient +) + +const k8sSecretsProviderName = "kubernetes_secrets" //nolint:gosec // G101: False positive on Potential hardcoded credentials func init() { - composable.Providers.MustAddContextProvider("kubernetes_secrets", ContextProviderBuilder) + composable.Providers.MustAddContextProvider(k8sSecretsProviderName, ContextProviderBuilder) } -type contextProviderK8sSecrets struct { - logger *logger.Logger - config *Config - - clientMx sync.Mutex - client k8sclient.Interface +type store interface { + // AddConditionally adds the given secret to the store if the given condition returns true. If there is no existing + // secret, the condition will be called with an empty secret and false. If updateAccess is true and the secret already exists, + // then the lastAccess timestamp is updated to time.Now() independently of the condition result. + // Note: if the given condition is nil, then it is considered as a condition that always returns false. + AddConditionally(key string, sd secret, updateAccess bool, cond conditionFn) + // ListKeys returns a list of all the keys of the secrets in the store without checking for expiration + ListKeys() []string + // List returns a list of all the secrets in the store that are not expired + List() []secret + // Get returns the secret associated with the given key from the store if it exists and is not expired. If updateAccess is true + // and the secret exists, essentially the expiration check is skipped and the lastAccess timestamp is updated to time.Now(). + Get(key string, updateAccess bool) (secret, bool) +} - secretsCacheMx sync.RWMutex - secretsCache map[string]*secretsData +// secret represents the data of a kubernetes secret that is stored in the cache +type secret struct { + // name is the name of the secret, and it derives from key + name string + // namespace is the name of the namespace, and it derives from key + namespace string + // key is the key inside the secret, and it derives from key + key string + // value is the value of key inside the secret + value string + // apiExists is true if the secret was fetched from the API with no errors + apiExists bool + // apiFetchTime is the time the secret was fetched from the API + apiFetchTime time.Time } -type secretsData struct { - value string - lastAccess time.Time +type conditionFn func(existing secret, exists bool) bool + +type contextProviderK8SSecrets struct { + logger *logger.Logger + config *Config + client k8sclient.Interface + clientMtx sync.RWMutex + running chan struct{} + store store } -// ContextProviderBuilder builds the context provider. +// ContextProviderBuilder builds the kubernetes_secrets context provider. By default, this provider employs a cache +// to reduce the number of requests to the API server. The cache refreshes the secrets referenced during each Fetch call +// every Config.RefreshInterval. To maintain only secrets that are actually needed by the agent, each secret reference +// expires based on the Config.TTLDelete. During expiration of secret references or actual changes of secret values, +// the kubernetes_secrets provider calls the ContextProviderComm.Signal() to notify the agent. The cache mechanism +// can be disabled by setting Config.DisableCache to true. func ContextProviderBuilder(logger *logger.Logger, c *config.Config, _ bool) (corecomp.ContextProvider, error) { - var cfg Config + cfg := defaultConfig() + if c == nil { c = config.New() } - err := c.UnpackTo(&cfg) + + err := c.UnpackTo(cfg) if err != nil { return nil, errors.New(err, "failed to unpack configuration") } - return &contextProviderK8sSecrets{ - logger: logger, - config: &cfg, - secretsCache: make(map[string]*secretsData), + return &contextProviderK8SSecrets{ + logger: logger, + config: cfg, + client: nil, + running: make(chan struct{}), + store: newExpirationCache(cfg.TTLDelete), }, nil } -func (p *contextProviderK8sSecrets) Fetch(key string) (string, bool) { - if p.config.DisableCache { - valid := p.validateKey(key) - if valid { - return p.fetchSecretWithTimeout(key) - } else { - return "", false - } - } else { - return p.getFromCache(key) - } -} - // Run initializes the k8s secrets context provider. -func (p *contextProviderK8sSecrets) Run(ctx context.Context, comm corecomp.ContextProviderComm) error { +func (p *contextProviderK8SSecrets) Run(ctx context.Context, comm corecomp.ContextProviderComm) error { client, err := getK8sClientFunc(p.config.KubeConfig, p.config.KubeClientOptions) if err != nil { - p.logger.Debugf("kubernetes_secrets provider skipped, unable to connect: %s", err) - return nil + // signal that the provider has initialized + close(p.running) + p.logger.Debug(k8sSecretsProviderName, " provider skipped, unable to connect: ", err.Error()) + return err } - p.clientMx.Lock() + p.clientMtx.Lock() p.client = client - p.clientMx.Unlock() + p.clientMtx.Unlock() if !p.config.DisableCache { - go p.updateSecrets(ctx, comm) + go p.refreshCache(ctx, comm) } + // signal that the provider has initialized + close(p.running) <-comm.Done() - p.clientMx.Lock() + p.clientMtx.Lock() p.client = nil - p.clientMx.Unlock() + p.clientMtx.Unlock() + return comm.Err() } -func getK8sClient(kubeconfig string, opt kubernetes.KubeClientOptions) (k8sclient.Interface, error) { - return kubernetes.GetKubernetesClient(kubeconfig, opt) +// Fetch returns the secret value for the given key +func (p *contextProviderK8SSecrets) Fetch(key string) (string, bool) { + // Make sure the key has the expected format "kubernetes_secrets.somenamespace.somesecret.value" + tokens := strings.Split(key, ".") + if len(tokens) > 0 && tokens[0] != k8sSecretsProviderName { + return "", false + } + if len(tokens) != 4 { + p.logger.Warn("Invalid secret key format: ", key, ". Secrets should be of the format kubernetes_secrets.namespace.secret_name.value") + return "", false + } + + ctx := context.Background() + + secretNamespace := tokens[1] + secretName := tokens[2] + secretKey := tokens[3] + + // Wait for the provider to be initialized + <-p.running + + if p.config.DisableCache { + // cache disabled - fetch secret from the API + return p.fetchFromAPI(ctx, secretName, secretNamespace, secretKey) + } + + // cache enabled + sd, exists := p.store.Get(key, true) + if exists { + // cache hit + return sd.value, sd.apiExists + } + + // cache miss - fetch secret from the API + apiSecretValue, apiExists := p.fetchFromAPI(ctx, secretName, secretNamespace, secretKey) + now := time.Now() + sd = secret{ + name: secretName, + namespace: secretNamespace, + key: secretKey, + value: apiSecretValue, + apiExists: apiExists, + apiFetchTime: now, + } + p.store.AddConditionally(key, sd, true, func(existing secret, exists bool) bool { + if !exists { + // no existing secret in the cache thus add it + return true + } + if existing.value != apiSecretValue && !existing.apiFetchTime.After(now) { + // there is an existing secret in the cache but its value has changed since the last time + // it was fetched from the API thus update it + return true + } + // there is an existing secret in the cache, and it points already to the latest value + // thus do not update it and derive the value and apiExists from the existing secret + apiSecretValue = existing.value + apiExists = existing.apiExists + return false + }) + return apiSecretValue, apiExists } -// Update the secrets in the cache every RefreshInterval -func (p *contextProviderK8sSecrets) updateSecrets(ctx context.Context, comm corecomp.ContextProviderComm) { +// refreshCache refreshes the secrets in the cache every p.config.RefreshInterval +func (p *contextProviderK8SSecrets) refreshCache(ctx context.Context, comm corecomp.ContextProviderComm) { timer := time.NewTimer(p.config.RefreshInterval) for { select { case <-ctx.Done(): return case <-timer.C: - updatedCache := p.updateCache() - if updatedCache { + hasUpdate := p.updateSecrets(ctx) + if hasUpdate { p.logger.Info("Secrets cache was updated, the agent will be notified.") comm.Signal() } @@ -119,197 +209,79 @@ func (p *contextProviderK8sSecrets) updateSecrets(ctx context.Context, comm core } } -// mergeWithCurrent merges the updated map with the cache map. -// This function needs to be called between the mutex lock for the map. -func (p *contextProviderK8sSecrets) mergeWithCurrent(updatedMap map[string]*secretsData) (map[string]*secretsData, bool) { - merged := make(map[string]*secretsData) - updatedCache := false - - for name, data := range p.secretsCache { - diff := time.Since(data.lastAccess) - if diff < p.config.TTLDelete { - merged[name] = data - // Check if this key is part of the updatedMap. If it is not, we know the secrets cache was updated, - // and we need to signal that. - _, ok := updatedMap[name] - if !ok { - updatedCache = true - } +// updateSecrets causes all the non-expired secrets to be re-fetched from the API server and returns true if +// any of the secrets an updated value or has expired +func (p *contextProviderK8SSecrets) updateSecrets(ctx context.Context) bool { + // Keep track whether the cache had updates + hasUpdates := false + + secretKeys := p.store.ListKeys() + for _, key := range secretKeys { + sd, exists := p.store.Get(key, false) + if !exists { + // this item has expired thus mark that the cache has updates and continue + hasUpdates = true + continue } - } - for name, data := range updatedMap { - // We need to check if the key is already in the new map. If it is, lastAccess cannot be overwritten since - // it could have been updated when trying to fetch the secret at the same time we are running update cache. - // In that case, we only update the value. - if _, ok := merged[name]; ok { - if merged[name].value != data.value { - merged[name].value = data.value - updatedCache = true - } + apiSecretValue, apiExists := p.fetchFromAPI(ctx, sd.name, sd.namespace, sd.key) + now := time.Now() + sd = secret{ + name: sd.name, + namespace: sd.namespace, + key: sd.key, + value: apiSecretValue, + apiExists: apiExists, + apiFetchTime: now, } - } - - return merged, updatedCache -} -func (p *contextProviderK8sSecrets) updateCache() bool { - // Keep track whether the cache had values changing, so we can notify the agent - updatedCache := false - - // deleting entries does not free the memory, so we need to create a new map - // to place the secrets we want to keep - cacheTmp := make(map[string]*secretsData) - - // to not hold the lock for long, we copy the current state of the cache map - copyMap := make(map[string]secretsData) - p.secretsCacheMx.RLock() - for name, data := range p.secretsCache { - copyMap[name] = *data - } - p.secretsCacheMx.RUnlock() - - // The only way to update an entry in the cache is through the last access time (to delete the key) - // or if the value gets updated. - for name, data := range copyMap { - diff := time.Since(data.lastAccess) - if diff < p.config.TTLDelete { - value, ok := p.fetchSecretWithTimeout(name) - if ok { - newData := &secretsData{ - value: value, - lastAccess: data.lastAccess, - } - cacheTmp[name] = newData - if value != data.value { - updatedCache = true - } + p.store.AddConditionally(key, sd, false, func(existing secret, exists bool) bool { + if !exists { + // no existing secret which means it has been removed until we fetched it + // from the API. In this case we do not want to update the cache, but we + // mark that the cache has updates + hasUpdates = true + return false } - } else { - updatedCache = true - } - } - - // While the cache was updated, it is possible that some secret was added through another go routine. - // We need to merge the updated map with the current cache map to catch the new entries and avoid - // loss of data. - var updated bool - p.secretsCacheMx.Lock() - p.secretsCache, updated = p.mergeWithCurrent(cacheTmp) - p.secretsCacheMx.Unlock() - - return updatedCache || updated -} - -func (p *contextProviderK8sSecrets) getFromCache(key string) (string, bool) { - p.secretsCacheMx.RLock() - _, ok := p.secretsCache[key] - p.secretsCacheMx.RUnlock() - - // if value is still not present in cache, it is possible we haven't tried to fetch it yet - if !ok { - value, ok := p.addToCache(key) - // if it was not possible to fetch the secret, return - if !ok { - return value, ok - } - } - - p.secretsCacheMx.Lock() - data, ok := p.secretsCache[key] - data.lastAccess = time.Now() - pass := data.value - p.secretsCacheMx.Unlock() - - return pass, ok -} - -func (p *contextProviderK8sSecrets) validateKey(key string) bool { - // Make sure the key has the expected format "kubernetes_secrets.somenamespace.somesecret.value" - tokens := strings.Split(key, ".") - if len(tokens) > 0 && tokens[0] != "kubernetes_secrets" { - return false - } - if len(tokens) != 4 { - p.logger.Debugf( - "not valid secret key: %v. Secrets should be of the following format %v", - key, - "kubernetes_secrets.somenamespace.somesecret.value", - ) - return false - } - return true -} - -func (p *contextProviderK8sSecrets) addToCache(key string) (string, bool) { - valid := p.validateKey(key) - if !valid { - return "", false - } - - value, ok := p.fetchSecretWithTimeout(key) - if ok { - p.secretsCacheMx.Lock() - p.secretsCache[key] = &secretsData{value: value} - p.secretsCacheMx.Unlock() + if existing.value != apiSecretValue && !existing.apiFetchTime.After(now) { + // the secret value has changed and the above fetchFromAPI is more recent thus + // add it and mark that the cache has updates + hasUpdates = true + return true + } + // the secret value has not changed + return false + }) } - return value, ok -} -type Result struct { - value string - ok bool + return hasUpdates } -func (p *contextProviderK8sSecrets) fetchSecretWithTimeout(key string) (string, bool) { - ctxTimeout, cancel := context.WithTimeout(context.Background(), p.config.RequestTimeout) +// fetchFromAPI fetches the secret value from the API +func (p *contextProviderK8SSecrets) fetchFromAPI(ctx context.Context, secretName string, secretNamespace string, secretKey string) (string, bool) { + ctx, cancel := context.WithTimeout(ctx, p.config.RequestTimeout) defer cancel() - resultCh := make(chan Result, 1) - p.fetchSecret(ctxTimeout, key, resultCh) - - select { - case <-ctxTimeout.Done(): - p.logger.Errorf("Could not retrieve value for key %v: %v", key, ctxTimeout.Err()) + p.clientMtx.RLock() + if p.client == nil { + // k8s client is nil most probably due to an error at p.Run + p.clientMtx.RUnlock() return "", false - case result := <-resultCh: - return result.value, result.ok } -} - -func (p *contextProviderK8sSecrets) fetchSecret(context context.Context, key string, resultCh chan Result) { - p.clientMx.Lock() - client := p.client - p.clientMx.Unlock() - if client == nil { - resultCh <- Result{value: "", ok: false} - return - } - - tokens := strings.Split(key, ".") - // key has the format "kubernetes_secrets.somenamespace.somesecret.value" - // This function is only called from: - // - addToCache, where we already validated that the key has the right format. - // - updateCache, where the results are only added to the cache through addToCache - // Because of this we no longer need to validate the key - ns := tokens[1] - secretName := tokens[2] - secretVar := tokens[3] - - secretInterface := client.CoreV1().Secrets(ns) - secret, err := secretInterface.Get(context, secretName, metav1.GetOptions{}) + c := p.client + p.clientMtx.RUnlock() + si := c.CoreV1().Secrets(secretNamespace) + secret, err := si.Get(ctx, secretName, metav1.GetOptions{}) if err != nil { - p.logger.Errorf("Could not retrieve secret from k8s API: %v", err) - resultCh <- Result{value: "", ok: false} - return + p.logger.Warn("Could not retrieve secret ", secretName, " at namespace ", secretNamespace, ": ", err.Error()) + return "", false } - if _, ok := secret.Data[secretVar]; !ok { - p.logger.Errorf("Could not retrieve value %v for secret %v", secretVar, secretName) - resultCh <- Result{value: "", ok: false} - return + + if _, ok := secret.Data[secretKey]; !ok { + p.logger.Warn("Could not retrieve value of key ", secretKey, " for secret ", secretName, " at namespace ", secretNamespace) + return "", false } - secretString := secret.Data[secretVar] - resultCh <- Result{value: string(secretString), ok: true} + return string(secret.Data[secretKey]), true } diff --git a/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets_test.go b/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets_test.go index c440147f7b2..4ff4c00a37d 100644 --- a/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets_test.go +++ b/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets_test.go @@ -6,17 +6,14 @@ package kubernetessecrets import ( "context" + "errors" "fmt" - "strings" "sync" "testing" "time" - ctesting "github.com/elastic/elastic-agent/internal/pkg/composable/testing" - - "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" - v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sclient "k8s.io/client-go/kubernetes" @@ -24,605 +21,977 @@ import ( "github.com/elastic/elastic-agent-autodiscover/kubernetes" "github.com/elastic/elastic-agent-libs/logp" + ctesting "github.com/elastic/elastic-agent/internal/pkg/composable/testing" "github.com/elastic/elastic-agent/internal/pkg/config" ) -const ( - ns = "test_namespace" - pass = "testing_passpass" -) +func Test_Fetch(t *testing.T) { + testDataBuilder := secretTestDataBuilder{ + namespace: "default", + name: "secret_name", + key: "secret_key", + } -func Test_K8sSecretsProvider_FetchWrongSecret(t *testing.T) { - client := k8sfake.NewSimpleClientset() - secret := &v1.Secret{ - TypeMeta: metav1.TypeMeta{ - Kind: "Secret", - APIVersion: "apps/v1beta1", + for _, tc := range []struct { + name string + providerCfg Config + k8sClient k8sclient.Interface + storeInit func(t *testing.T) store + keyToFetch string + expectedValue string + expectedFound bool + expectedCache map[string]*cacheEntry + }{ + { + name: "invalid key format", + providerCfg: Config{ + RequestTimeout: time.Second, + }, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + storeInit: func(t *testing.T) store { return newExpirationCache(time.Minute) }, + keyToFetch: "secret_name", + expectedValue: "", + expectedFound: false, + expectedCache: nil, }, - ObjectMeta: metav1.ObjectMeta{ - Name: "testing_secret", - Namespace: ns, + { + name: "invalid key format missing tokens", + providerCfg: Config{ + RequestTimeout: time.Second, + }, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + storeInit: func(t *testing.T) store { return newExpirationCache(time.Minute) }, + keyToFetch: fmt.Sprintf("%s.default.secret_name", k8sSecretsProviderName), + expectedValue: "", + expectedFound: false, + expectedCache: nil, }, - Data: map[string][]byte{ - "secret_value": []byte(pass), + { + name: "invalid key inside secret", + providerCfg: Config{ + RequestTimeout: time.Second, + }, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + storeInit: func(t *testing.T) store { return newExpirationCache(time.Minute) }, + keyToFetch: fmt.Sprintf("%s.default.secret_name.wrong", k8sSecretsProviderName), + expectedValue: "", + expectedFound: false, + expectedCache: buildCacheMap( + buildCacheEntry("default", "secret_name", "wrong", "", false, time.Now(), time.Now()), + ), }, - } - _, err := client.CoreV1().Secrets(ns).Create(context.Background(), secret, metav1.CreateOptions{}) - require.NoError(t, err) - - logger := logp.NewLogger("test_k8s_secrets") - cfg, err := config.NewConfigFrom(map[string]string{"a": "b"}) - require.NoError(t, err) - - p, err := ContextProviderBuilder(logger, cfg, true) - require.NoError(t, err) - - fp, _ := p.(*contextProviderK8sSecrets) - - getK8sClientFunc = func(kubeconfig string, opt kubernetes.KubeClientOptions) (k8sclient.Interface, error) { - return client, nil - } - require.NoError(t, err) - - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - comm := ctesting.NewContextComm(ctx) - - go func() { - _ = fp.Run(ctx, comm) - }() - - for { - fp.clientMx.Lock() - client := fp.client - fp.clientMx.Unlock() - if client != nil { - break - } - <-time.After(10 * time.Millisecond) - } - - val, found := fp.Fetch("kubernetes_secrets.test_namespace.testing_secretHACK.secret_value") - assert.False(t, found) - assert.EqualValues(t, val, "") -} - -func Test_K8sSecretsProvider_Fetch_Cache_Enabled(t *testing.T) { - client := k8sfake.NewSimpleClientset() - - ttlDelete, err := time.ParseDuration("1s") - require.NoError(t, err) - - refreshInterval, err := time.ParseDuration("100ms") - require.NoError(t, err) - - secret := &v1.Secret{ - TypeMeta: metav1.TypeMeta{ - Kind: "Secret", - APIVersion: "apps/v1beta1", + { + name: "k8s client nil", + providerCfg: Config{ + RequestTimeout: time.Second, + }, + k8sClient: nil, + storeInit: func(t *testing.T) store { return newExpirationCache(time.Minute) }, + keyToFetch: testDataBuilder.getFetchKey(), + expectedValue: "", + expectedFound: false, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("", false, time.Now(), time.Now()), + ), }, - ObjectMeta: metav1.ObjectMeta{ - Name: "testing_secret", - Namespace: ns, + { + name: "cache-disabled API-hit", + providerCfg: Config{ + RequestTimeout: time.Second, + DisableCache: true, + }, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + keyToFetch: testDataBuilder.getFetchKey(), + storeInit: func(t *testing.T) store { return newExpirationCache(time.Minute) }, + expectedValue: "secret_value", + expectedFound: true, }, - Data: map[string][]byte{ - "secret_value": []byte(pass), + { + name: "cache-disabled API-miss", + providerCfg: Config{ + RequestTimeout: time.Second, + DisableCache: true, + }, + k8sClient: k8sfake.NewClientset(), + keyToFetch: testDataBuilder.getFetchKey(), + storeInit: func(t *testing.T) store { return newExpirationCache(time.Minute) }, + expectedValue: "", + expectedFound: false, }, - } - _, err = client.CoreV1().Secrets(ns).Create(context.Background(), secret, metav1.CreateOptions{}) - require.NoError(t, err) - - logger := logp.NewLogger("test_k8s_secrets") - - c := map[string]interface{}{ - "cache_refresh_interval": refreshInterval, - "cache_ttl": ttlDelete, - "cache_disable": false, - } - cfg, err := config.NewConfigFrom(c) - require.NoError(t, err) - - p, err := ContextProviderBuilder(logger, cfg, true) - require.NoError(t, err) - - fp, _ := p.(*contextProviderK8sSecrets) - - getK8sClientFunc = func(kubeconfig string, opt kubernetes.KubeClientOptions) (k8sclient.Interface, error) { - return client, nil - } - require.NoError(t, err) - - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - comm := ctesting.NewContextComm(ctx) - - go func() { - _ = fp.Run(ctx, comm) - }() - - for { - fp.clientMx.Lock() - client := fp.client - fp.clientMx.Unlock() - if client != nil { - break - } - <-time.After(10 * time.Millisecond) - } - - // Secret cache should be empty at start - fp.secretsCacheMx.Lock() - assert.Equal(t, 0, len(fp.secretsCache)) - fp.secretsCacheMx.Unlock() - - key := "kubernetes_secrets.test_namespace.testing_secret.secret_value" - - // Secret should be in the cache after this call - val, found := fp.Fetch(key) - assert.True(t, found) - assert.Equal(t, val, pass) - fp.secretsCacheMx.RLock() - assert.Equal(t, len(fp.secretsCache), 1) - assert.NotNil(t, fp.secretsCache[key]) - assert.NotZero(t, fp.secretsCache[key].lastAccess) - fp.secretsCacheMx.RUnlock() - - // Update the secret and check after TTL time, the secret value is correct - newPass := "new-pass" - secret = &v1.Secret{ - TypeMeta: metav1.TypeMeta{ - Kind: "Secret", - APIVersion: "apps/v1beta1", + { + name: "cache-hit", + providerCfg: Config{ + RequestTimeout: time.Second, + }, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + keyToFetch: testDataBuilder.getFetchKey(), + storeInit: func(t *testing.T) store { + s := newExpirationCache(time.Minute) + s.Lock() + s.items = buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ) + s.Unlock() + return s + }, + expectedValue: "secret_value", + expectedFound: true, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), }, - ObjectMeta: metav1.ObjectMeta{ - Name: "testing_secret", - Namespace: ns, + { + name: "cache-miss API-hit", + providerCfg: Config{ + RequestTimeout: time.Second, + }, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + keyToFetch: testDataBuilder.getFetchKey(), + storeInit: func(t *testing.T) store { return newExpirationCache(time.Minute) }, + expectedValue: "secret_value", + expectedFound: true, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), }, - Data: map[string][]byte{ - "secret_value": []byte(newPass), + { + name: "cache-miss API-miss", + providerCfg: Config{ + RequestTimeout: time.Second, + }, + k8sClient: k8sfake.NewClientset(), + keyToFetch: testDataBuilder.getFetchKey(), + storeInit: func(t *testing.T) store { return newExpirationCache(time.Minute) }, + expectedValue: "", + expectedFound: false, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("", false, time.Now(), time.Now()), + ), }, - } - _, err = client.CoreV1().Secrets(ns).Update(context.Background(), secret, metav1.UpdateOptions{}) - require.NoError(t, err) - - // wait for ttl update - <-time.After(refreshInterval) - status := &strings.Builder{} - duration := refreshInterval * 3 - assert.Eventuallyf(t, func() bool { - val, found = fp.Fetch(key) - isNewPass := val == newPass - if found && isNewPass { - return true - } - - fmt.Fprintf(status, "found: %t, isNewPass: %t", found, isNewPass) - return false - }, duration, refreshInterval, - "Failed to update the secret value after TTL update has passed. Tried fetching for %d. Last status: %s", - duration, status) - - // After TTL delete, secret should no longer be found in cache since it was never - // fetched during that time - <-time.After(ttlDelete) - assert.Eventuallyf(t, func() bool { - fp.secretsCacheMx.RLock() - size := len(fp.secretsCache) - fp.secretsCacheMx.RUnlock() - return size == 0 - }, ttlDelete*3, ttlDelete, "Failed to delete the secret after TTL delete has passed.") - -} - -func Test_K8sSecretsProvider_Fetch_Cache_Disabled(t *testing.T) { - client := k8sfake.NewSimpleClientset() - - secret := &v1.Secret{ - TypeMeta: metav1.TypeMeta{ - Kind: "Secret", - APIVersion: "apps/v1beta1", + { + name: "cache-miss contention with newer fetch", + providerCfg: Config{ + RequestTimeout: time.Second, + }, + k8sClient: k8sfake.NewClientset(), + keyToFetch: testDataBuilder.getFetchKey(), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + ms := newMockStore(t) + ms.On("Get", mock.Anything, mock.Anything).Run(func(args mock.Arguments) { + // when Fetch calls Get, we silently insert another secret with the same key + // to simulate another fetch/cache update happening in parallel and thus test + // that the AddConditionally in Fetch works as expected. We also mark it's last + // access to one hour ago to check that Fetch always updates the lastAccess of + // an existing item. + key := args.Get(0).(string) + exps.Lock() + exps.items[key] = testDataBuilder.buildCacheEntry("value_from_cache", true, time.Now().Add(1*time.Hour), time.Now().Add(-time.Hour)) + exps.Unlock() + }).Return(secret{}, false).Once() + ms.On("AddConditionally", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Run(func(args mock.Arguments) { + key := args.Get(0).(string) + obj := args.Get(1).(secret) + updateAccess := args.Get(2).(bool) + condition := args.Get(3).(conditionFn) + exps.AddConditionally(key, obj, updateAccess, condition) + }).Once() + listMock := ms.On("List") + listMock.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listMock.Return(exps.List()) + }).Once() + return ms + }, + expectedValue: "value_from_cache", + expectedFound: true, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("value_from_cache", true, time.Now(), time.Now()), + ), }, - ObjectMeta: metav1.ObjectMeta{ - Name: "testing_secret", - Namespace: ns, + { + name: "cache-miss contention same value", + providerCfg: Config{ + RequestTimeout: time.Second, + }, + k8sClient: k8sfake.NewClientset(), + keyToFetch: testDataBuilder.getFetchKey(), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + ms := newMockStore(t) + ms.On("Get", mock.Anything, mock.Anything).Run(func(args mock.Arguments) { + // when Fetch calls Get, we silently insert another secret with the same key + // to simulate another fetch/cache update happening in parallel and thus test + // that the AddConditionally in Fetch works as expected. We also mark it's last + // access to one hour ago to check that Fetch always updates the lastAccess of + // an existing item. + key := args.Get(0).(string) + exps.Lock() + exps.items[key] = testDataBuilder.buildCacheEntry("secret_value", true, time.Now().Add(1*time.Hour), time.Now().Add(-time.Hour)) + exps.Unlock() + }).Return(secret{}, false).Once() + ms.On("AddConditionally", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Run(func(args mock.Arguments) { + key := args.Get(0).(string) + obj := args.Get(1).(secret) + updateAccess := args.Get(2).(bool) + condition := args.Get(3).(conditionFn) + exps.AddConditionally(key, obj, updateAccess, condition) + }).Once() + + listMock := ms.On("List") + listMock.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listMock.Return(exps.List()) + }).Once() + return ms + }, + expectedValue: "secret_value", + expectedFound: true, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), }, - Data: map[string][]byte{ - "secret_value": []byte(pass), + { + name: "cache-miss contention with older fetch", + providerCfg: Config{ + RequestTimeout: time.Second, + }, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + keyToFetch: testDataBuilder.getFetchKey(), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + ms := newMockStore(t) + ms.On("Get", mock.Anything, mock.Anything).Run(func(args mock.Arguments) { + // when Fetch calls Get, we silently insert another secret with the same key + // to simulate another fetch/cache update happening in parallel and thus test + // that the AddConditionally in Fetch works as expected. We also mark it's last + // access to one hour ago to check that Fetch always updates the lastAccess of + // an existing item. + key := args.Get(0).(string) + exps.Lock() + exps.items[key] = testDataBuilder.buildCacheEntry("value_from_cache", true, time.Now(), time.Now().Add(-time.Hour)) + exps.Unlock() + }).Return(secret{}, false).Once() + ms.On("AddConditionally", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Run(func(args mock.Arguments) { + key := args.Get(0).(string) + obj := args.Get(1).(secret) + updateAccess := args.Get(2).(bool) + condition := args.Get(3).(conditionFn) + exps.AddConditionally(key, obj, updateAccess, condition) + }).Once() + + listMock := ms.On("List") + listMock.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listMock.Return(exps.List()) + }).Once() + return ms + }, + expectedValue: "secret_value", + expectedFound: true, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), }, - } - _, err := client.CoreV1().Secrets(ns).Create(context.Background(), secret, metav1.CreateOptions{}) - require.NoError(t, err) - - logger := logp.NewLogger("test_k8s_secrets") - - c := map[string]interface{}{ - "cache_disable": true, - } - cfg, err := config.NewConfigFrom(c) - require.NoError(t, err) + } { + t.Run(tc.name, func(t *testing.T) { + running := make(chan struct{}) + close(running) + p := contextProviderK8SSecrets{ + logger: logp.NewLogger("test_k8s_secrets"), + config: &tc.providerCfg, + client: tc.k8sClient, + running: running, + store: tc.storeInit(t), + } - p, err := ContextProviderBuilder(logger, cfg, true) - require.NoError(t, err) + val, found := p.Fetch(tc.keyToFetch) + require.Equal(t, tc.expectedFound, found) + require.Equal(t, tc.expectedValue, val) - fp, _ := p.(*contextProviderK8sSecrets) + list := p.store.List() + require.Equal(t, len(tc.expectedCache), len(list)) - getK8sClientFunc = func(kubeconfig string, opt kubernetes.KubeClientOptions) (k8sclient.Interface, error) { - return client, nil - } - require.NoError(t, err) - - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - comm := ctesting.NewContextComm(ctx) - - go func() { - _ = fp.Run(ctx, comm) - }() - - for { - fp.clientMx.Lock() - client := fp.client - fp.clientMx.Unlock() - if client != nil { - break - } - <-time.After(10 * time.Millisecond) + cacheMap := make(map[string]secret) + for _, s := range list { + cacheMap[fmt.Sprintf("%s.%s.%s.%s", k8sSecretsProviderName, s.namespace, s.name, s.key)] = s + } + for k, v := range tc.expectedCache { + inCache, exists := cacheMap[k] + require.True(t, exists) + require.Equal(t, v.s.key, inCache.key) + require.Equal(t, v.s.name, inCache.name) + require.Equal(t, v.s.namespace, inCache.namespace) + require.Equal(t, v.s.key, inCache.key) + require.Equal(t, v.s.value, inCache.value) + require.Equal(t, v.s.apiExists, inCache.apiExists) + } + }) } +} - key := "kubernetes_secrets.test_namespace.testing_secret.secret_value" - - // Secret should be in the cache after this call - val, found := fp.Fetch(key) - assert.True(t, found) - assert.Equal(t, val, pass) +func Test_UpdateCache(t *testing.T) { + testDataBuilder := secretTestDataBuilder{ + namespace: "default", + name: "secret_name", + key: "secret_key", + } - // Update the secret and check the result - newPass := "new-pass" - secret = &v1.Secret{ - TypeMeta: metav1.TypeMeta{ - Kind: "Secret", - APIVersion: "apps/v1beta1", + for _, tc := range []struct { + name string + providerCfg Config + k8sClient k8sclient.Interface + storeInit func(t *testing.T) store + expectedUpdate bool + expectedCache map[string]*cacheEntry + }{ + { + // check that cache returns true if a secret is expired + name: "secret-expired", + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + exps.Lock() + exps.items = buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now().Add(-time.Hour)), + ) + exps.Unlock() + return exps + }, + expectedUpdate: true, }, - ObjectMeta: metav1.ObjectMeta{ - Name: "testing_secret", - Namespace: ns, + { + // check that cache returns false if there is no change in the secret + name: "secret-no-change API-hit", + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + exps.Lock() + exps.items = buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ) + exps.Unlock() + return exps + }, + expectedUpdate: false, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), }, - Data: map[string][]byte{ - "secret_value": []byte(newPass), + { + // check that cache returns true if there is a change in the secret + name: "secret-change API-hit", + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value_new"), + ), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + exps.Lock() + exps.items = buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ) + exps.Unlock() + return exps + }, + expectedUpdate: true, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value_new", true, time.Now(), time.Now()), + ), }, - } - _, err = client.CoreV1().Secrets(ns).Update(context.Background(), secret, metav1.UpdateOptions{}) - require.NoError(t, err) - - val, found = fp.Fetch(key) - assert.True(t, found) - assert.Equal(t, val, newPass) - - // Check key that does not exist - val, found = fp.Fetch(key + "doesnotexist") - assert.False(t, found) - assert.Equal(t, "", val) -} + { + // check that cache returns true if the API returns an error at refreshing of an existing secret + name: "secret-change API-miss", + k8sClient: k8sfake.NewClientset(), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + exps.Lock() + exps.items = buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ) + exps.Unlock() + return exps + }, + expectedUpdate: true, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("", false, time.Now(), time.Now()), + ), + }, + { + // check that lastAccess is updated for expired secrets if they are updated + name: "secret-expired with update", + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + exps.Lock() + exps.items = buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value_old", true, time.Now(), time.Now()), + ) + exps.Unlock() + ms := newMockStore(t) + getMockCall := ms.On("Get", mock.Anything, mock.Anything) + getMockCall.Run(func(args mock.Arguments) { + key := args.Get(0).(string) + ret, exists := exps.Get(key, args.Get(1).(bool)) + // when updateSecrets calls Get, we silently shift one hour back the lastAccess of an existing secret to test + // that the AddConditionally in updateCache works as expected and that the lastAccess is updated + exps.Lock() + exps.items[key].lastAccess = time.Now().Add(-time.Hour) + exps.Unlock() + getMockCall.Return(ret, exists) + }).Once() + ms.On("AddConditionally", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Run(func(args mock.Arguments) { + key := args.Get(0).(string) + obj := args.Get(1).(secret) + updateAccess := args.Get(2).(bool) + condition := args.Get(3).(conditionFn) + exps.AddConditionally(key, obj, updateAccess, condition) + }).Once() + listKeys := ms.On("ListKeys") + listKeys.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listKeys.Return(exps.ListKeys()) + }).Once() + listMock := ms.On("List") + listMock.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listMock.Return(exps.List()) + }).Once() + return ms + }, + expectedUpdate: true, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), + }, + { + // check that lastAccess is not updated for expired secrets if they are not updated + name: "secret-expired with no update", + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + exps.Lock() + exps.items = buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ) + exps.Unlock() + ms := newMockStore(t) + getMockCall := ms.On("Get", mock.Anything, mock.Anything) + getMockCall.Run(func(args mock.Arguments) { + key := args.Get(0).(string) + ret, exists := exps.Get(key, args.Get(1).(bool)) + // when updateSecrets calls Get, we silently shift one hour back the lastAccess of an existing secret to test + // that the AddConditionally in updateCache works as expected and that the lastAccess is not updated + // if there is no update + exps.Lock() + exps.items[key].lastAccess = time.Now().Add(-time.Hour) + exps.Unlock() + getMockCall.Return(ret, exists) + }).Once() + ms.On("AddConditionally", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Run(func(args mock.Arguments) { + key := args.Get(0).(string) + obj := args.Get(1).(secret) + updateAccess := args.Get(2).(bool) + condition := args.Get(3).(conditionFn) + exps.AddConditionally(key, obj, updateAccess, condition) + }).Once() + listKeys := ms.On("ListKeys") + listKeys.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listKeys.Return(exps.ListKeys()) + }).Once() + listMock := ms.On("List") + listMock.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listMock.Return(exps.List()) + }).Once() + return ms + }, + expectedUpdate: false, + expectedCache: map[string]*cacheEntry{}, + }, + { + // check that cache returns true if a secret is removed (aka expired) while it was being fetched from the API + name: "secret-change contention secret removed", + k8sClient: k8sfake.NewClientset(), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + exps.Lock() + exps.items = buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ) + exps.Unlock() + ms := newMockStore(t) + getMockCall := ms.On("Get", mock.Anything, mock.Anything) + getMockCall.Run(func(args mock.Arguments) { + key := args.Get(0).(string) + ret, exists := exps.Get(key, args.Get(1).(bool)) + // when updateSecrets calls Get, we silently remove an existing secret to test + // that the AddConditionally in updateCache works as expected when the secret is removed + exps.Lock() + delete(exps.items, key) + exps.Unlock() + getMockCall.Return(ret, exists) + }).Once() + ms.On("AddConditionally", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Run(func(args mock.Arguments) { + key := args.Get(0).(string) + obj := args.Get(1).(secret) + updateAccess := args.Get(2).(bool) + condition := args.Get(3).(conditionFn) + exps.AddConditionally(key, obj, updateAccess, condition) + }).Once() + listKeys := ms.On("ListKeys") + listKeys.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listKeys.Return(exps.ListKeys()) + }).Once() + listMock := ms.On("List") + listMock.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listMock.Return(exps.List()) + }).Once() + return ms + }, + expectedUpdate: true, + expectedCache: nil, + }, + { + // check that cache returns false if a secret is more recently fetched from the API + name: "secret-change contention with newer fetched item", + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + storeInit: func(t *testing.T) store { + exps := newExpirationCache(time.Minute) + exps.Lock() + exps.items = buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value_cached", true, time.Now(), time.Now()), + ) + exps.Unlock() + ms := newMockStore(t) + getMock := ms.On("Get", mock.Anything, mock.Anything) + getMock.Run(func(args mock.Arguments) { + key := args.Get(0).(string) + ret, exists := exps.Get(key, args.Get(1).(bool)) + // when updateSecrets calls Get, we silently mark the existing secret to a newer fetch from API time + // to test that the AddConditionally in updateCache works as expected + exps.Lock() + exps.items[key].s.apiFetchTime = time.Now().Add(time.Hour) + exps.Unlock() + getMock.Return(ret, exists) + }).Once() + ms.On("AddConditionally", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Run(func(args mock.Arguments) { + key := args.Get(0).(string) + obj := args.Get(1).(secret) + updateAccess := args.Get(2).(bool) + condition := args.Get(3).(conditionFn) + exps.AddConditionally(key, obj, updateAccess, condition) + }).Once() + listKeys := ms.On("ListKeys") + listKeys.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listKeys.Return(exps.ListKeys()) + }).Once() + listMock := ms.On("List") + listMock.Run(func(args mock.Arguments) { + // need to evaluate this at runtime + listMock.Return(exps.List()) + }).Once() + return ms + }, + expectedUpdate: false, + expectedCache: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value_cached", true, time.Now(), time.Now()), + ), + }, + } { + t.Run(tc.name, func(t *testing.T) { + running := make(chan struct{}) + close(running) + p := contextProviderK8SSecrets{ + logger: logp.NewLogger("test_k8s_secrets"), + config: &tc.providerCfg, + client: tc.k8sClient, + running: running, + store: tc.storeInit(t), + } -func Test_MergeWitchCurrent(t *testing.T) { - logger := logp.NewLogger("test_k8s_secrets") + hasUpdates := p.updateSecrets(context.Background()) + require.Equal(t, tc.expectedUpdate, hasUpdates) - c := map[string]interface{}{} - cfg, err := config.NewConfigFrom(c) - require.NoError(t, err) + list := p.store.List() + require.Equal(t, len(tc.expectedCache), len(list)) - p, err := ContextProviderBuilder(logger, cfg, true) - require.NoError(t, err) + cacheMap := make(map[string]secret) + for _, s := range list { + cacheMap[fmt.Sprintf("%s.%s.%s.%s", k8sSecretsProviderName, s.namespace, s.name, s.key)] = s + } + for k, v := range tc.expectedCache { + inCache, exists := cacheMap[k] + require.True(t, exists) + require.Equal(t, v.s.key, inCache.key) + require.Equal(t, v.s.name, inCache.name) + require.Equal(t, v.s.namespace, inCache.namespace) + require.Equal(t, v.s.key, inCache.key) + require.Equal(t, v.s.value, inCache.value) + require.Equal(t, v.s.apiExists, inCache.apiExists) + } + }) + } +} - fp, _ := p.(*contextProviderK8sSecrets) +func Test_Run(t *testing.T) { + testDataBuilder := secretTestDataBuilder{ + namespace: "default", + name: "secret_name", + key: "secret_key", + } - ts := time.Now() - var tests = []struct { - secretsCache map[string]*secretsData - updatedMap map[string]*secretsData - mergedMap map[string]*secretsData - updatedCache bool - message string + tests := []struct { + name string + providerCfg Config + expectedSignal bool + waitForSignal time.Duration + k8sClient k8sclient.Interface + k8sClientErr error + preCacheState map[string]*cacheEntry + postCacheState map[string]*cacheEntry + secretToFetch string }{ { - secretsCache: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one", - lastAccess: ts, - }, - }, - updatedMap: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one-updated", - lastAccess: ts, - }, - }, - mergedMap: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one-updated", - lastAccess: ts, - }, - }, - updatedCache: true, - message: "When the value of one of the keys in the map gets updated, updatedCache should be true.", + // check that the cache signals ContextComm when the secret is updated + name: "secret-update-value and signal", + providerCfg: Config{ + RefreshInterval: 100 * time.Millisecond, + RequestTimeout: 100 * time.Millisecond, + TTLDelete: 2 * time.Second, + DisableCache: false, + }, + expectedSignal: true, + waitForSignal: time.Second, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + k8sClientErr: nil, + preCacheState: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value_old", true, time.Now(), time.Now()), + ), + postCacheState: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), }, { - secretsCache: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one", - lastAccess: ts, - }, - }, - updatedMap: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one", - lastAccess: ts, - }, - }, - mergedMap: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one", - lastAccess: ts, - }, - }, - updatedCache: false, - message: "When nothing changes in the cache, updatedCache should be false.", + // check that the cache does not signal ContextComm when the secret is not updated + name: "secret no-update and no-signal", + providerCfg: Config{ + RefreshInterval: 100 * time.Millisecond, + RequestTimeout: 100 * time.Millisecond, + TTLDelete: 2 * time.Second, + DisableCache: false, + }, + expectedSignal: false, + waitForSignal: time.Second, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + k8sClientErr: nil, + preCacheState: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), + postCacheState: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), }, { - secretsCache: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one", - lastAccess: ts, - }, - "kubernetes_secrets.default.secret_two.secret_value": { - value: "value-two", - lastAccess: ts, - }, - }, - updatedMap: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one", - lastAccess: ts, - }, - }, - mergedMap: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one", - lastAccess: ts, - }, - "kubernetes_secrets.default.secret_two.secret_value": { - value: "value-two", - lastAccess: ts, - }, - }, - updatedCache: true, - message: "When secretsCache gets updated at the same time we create updatedMap, then merging the two should" + - "detect the change on updatedCache.", + // check that the cache signals ContextComm when a secret expires + name: "secret-expired and signal", + providerCfg: Config{ + RefreshInterval: 100 * time.Millisecond, + RequestTimeout: 100 * time.Millisecond, + TTLDelete: 500 * time.Millisecond, + DisableCache: false, + }, + expectedSignal: true, + waitForSignal: time.Second, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + k8sClientErr: nil, + preCacheState: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), + postCacheState: nil, + }, + { + // check that the cache is populated when a fetch of a non-existing secret runs + name: "fetch populates cache", + providerCfg: Config{ + RefreshInterval: 100 * time.Millisecond, + RequestTimeout: 100 * time.Millisecond, + TTLDelete: 2 * time.Second, + DisableCache: false, + }, + expectedSignal: false, + waitForSignal: time.Second, + k8sClient: k8sfake.NewClientset( + testDataBuilder.buildK8SSecret("secret_value"), + ), + k8sClientErr: nil, + secretToFetch: fmt.Sprintf("%s.default.secret_name.secret_key", k8sSecretsProviderName), + preCacheState: map[string]*cacheEntry{}, + postCacheState: buildCacheMap( + testDataBuilder.buildCacheEntry("secret_value", true, time.Now(), time.Now()), + ), + }, + { + // check that Run returns an error when the k8s client fails to initialize + name: "k8s client error", + providerCfg: Config{ + RefreshInterval: 100 * time.Millisecond, + RequestTimeout: 100 * time.Millisecond, + TTLDelete: 2 * time.Second, + DisableCache: false, + }, + k8sClient: nil, + k8sClientErr: errors.New("k8s client error"), }, } - - for _, test := range tests { - fp.secretsCache = test.secretsCache - merged, updated := fp.mergeWithCurrent(test.updatedMap) - - require.Equalf(t, len(test.mergedMap), len(merged), "Resulting merged map does not have the expected length.") - for key, data1 := range test.mergedMap { - data2, ok := merged[key] - if ok { - require.Equalf(t, data1.value, data2.value, "Resulting merged map values do not equal the expected ones.") - require.Equalf(t, data1.lastAccess, data2.lastAccess, "Resulting merged map values do not equal the expected ones.") - } else { - t.Fatalf("Resulting merged map does not have expecting keys.") + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + getK8sClientFunc = func(kubeconfig string, opt kubernetes.KubeClientOptions) (k8sclient.Interface, error) { + return tc.k8sClient, tc.k8sClientErr } - } + t.Cleanup(func() { + getK8sClientFunc = kubernetes.GetKubernetesClient + }) - require.Equalf(t, test.updatedCache, updated, test.message) - } -} + cfg, err := config.NewConfigFrom(tc.providerCfg) + require.NoError(t, err) -func Test_UpdateCache(t *testing.T) { - logger := logp.NewLogger("test_k8s_secrets") + log := logp.NewLogger("test_k8s_secrets") + provider, err := ContextProviderBuilder(log, cfg, true) + require.NoError(t, err) - c := map[string]interface{}{} - cfg, err := config.NewConfigFrom(c) - require.NoError(t, err) + p, is := provider.(*contextProviderK8SSecrets) + require.True(t, is) - p, err := ContextProviderBuilder(logger, cfg, true) - require.NoError(t, err) + ec, is := p.store.(*expirationCache) + require.True(t, is) - fp, _ := p.(*contextProviderK8sSecrets) + if tc.k8sClientErr != nil { + require.Error(t, p.Run(context.Background(), ctesting.NewContextComm(context.Background()))) + return + } - ts := time.Now() + ec.Lock() + ec.items = tc.preCacheState + ec.Unlock() + + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + comm := ctesting.NewContextComm(ctx) + signal := make(chan struct{}, 10) + comm.CallOnSignal(func() { + select { + case <-comm.Done(): + case signal <- struct{}{}: + } + }) + + wg := sync.WaitGroup{} + wg.Add(1) + go func() { + defer wg.Done() + _ = p.Run(ctx, comm) + }() + + <-p.running + + if tc.secretToFetch != "" { + p.Fetch(tc.secretToFetch) + } - client := k8sfake.NewSimpleClientset() - secret := &v1.Secret{ - TypeMeta: metav1.TypeMeta{ - Kind: "Secret", - APIVersion: "apps/v1beta1", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: "secret_one", - Namespace: "default", - }, - Data: map[string][]byte{ - "secret_value": []byte(pass), - }, - } - _, err = client.CoreV1().Secrets("default").Create(context.Background(), secret, metav1.CreateOptions{}) - require.NoError(t, err) + receivedSignal := false + select { + case <-signal: + receivedSignal = true + case <-time.After(tc.waitForSignal): + } + cancel() + + wg.Wait() + + require.Equal(t, tc.expectedSignal, receivedSignal) - fp.client = client + list := p.store.List() + require.Equal(t, len(tc.postCacheState), len(list)) - var tests = []struct { - secretsCache map[string]*secretsData - expectedCache map[string]*secretsData - updatedCache bool - message string + cacheMap := make(map[string]secret) + for _, s := range list { + cacheMap[fmt.Sprintf("%s.%s.%s.%s", k8sSecretsProviderName, s.namespace, s.name, s.key)] = s + } + for k, v := range tc.postCacheState { + inCache, exists := cacheMap[k] + require.True(t, exists) + require.Equal(t, v.s.key, inCache.key) + require.Equal(t, v.s.name, inCache.name) + require.Equal(t, v.s.namespace, inCache.namespace) + require.Equal(t, v.s.key, inCache.key) + require.Equal(t, v.s.value, inCache.value) + require.Equal(t, v.s.apiExists, inCache.apiExists) + } + }) + } +} + +func Test_Config(t *testing.T) { + for _, tc := range []struct { + name string + inConfig map[string]interface{} + expectedConfig *Config + expectErr bool }{ { - secretsCache: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one", - lastAccess: ts, - }, - }, - expectedCache: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: pass, - lastAccess: ts, - }, + name: "default config", + inConfig: nil, + expectedConfig: defaultConfig(), + }, + { + name: "invalid config negative refresh interval", + inConfig: map[string]interface{}{ + "cache_refresh_interval": -1, }, - updatedCache: true, - message: "When last access is still within the limits, values should be updated.", + expectErr: true, }, { - secretsCache: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one", - lastAccess: ts.Add(-fp.config.TTLDelete - time.Minute), - }, + name: "invalid config zero refresh interval", + inConfig: map[string]interface{}{ + "cache_refresh_interval": 0, }, - expectedCache: map[string]*secretsData{}, - updatedCache: true, - message: "When last access is no longer within the limits, the data should be deleted.", + expectErr: true, }, { - secretsCache: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: pass, - lastAccess: ts, - }, + name: "invalid config negative cache_request_timeout", + inConfig: map[string]interface{}{ + "cache_request_timeout": -1, }, - expectedCache: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: pass, - lastAccess: ts, - }, + expectErr: true, + }, + { + name: "invalid config zero cache_request_timeout", + inConfig: map[string]interface{}{ + "cache_request_timeout": 0, }, - updatedCache: false, - message: "When the values did not change and last access is still within limits, no update happens.", + expectErr: true, }, - } + } { + t.Run(tc.name, func(t *testing.T) { + var cfg *config.Config + var err error + + if tc.inConfig != nil { + cfg, err = config.NewConfigFrom(tc.inConfig) + require.NoError(t, err) + } - for _, test := range tests { - fp.secretsCache = test.secretsCache - updated := fp.updateCache() - - require.Equalf(t, len(test.expectedCache), len(fp.secretsCache), "Resulting updated map does not have the expected length.") - for key, data1 := range test.expectedCache { - data2, ok := fp.secretsCache[key] - if ok { - require.Equalf(t, data1.value, data2.value, "Resulting updating map values do not equal the expected ones.") - require.Equalf(t, data1.lastAccess, data2.lastAccess, "Resulting updated map values do not equal the expected ones.") - } else { - t.Fatalf("Resulting updated map does not have expecting keys.") + log := logp.NewLogger("test_k8s_secrets") + provider, err := ContextProviderBuilder(log, cfg, true) + if tc.expectErr { + require.Error(t, err) + return } - } - require.Equalf(t, test.updatedCache, updated, test.message) + p, is := provider.(*contextProviderK8SSecrets) + require.True(t, is) + require.Equal(t, tc.expectedConfig, p.config) + }) } +} +type secretTestDataBuilder struct { + namespace string + name string + key string } -func Test_Signal(t *testing.T) { - // The signal should get triggered every time there is an update on the cache - logger := logp.NewLogger("test_k8s_secrets") +func (b secretTestDataBuilder) buildCacheEntry(value string, exists bool, apiFetchTime time.Time, lastAccess time.Time) *cacheEntry { + return buildCacheEntry(b.namespace, b.name, b.key, value, exists, apiFetchTime, lastAccess) +} - client := k8sfake.NewSimpleClientset() +func (b secretTestDataBuilder) buildK8SSecret(value string) *v1.Secret { + return buildK8SSecret(b.namespace, b.name, b.key, value) +} - secret := &v1.Secret{ +func (b secretTestDataBuilder) getFetchKey() string { + return fmt.Sprintf("%s.%s.%s.%s", k8sSecretsProviderName, b.namespace, b.name, b.key) +} + +func buildSecret(namespace string, name string, key string, value string, exists bool, apiFetchTime time.Time) secret { + return secret{ + name: name, + namespace: namespace, + key: key, + value: value, + apiExists: exists, + apiFetchTime: apiFetchTime, + } +} + +func buildCacheEntry(namespace string, name string, key string, value string, exists bool, apiFetchTime time.Time, lastAccess time.Time) *cacheEntry { + return &cacheEntry{ + s: buildSecret(namespace, name, key, value, exists, apiFetchTime), + lastAccess: lastAccess, + } +} + +func buildCacheEntryKey(e *cacheEntry) string { + return fmt.Sprintf("%s.%s.%s.%s", k8sSecretsProviderName, e.s.namespace, e.s.name, e.s.key) +} + +func buildK8SSecret(namespace string, name string, key string, value string) *v1.Secret { + return &v1.Secret{ TypeMeta: metav1.TypeMeta{ Kind: "Secret", APIVersion: "apps/v1beta1", }, ObjectMeta: metav1.ObjectMeta{ - Name: "secret_one", - Namespace: "default", + Name: name, + Namespace: namespace, }, Data: map[string][]byte{ - "secret_value": []byte(pass), + key: []byte(value), }, } - _, err := client.CoreV1().Secrets("default").Create(context.Background(), secret, metav1.CreateOptions{}) - require.NoError(t, err) - - refreshInterval, err := time.ParseDuration("100ms") - require.NoError(t, err) - - c := map[string]interface{}{ - "cache_refresh_interval": refreshInterval, - } - cfg, err := config.NewConfigFrom(c) - require.NoError(t, err) - - p, err := ContextProviderBuilder(logger, cfg, true) - require.NoError(t, err) - - fp, _ := p.(*contextProviderK8sSecrets) - fp.client = client - - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - comm := ctesting.NewContextComm(ctx) - - signalTriggered := new(bool) - *signalTriggered = false - var lock sync.RWMutex - - comm.CallOnSignal(func() { - lock.Lock() - *signalTriggered = true - lock.Unlock() - }) - - go fp.updateSecrets(ctx, comm) - - ts := time.Now() - - var tests = []struct { - secretsCache map[string]*secretsData - updated bool - message string - }{ - { - secretsCache: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: "value-one", - lastAccess: ts, - }, - }, - updated: true, - message: "Value of secret should be updated and signal should be triggered.", - }, - { - secretsCache: map[string]*secretsData{ - "kubernetes_secrets.default.secret_one.secret_value": { - value: pass, - lastAccess: ts, - }, - }, - updated: false, - message: "Value of secret should not be updated and signal should not be triggered.", - }, - } - - for _, test := range tests { - fp.secretsCacheMx.Lock() - fp.secretsCache = test.secretsCache - fp.secretsCacheMx.Unlock() - - // wait for cache to be updated - <-time.After(fp.config.RefreshInterval) +} - assert.Eventuallyf(t, func() bool { - lock.RLock() - defer lock.RUnlock() - return *signalTriggered == test.updated - }, fp.config.RefreshInterval*3, fp.config.RefreshInterval, test.message) +func buildCacheMap(entry ...*cacheEntry) map[string]*cacheEntry { + cache := make(map[string]*cacheEntry) - lock.Lock() - *signalTriggered = false - lock.Unlock() + for _, e := range entry { + cache[buildCacheEntryKey(e)] = e } + return cache } diff --git a/internal/pkg/composable/providers/kubernetessecrets/store_test.go b/internal/pkg/composable/providers/kubernetessecrets/store_test.go new file mode 100644 index 00000000000..7cfd4deb8eb --- /dev/null +++ b/internal/pkg/composable/providers/kubernetessecrets/store_test.go @@ -0,0 +1,223 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License 2.0; +// you may not use this file except in compliance with the Elastic License 2.0. + +// Code generated by mockery v2.51.1. DO NOT EDIT. + +package kubernetessecrets + +import mock "github.com/stretchr/testify/mock" + +// mockStore is an autogenerated mock type for the store type +type mockStore struct { + mock.Mock +} + +type mockStore_Expecter struct { + mock *mock.Mock +} + +func (_m *mockStore) EXPECT() *mockStore_Expecter { + return &mockStore_Expecter{mock: &_m.Mock} +} + +// AddConditionally provides a mock function with given fields: key, sd, updateAccess, cond +func (_m *mockStore) AddConditionally(key string, sd secret, updateAccess bool, cond conditionFn) { + _m.Called(key, sd, updateAccess, cond) +} + +// mockStore_AddConditionally_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AddConditionally' +type mockStore_AddConditionally_Call struct { + *mock.Call +} + +// AddConditionally is a helper method to define mock.On call +// - key string +// - sd secret +// - updateAccess bool +// - cond conditionFn +func (_e *mockStore_Expecter) AddConditionally(key interface{}, sd interface{}, updateAccess interface{}, cond interface{}) *mockStore_AddConditionally_Call { + return &mockStore_AddConditionally_Call{Call: _e.mock.On("AddConditionally", key, sd, updateAccess, cond)} +} + +func (_c *mockStore_AddConditionally_Call) Run(run func(key string, sd secret, updateAccess bool, cond conditionFn)) *mockStore_AddConditionally_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(string), args[1].(secret), args[2].(bool), args[3].(conditionFn)) + }) + return _c +} + +func (_c *mockStore_AddConditionally_Call) Return() *mockStore_AddConditionally_Call { + _c.Call.Return() + return _c +} + +func (_c *mockStore_AddConditionally_Call) RunAndReturn(run func(string, secret, bool, conditionFn)) *mockStore_AddConditionally_Call { + _c.Run(run) + return _c +} + +// Get provides a mock function with given fields: key, updateAccess +func (_m *mockStore) Get(key string, updateAccess bool) (secret, bool) { + ret := _m.Called(key, updateAccess) + + if len(ret) == 0 { + panic("no return value specified for Get") + } + + var r0 secret + var r1 bool + if rf, ok := ret.Get(0).(func(string, bool) (secret, bool)); ok { + return rf(key, updateAccess) + } + if rf, ok := ret.Get(0).(func(string, bool) secret); ok { + r0 = rf(key, updateAccess) + } else { + r0 = ret.Get(0).(secret) + } + + if rf, ok := ret.Get(1).(func(string, bool) bool); ok { + r1 = rf(key, updateAccess) + } else { + r1 = ret.Get(1).(bool) + } + + return r0, r1 +} + +// mockStore_Get_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Get' +type mockStore_Get_Call struct { + *mock.Call +} + +// Get is a helper method to define mock.On call +// - key string +// - updateAccess bool +func (_e *mockStore_Expecter) Get(key interface{}, updateAccess interface{}) *mockStore_Get_Call { + return &mockStore_Get_Call{Call: _e.mock.On("Get", key, updateAccess)} +} + +func (_c *mockStore_Get_Call) Run(run func(key string, updateAccess bool)) *mockStore_Get_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(string), args[1].(bool)) + }) + return _c +} + +func (_c *mockStore_Get_Call) Return(_a0 secret, _a1 bool) *mockStore_Get_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *mockStore_Get_Call) RunAndReturn(run func(string, bool) (secret, bool)) *mockStore_Get_Call { + _c.Call.Return(run) + return _c +} + +// List provides a mock function with no fields +func (_m *mockStore) List() []secret { + ret := _m.Called() + + if len(ret) == 0 { + panic("no return value specified for List") + } + + var r0 []secret + if rf, ok := ret.Get(0).(func() []secret); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]secret) + } + } + + return r0 +} + +// mockStore_List_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'List' +type mockStore_List_Call struct { + *mock.Call +} + +// List is a helper method to define mock.On call +func (_e *mockStore_Expecter) List() *mockStore_List_Call { + return &mockStore_List_Call{Call: _e.mock.On("List")} +} + +func (_c *mockStore_List_Call) Run(run func()) *mockStore_List_Call { + _c.Call.Run(func(args mock.Arguments) { + run() + }) + return _c +} + +func (_c *mockStore_List_Call) Return(_a0 []secret) *mockStore_List_Call { + _c.Call.Return(_a0) + return _c +} + +func (_c *mockStore_List_Call) RunAndReturn(run func() []secret) *mockStore_List_Call { + _c.Call.Return(run) + return _c +} + +// ListKeys provides a mock function with no fields +func (_m *mockStore) ListKeys() []string { + ret := _m.Called() + + if len(ret) == 0 { + panic("no return value specified for ListKeys") + } + + var r0 []string + if rf, ok := ret.Get(0).(func() []string); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]string) + } + } + + return r0 +} + +// mockStore_ListKeys_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListKeys' +type mockStore_ListKeys_Call struct { + *mock.Call +} + +// ListKeys is a helper method to define mock.On call +func (_e *mockStore_Expecter) ListKeys() *mockStore_ListKeys_Call { + return &mockStore_ListKeys_Call{Call: _e.mock.On("ListKeys")} +} + +func (_c *mockStore_ListKeys_Call) Run(run func()) *mockStore_ListKeys_Call { + _c.Call.Run(func(args mock.Arguments) { + run() + }) + return _c +} + +func (_c *mockStore_ListKeys_Call) Return(_a0 []string) *mockStore_ListKeys_Call { + _c.Call.Return(_a0) + return _c +} + +func (_c *mockStore_ListKeys_Call) RunAndReturn(run func() []string) *mockStore_ListKeys_Call { + _c.Call.Return(run) + return _c +} + +// newMockStore creates a new instance of mockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func newMockStore(t interface { + mock.TestingT + Cleanup(func()) +}) *mockStore { + mock := &mockStore{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} From 0be51a74837c089d2f8cf2816abf0cfd9b64f4bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 12:59:00 +0200 Subject: [PATCH 07/17] build(deps): bump github.com/elastic/elastic-agent-system-metrics from 0.11.7 to 0.11.8 (#6782) * build(deps): bump github.com/elastic/elastic-agent-system-metrics Bumps [github.com/elastic/elastic-agent-system-metrics](https://github.com/elastic/elastic-agent-system-metrics) from 0.11.7 to 0.11.8. - [Release notes](https://github.com/elastic/elastic-agent-system-metrics/releases) - [Commits](https://github.com/elastic/elastic-agent-system-metrics/compare/v0.11.7...v0.11.8) --- updated-dependencies: - dependency-name: github.com/elastic/elastic-agent-system-metrics dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Update NOTICE.txt --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] --- NOTICE.txt | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 54fef429cb7..2c6f3d86eda 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1530,11 +1530,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-l -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-system-metrics -Version: v0.11.7 +Version: v0.11.8 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.11.7/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.11.8/LICENSE.txt: Apache License Version 2.0, January 2004 diff --git a/go.mod b/go.mod index fef4d66fe62..aff9f85eb35 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/elastic/elastic-agent-autodiscover v0.9.0 github.com/elastic/elastic-agent-client/v7 v7.17.0 github.com/elastic/elastic-agent-libs v0.18.2 - github.com/elastic/elastic-agent-system-metrics v0.11.7 + github.com/elastic/elastic-agent-system-metrics v0.11.8 github.com/elastic/elastic-transport-go/v8 v8.6.0 github.com/elastic/go-elasticsearch/v8 v8.17.0 github.com/elastic/go-licenser v0.4.2 diff --git a/go.sum b/go.sum index 035d3de91b4..0a3ce780eb7 100644 --- a/go.sum +++ b/go.sum @@ -458,8 +458,8 @@ github.com/elastic/elastic-agent-client/v7 v7.17.0 h1:TPLrEHF4kJ3RkmQzZPffrniY4W github.com/elastic/elastic-agent-client/v7 v7.17.0/go.mod h1:6h+f9QdIr3GO2ODC0Y8+aEXRwzbA5W4eV4dd/67z7nI= github.com/elastic/elastic-agent-libs v0.18.2 h1:jQrGytcG67YEhK9JzUhM1Yb6j9Ied68iYrWK8mlIV5M= github.com/elastic/elastic-agent-libs v0.18.2/go.mod h1:rWdyrrAFzZwgNNi41Tsqhlt2c2GdXWhCEwcsnqISJ2U= -github.com/elastic/elastic-agent-system-metrics v0.11.7 h1:1xm2okCM0eQZ4jivZgUFSlt6HAn/nPgKB/Fj8eLG6mY= -github.com/elastic/elastic-agent-system-metrics v0.11.7/go.mod h1:nzkrGajQA29YNcfP62gfzhxX9an3/xdQ3RmfQNw9YTI= +github.com/elastic/elastic-agent-system-metrics v0.11.8 h1:O12rj3Gojqa9UX8gA6Dj1XDIGeZXgXOAvxQbvC+XLbA= +github.com/elastic/elastic-agent-system-metrics v0.11.8/go.mod h1:FgtshyeVEAxNqRoFkdL0MpCW0rHxQGFNEKjIsxfcrag= github.com/elastic/elastic-transport-go/v8 v8.6.0 h1:Y2S/FBjx1LlCv5m6pWAF2kDJAHoSjSRSJCApolgfthA= github.com/elastic/elastic-transport-go/v8 v8.6.0/go.mod h1:YLHer5cj0csTzNFXoNQ8qhtGY1GTvSqPnKWKaqQE3Hk= github.com/elastic/fsnotify v1.6.1-0.20240920222514-49f82bdbc9e3 h1:UyNbxdkQiSfyipwsOCWAlO+ju3xXC61Z4prx/HBTtFk= From 53489ca8273a9aafbeb1384d8ca8a4e39ac38979 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 13:00:35 +0200 Subject: [PATCH 08/17] build(deps): bump github.com/elastic/elastic-agent-client/v7 from 7.17.0 to 7.17.1 (#6779) * build(deps): bump github.com/elastic/elastic-agent-client/v7 Bumps [github.com/elastic/elastic-agent-client/v7](https://github.com/elastic/elastic-agent-client) from 7.17.0 to 7.17.1. - [Release notes](https://github.com/elastic/elastic-agent-client/releases) - [Commits](https://github.com/elastic/elastic-agent-client/compare/v7.17.0...v7.17.1) --- updated-dependencies: - dependency-name: github.com/elastic/elastic-agent-client/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Update NOTICE.txt --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] --- NOTICE.txt | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NOTICE.txt b/NOTICE.txt index 2c6f3d86eda..95344edc1ba 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1086,11 +1086,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-a -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-client/v7 -Version: v7.17.0 +Version: v7.17.1 Licence type (autodetected): Elastic -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-client/v7@v7.17.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-client/v7@v7.17.1/LICENSE.txt: ELASTIC LICENSE AGREEMENT diff --git a/go.mod b/go.mod index aff9f85eb35..5d911664096 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/dolmen-go/contextio v0.0.0-20200217195037-68fc5150bcd5 github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241212201805-58af1537830b github.com/elastic/elastic-agent-autodiscover v0.9.0 - github.com/elastic/elastic-agent-client/v7 v7.17.0 + github.com/elastic/elastic-agent-client/v7 v7.17.1 github.com/elastic/elastic-agent-libs v0.18.2 github.com/elastic/elastic-agent-system-metrics v0.11.8 github.com/elastic/elastic-transport-go/v8 v8.6.0 diff --git a/go.sum b/go.sum index 0a3ce780eb7..851760244b5 100644 --- a/go.sum +++ b/go.sum @@ -454,8 +454,8 @@ github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241212201805-58af1537830b h1:BMd6g github.com/elastic/beats/v7 v7.0.0-alpha2.0.20241212201805-58af1537830b/go.mod h1:JZIuztvKeiuHUM8zvfQ24wz6nJPPOM1DVqu9FHu9a0Q= github.com/elastic/elastic-agent-autodiscover v0.9.0 h1:+iWIKh0u3e8I+CJa3FfWe9h0JojNasPgYIA47gpuuns= github.com/elastic/elastic-agent-autodiscover v0.9.0/go.mod h1:5iUxLHhVdaGSWYTveSwfJEY4RqPXTG13LPiFoxcpFd4= -github.com/elastic/elastic-agent-client/v7 v7.17.0 h1:TPLrEHF4kJ3RkmQzZPffrniY4WeW4vriHZbOAzM1hFo= -github.com/elastic/elastic-agent-client/v7 v7.17.0/go.mod h1:6h+f9QdIr3GO2ODC0Y8+aEXRwzbA5W4eV4dd/67z7nI= +github.com/elastic/elastic-agent-client/v7 v7.17.1 h1:ORCDXzFs1JyhI5neWbTAPWCwaFi+BtKojSLiCpaAbf0= +github.com/elastic/elastic-agent-client/v7 v7.17.1/go.mod h1:jzDEz8agLzinQEbEgLOuVM3wl6SoMybHnarQBTN1wYM= github.com/elastic/elastic-agent-libs v0.18.2 h1:jQrGytcG67YEhK9JzUhM1Yb6j9Ied68iYrWK8mlIV5M= github.com/elastic/elastic-agent-libs v0.18.2/go.mod h1:rWdyrrAFzZwgNNi41Tsqhlt2c2GdXWhCEwcsnqISJ2U= github.com/elastic/elastic-agent-system-metrics v0.11.8 h1:O12rj3Gojqa9UX8gA6Dj1XDIGeZXgXOAvxQbvC+XLbA= From 8a878fc75ddc6530a42921d6c5cae1fee8740510 Mon Sep 17 00:00:00 2001 From: Blake Rouse Date: Tue, 11 Feb 2025 08:03:57 -0500 Subject: [PATCH 09/17] Add ability to enroll with defined ID and replace_token (#6498) Allows an Elastic Agent to enroll with a defined ID and replacement token to allow it to replace an existing Elastic Agent. The original Elastic Agent must have also been enrolled with the same --replace-token or it will not be allow to enroll if the --id collides with an existing Elastic Agent. --- ...dd-id-and-replace-token-to-enrollment.yaml | 36 ++++ .../coordinator/diagnostics_test.go | 6 +- internal/pkg/agent/cmd/container.go | 59 +++++- internal/pkg/agent/cmd/container_test.go | 173 +++++++++++++++++- internal/pkg/agent/cmd/enroll.go | 16 ++ internal/pkg/agent/cmd/enroll_cmd.go | 25 ++- internal/pkg/agent/cmd/setup_config.go | 4 + internal/pkg/agent/configuration/fleet.go | 1 + internal/pkg/fleetapi/enroll_cmd.go | 18 +- pkg/testing/fixture_install.go | 17 +- pkg/testing/tools/check/check.go | 27 ++- .../integration/enroll_replace_token_test.go | 127 +++++++++++++ 12 files changed, 486 insertions(+), 23 deletions(-) create mode 100644 changelog/fragments/1738784301-Add-id-and-replace-token-to-enrollment.yaml create mode 100644 testing/integration/enroll_replace_token_test.go diff --git a/changelog/fragments/1738784301-Add-id-and-replace-token-to-enrollment.yaml b/changelog/fragments/1738784301-Add-id-and-replace-token-to-enrollment.yaml new file mode 100644 index 00000000000..18be580d45a --- /dev/null +++ b/changelog/fragments/1738784301-Add-id-and-replace-token-to-enrollment.yaml @@ -0,0 +1,36 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: feature + +# Change summary; a 80ish characters long description of the change. +summary: Add --id and --replace-token to enrollment + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +description: | + Add support for --id and --replace-token to the install and enroll command. Add support for ELASTIC_AGENT_ID + and FLEET_REPLACE_TOKEN to the container support the same behavior as the enroll command. Allows the ability to + define a specific ID to use for the Elastic Agent when enrolling into Fleet. The replace-token defines the token + that must be used to re-enroll an Elastic Agent with the same ID as a replacement of the previous Elastic Agent. + +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: + +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +pr: https://github.com/elastic/elastic-agent/pull/6498 + +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +issue: https://github.com/elastic/elastic-agent/issues/6361 diff --git a/internal/pkg/agent/application/coordinator/diagnostics_test.go b/internal/pkg/agent/application/coordinator/diagnostics_test.go index 6448d2b526e..95adc0408e3 100644 --- a/internal/pkg/agent/application/coordinator/diagnostics_test.go +++ b/internal/pkg/agent/application/coordinator/diagnostics_test.go @@ -59,7 +59,8 @@ func TestDiagnosticLocalConfig(t *testing.T) { Fleet: &configuration.FleetAgentConfig{ Enabled: true, AccessAPIKey: "test-key", - EnrollmentTokenHash: "test-hash", + EnrollmentTokenHash: "test-enroll-hash", + ReplaceTokenHash: "test-replace-hash", Client: remote.Config{ Protocol: "test-protocol", }, @@ -120,7 +121,8 @@ agent: fleet: enabled: true access_api_key: "test-key" - enrollment_token_hash: "test-hash" + enrollment_token_hash: "test-enroll-hash" + replace_token_hash: "test-replace-hash" agent: protocol: "test-protocol" ` diff --git a/internal/pkg/agent/cmd/container.go b/internal/pkg/agent/cmd/container.go index 697709c90b6..67d2df99173 100644 --- a/internal/pkg/agent/cmd/container.go +++ b/internal/pkg/agent/cmd/container.go @@ -507,6 +507,12 @@ func buildEnrollArgs(cfg setupConfig, token string, policyID string) ([]string, if token != "" { args = append(args, "--enrollment-token", token) } + if cfg.Fleet.ID != "" { + args = append(args, "--id", cfg.Fleet.ID) + } + if cfg.Fleet.ReplaceToken != "" { + args = append(args, "--replace-token", cfg.Fleet.ReplaceToken) + } if cfg.Fleet.DaemonTimeout != 0 { args = append(args, "--daemon-timeout") args = append(args, cfg.Fleet.DaemonTimeout.String()) @@ -1031,7 +1037,9 @@ func shouldFleetEnroll(setupCfg setupConfig) (bool, error) { return true, nil } - ctx := context.Background() + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + store, err := newEncryptedDiskStore(ctx, agentCfgFilePath) if err != nil { return false, fmt.Errorf("failed to instantiate encrypted disk store: %w", err) @@ -1052,6 +1060,13 @@ func shouldFleetEnroll(setupCfg setupConfig) (bool, error) { return false, fmt.Errorf("failed to read from disk store: %w", err) } + // Check if enrolling with a specifically defined Elastic Agent ID. + // If the ID's don't match then it needs to enroll. + if setupCfg.Fleet.ID != "" && (storedConfig.Fleet.Info == nil || storedConfig.Fleet.Info.ID != setupCfg.Fleet.ID) { + // ID is a mismatch + return true, nil + } + storedFleetHosts := storedConfig.Fleet.Client.GetHosts() if len(storedFleetHosts) == 0 || !slices.Contains(storedFleetHosts, setupCfg.Fleet.URL) { // The Fleet URL in the setup does not exist in the stored configuration, so enrollment is required. @@ -1064,7 +1079,7 @@ func shouldFleetEnroll(setupCfg setupConfig) (bool, error) { if len(storedConfig.Fleet.EnrollmentTokenHash) > 0 && len(setupCfg.Fleet.EnrollmentToken) > 0 { enrollmentHashBytes, err := base64.StdEncoding.DecodeString(storedConfig.Fleet.EnrollmentTokenHash) if err != nil { - return false, fmt.Errorf("failed to decode hash: %w", err) + return false, fmt.Errorf("failed to decode enrollment token hash: %w", err) } err = crypto.ComparePBKDF2HashAndPassword(enrollmentHashBytes, []byte(setupCfg.Fleet.EnrollmentToken)) @@ -1073,7 +1088,26 @@ func shouldFleetEnroll(setupCfg setupConfig) (bool, error) { // The stored enrollment token hash does not match the new token, so enrollment is required. return true, nil case err != nil: - return false, fmt.Errorf("failed to compare hash: %w", err) + return false, fmt.Errorf("failed to compare enrollment token hash: %w", err) + } + } + + // Evaluate the stored replace token hash against the setup replace token if both are present. + // Note that when "upgrading" from an older agent version the replace token hash will not exist + // in the stored configuration. + if len(storedConfig.Fleet.ReplaceTokenHash) > 0 && len(setupCfg.Fleet.ReplaceToken) > 0 { + replaceHashBytes, err := base64.StdEncoding.DecodeString(storedConfig.Fleet.ReplaceTokenHash) + if err != nil { + return false, fmt.Errorf("failed to decode replace token hash: %w", err) + } + + err = crypto.ComparePBKDF2HashAndPassword(replaceHashBytes, []byte(setupCfg.Fleet.ReplaceToken)) + switch { + case errors.Is(err, crypto.ErrMismatchedHashAndPassword): + // The stored enrollment token hash does not match the new token, so enrollment is required. + return true, nil + case err != nil: + return false, fmt.Errorf("failed to compare replace token hash: %w", err) } } @@ -1100,16 +1134,33 @@ func shouldFleetEnroll(setupCfg setupConfig) (bool, error) { return false, fmt.Errorf("failed to validate api token: %w", err) } + saveConfig := false + // Update the stored enrollment token hash if there is no previous enrollment token hash // (can happen when "upgrading" from an older version of the agent) and setup enrollment token is present. if len(storedConfig.Fleet.EnrollmentTokenHash) == 0 && len(setupCfg.Fleet.EnrollmentToken) > 0 { enrollmentHashBytes, err := crypto.GeneratePBKDF2FromPassword([]byte(setupCfg.Fleet.EnrollmentToken)) if err != nil { - return false, errors.New("failed to generate enrollment hash") + return false, errors.New("failed to generate enrollment token hash") } enrollmentTokenHash := base64.StdEncoding.EncodeToString(enrollmentHashBytes) storedConfig.Fleet.EnrollmentTokenHash = enrollmentTokenHash + saveConfig = true + } + + // Update the stored replace token hash if there is no previous replace token hash + // (can happen when "upgrading" from an older version of the agent) and setup replace token is present. + if len(storedConfig.Fleet.ReplaceTokenHash) == 0 && len(setupCfg.Fleet.ReplaceToken) > 0 { + replaceHashBytes, err := crypto.GeneratePBKDF2FromPassword([]byte(setupCfg.Fleet.ReplaceToken)) + if err != nil { + return false, errors.New("failed to generate replace token hash") + } + replaceTokenHash := base64.StdEncoding.EncodeToString(replaceHashBytes) + storedConfig.Fleet.ReplaceTokenHash = replaceTokenHash + saveConfig = true + } + if saveConfig { data, err := yaml.Marshal(storedConfig) if err != nil { return false, errors.New("could not marshal config") diff --git a/internal/pkg/agent/cmd/container_test.go b/internal/pkg/agent/cmd/container_test.go index 7a8ebb6a504..fd60a8fcc8f 100644 --- a/internal/pkg/agent/cmd/container_test.go +++ b/internal/pkg/agent/cmd/container_test.go @@ -259,12 +259,19 @@ func TestKibanaFetchToken(t *testing.T) { } func TestShouldEnroll(t *testing.T) { - enrollmentToken := "test-token" + // enroll token + enrollmentToken := "test-enroll-token" enrollmentTokenHash, err := crypto.GeneratePBKDF2FromPassword([]byte(enrollmentToken)) require.NoError(t, err) enrollmentTokenHashBase64 := base64.StdEncoding.EncodeToString(enrollmentTokenHash) + enrollmentTokenOther := "test-enroll-token-other" - enrollmentTokenOther := "test-token-other" + // replace token + replaceToken := "test-replace-token" + replaceTokenHash, err := crypto.GeneratePBKDF2FromPassword([]byte(replaceToken)) + require.NoError(t, err) + replaceTokenHashBase64 := base64.StdEncoding.EncodeToString(replaceTokenHash) + replaceTokenOther := "test-replace-token-other" fleetNetworkErr := errors.New("fleet network error") for name, tc := range map[string]struct { @@ -289,6 +296,41 @@ func TestShouldEnroll(t *testing.T) { cfg: setupConfig{Fleet: fleetConfig{Enroll: true, Force: true}}, expectedShouldEnroll: true, }, + "should enroll on agent id but no existing id": { + statFn: func(path string) (os.FileInfo, error) { return nil, nil }, + cfg: setupConfig{Fleet: fleetConfig{Enroll: true, URL: "host1", ID: "diff-agent-id"}}, + encryptedDiskStoreFn: func(t *testing.T, savedConfig *configuration.Configuration) storage.Storage { + m := mockStorage.NewStorage(t) + m.On("Load").Return(io.NopCloser(strings.NewReader(`fleet: + enabled: true + access_api_key: "test-key" + enrollment_token_hash: "test-hash" + hosts: + - host1 + agent: + protocol: "https"`)), nil).Once() + return m + }, + expectedShouldEnroll: true, + }, + "should enroll on agent id but diff agent id": { + statFn: func(path string) (os.FileInfo, error) { return nil, nil }, + cfg: setupConfig{Fleet: fleetConfig{Enroll: true, URL: "host1", ID: "diff-agent-id"}}, + encryptedDiskStoreFn: func(t *testing.T, savedConfig *configuration.Configuration) storage.Storage { + m := mockStorage.NewStorage(t) + m.On("Load").Return(io.NopCloser(strings.NewReader(`fleet: + enabled: true + access_api_key: "test-key" + enrollment_token_hash: "test-hash" + hosts: + - host1 + agent: + id: "agent-id" + protocol: "https"`)), nil).Once() + return m + }, + expectedShouldEnroll: true, + }, "should enroll on fleet url change": { statFn: func(path string) (os.FileInfo, error) { return nil, nil }, cfg: setupConfig{Fleet: fleetConfig{Enroll: true, URL: "host1"}}, @@ -321,6 +363,26 @@ func TestShouldEnroll(t *testing.T) { - host2 - host3 agent: + protocol: "https"`)), nil).Once() + return m + }, + expectedShouldEnroll: true, + }, + "should enroll on replace token change": { + statFn: func(path string) (os.FileInfo, error) { return nil, nil }, + cfg: setupConfig{Fleet: fleetConfig{Enroll: true, URL: "host1", EnrollmentToken: enrollmentToken, ReplaceToken: replaceTokenOther}}, + encryptedDiskStoreFn: func(t *testing.T, savedConfig *configuration.Configuration) storage.Storage { + m := mockStorage.NewStorage(t) + m.On("Load").Return(io.NopCloser(strings.NewReader(`fleet: + enabled: true + access_api_key: "test-key" + enrollment_token_hash: "`+enrollmentTokenHashBase64+`" + replace_token_hash: "`+replaceTokenHashBase64+`" + hosts: + - host1 + - host2 + - host3 + agent: protocol: "https"`)), nil).Once() return m }, @@ -373,6 +435,44 @@ func TestShouldEnroll(t *testing.T) { - host2 - host3 agent: + protocol: "https"`)), nil).Once() + return m + }, + fleetClientFn: func(t *testing.T) client.Sender { + tries := 0 + m := mockFleetClient.NewSender(t) + call := m.On("Send", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything) + call.Run(func(args mock.Arguments) { + if tries <= 1 { + call.Return(nil, fleetNetworkErr) + } else { + call.Return(&http.Response{ + StatusCode: http.StatusOK, + Body: io.NopCloser(strings.NewReader(`{"action": "acks", "items":[]}`)), + }, nil) + } + tries++ + }).Times(3) + return m + }, + expectedShouldEnroll: false, + }, + "should not enroll on no changes with agent ID and replace token": { + statFn: func(path string) (os.FileInfo, error) { return nil, nil }, + cfg: setupConfig{Fleet: fleetConfig{Enroll: true, URL: "host1", ID: "custom-id", EnrollmentToken: enrollmentToken, ReplaceToken: replaceToken}}, + encryptedDiskStoreFn: func(t *testing.T, savedConfig *configuration.Configuration) storage.Storage { + m := mockStorage.NewStorage(t) + m.On("Load").Return(io.NopCloser(strings.NewReader(`fleet: + enabled: true + access_api_key: "test-key" + enrollment_token_hash: "`+enrollmentTokenHashBase64+`" + replace_token_hash: "`+replaceTokenHashBase64+`" + hosts: + - host1 + - host2 + - host3 + agent: + id: "custom-id" protocol: "https"`)), nil).Once() return m }, @@ -433,6 +533,33 @@ func TestShouldEnroll(t *testing.T) { - host2 - host3 agent: + protocol: "https"`)), nil).Once() + return m + }, + fleetClientFn: func(t *testing.T) client.Sender { + m := mockFleetClient.NewSender(t) + m.On("Send", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything). + Return(&http.Response{ + StatusCode: http.StatusOK, + Body: io.NopCloser(strings.NewReader(`{"action": "acks", "items":[]}`)), + }, nil).Once() + return m + }, + expectedShouldEnroll: false, + }, + "should not update the replace token hash if it does not exist in setup configuration": { + statFn: func(path string) (os.FileInfo, error) { return nil, nil }, + cfg: setupConfig{Fleet: fleetConfig{Enroll: true, URL: "host1", EnrollmentToken: "", ReplaceToken: ""}}, + encryptedDiskStoreFn: func(t *testing.T, savedConfig *configuration.Configuration) storage.Storage { + m := mockStorage.NewStorage(t) + m.On("Load").Return(io.NopCloser(strings.NewReader(`fleet: + enabled: true + access_api_key: "test-key" + hosts: + - host1 + - host2 + - host3 + agent: protocol: "https"`)), nil).Once() return m }, @@ -486,6 +613,48 @@ func TestShouldEnroll(t *testing.T) { }, expectedShouldEnroll: false, }, + "should not enroll on no changes and update the stored enrollment and replace token hash": { + statFn: func(path string) (os.FileInfo, error) { return nil, nil }, + cfg: setupConfig{Fleet: fleetConfig{Enroll: true, URL: "host1", EnrollmentToken: enrollmentToken, ReplaceToken: replaceToken}}, + encryptedDiskStoreFn: func(t *testing.T, savedConfig *configuration.Configuration) storage.Storage { + m := mockStorage.NewStorage(t) + m.On("Load").Return(io.NopCloser(strings.NewReader(`fleet: + enabled: true + access_api_key: "test-key" + hosts: + - host1 + - host2 + - host3 + agent: + protocol: "https"`)), nil).Once() + m.On("Save", mock.Anything).Run(func(args mock.Arguments) { + reader := args.Get(0).(io.Reader) + data, _ := io.ReadAll(reader) + _ = yaml.Unmarshal(data, savedConfig) + }).Return(nil).Times(0) + return m + }, + fleetClientFn: func(t *testing.T) client.Sender { + m := mockFleetClient.NewSender(t) + m.On("Send", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything). + Return(&http.Response{ + StatusCode: http.StatusOK, + Body: io.NopCloser(strings.NewReader(`{"action": "acks", "items":[]}`)), + }, nil).Once() + return m + }, + expectedSavedConfig: func(t *testing.T, savedConfig *configuration.Configuration) { + require.NotNil(t, savedConfig) + require.NotNil(t, savedConfig.Fleet) + enrollmentTokenHash, err := base64.StdEncoding.DecodeString(savedConfig.Fleet.EnrollmentTokenHash) + require.NoError(t, err) + require.NoError(t, crypto.ComparePBKDF2HashAndPassword(enrollmentTokenHash, []byte(enrollmentToken))) + replaceTokenHash, err := base64.StdEncoding.DecodeString(savedConfig.Fleet.ReplaceTokenHash) + require.NoError(t, err) + require.NoError(t, crypto.ComparePBKDF2HashAndPassword(replaceTokenHash, []byte(replaceToken))) + }, + expectedShouldEnroll: false, + }, } { t.Run(name, func(t *testing.T) { savedConfig := &configuration.Configuration{} diff --git a/internal/pkg/agent/cmd/enroll.go b/internal/pkg/agent/cmd/enroll.go index 534f89503f6..f7e7af52046 100644 --- a/internal/pkg/agent/cmd/enroll.go +++ b/internal/pkg/agent/cmd/enroll.go @@ -64,6 +64,8 @@ func newEnrollCommandWithArgs(_ []string, streams *cli.IOStreams) *cobra.Command func addEnrollFlags(cmd *cobra.Command) { cmd.Flags().StringP("url", "", "", "URL to enroll Agent into Fleet") cmd.Flags().StringP("enrollment-token", "t", "", "Enrollment token to use to enroll Agent into Fleet") + cmd.Flags().StringP("id", "", "", "Agent ID to use for enrollment into Fleet") + cmd.Flags().StringP("replace-token", "", "", "Replace token that that allows the Agent to be replace with the provided --id as long as this token matches") cmd.Flags().StringP("fleet-server-es", "", "", "Start and run a Fleet Server alongside this Elastic Agent connecting to the provided Elasticsearch") cmd.Flags().StringP("fleet-server-es-ca", "", "", "Path to certificate authority for Fleet Server to use to communicate with Elasticsearch") cmd.Flags().StringP("fleet-server-es-ca-trusted-fingerprint", "", "", "Elasticsearch certificate authority's SHA256 fingerprint for Fleet Server to use") @@ -172,6 +174,8 @@ func buildEnrollmentFlags(cmd *cobra.Command, url string, token string) []string if token == "" { token, _ = cmd.Flags().GetString("enrollment-token") } + id, _ := cmd.Flags().GetString("id") + replaceToken, _ := cmd.Flags().GetString("replace-token") fServer, _ := cmd.Flags().GetString("fleet-server-es") fElasticSearchCA, _ := cmd.Flags().GetString("fleet-server-es-ca") fElasticSearchCASHA256, _ := cmd.Flags().GetString("fleet-server-es-ca-trusted-fingerprint") @@ -213,6 +217,14 @@ func buildEnrollmentFlags(cmd *cobra.Command, url string, token string) []string args = append(args, "--enrollment-token") args = append(args, token) } + if id != "" { + args = append(args, "--id") + args = append(args, id) + } + if replaceToken != "" { + args = append(args, "--replace-token") + args = append(args, replaceToken) + } if fServer != "" { args = append(args, "--fleet-server-es") args = append(args, fServer) @@ -424,6 +436,8 @@ func enroll(streams *cli.IOStreams, cmd *cobra.Command) error { insecure, _ := cmd.Flags().GetBool("insecure") url, _ := cmd.Flags().GetString("url") enrollmentToken, _ := cmd.Flags().GetString("enrollment-token") + id, _ := cmd.Flags().GetString("id") + replaceToken, _ := cmd.Flags().GetString("replace-token") fServer, _ := cmd.Flags().GetString("fleet-server-es") fElasticSearchCA, _ := cmd.Flags().GetString("fleet-server-es-ca") fElasticSearchCASHA256, _ := cmd.Flags().GetString("fleet-server-es-ca-trusted-fingerprint") @@ -480,6 +494,8 @@ func enroll(streams *cli.IOStreams, cmd *cobra.Command) error { options := enrollCmdOption{ EnrollAPIKey: enrollmentToken, + ID: id, + ReplaceToken: replaceToken, URL: url, CAs: CAs, CASha256: caSHA256, diff --git a/internal/pkg/agent/cmd/enroll_cmd.go b/internal/pkg/agent/cmd/enroll_cmd.go index 51d87e0e0bf..19426c06d6b 100644 --- a/internal/pkg/agent/cmd/enroll_cmd.go +++ b/internal/pkg/agent/cmd/enroll_cmd.go @@ -115,6 +115,8 @@ type enrollCmdOption struct { Key string `yaml:"key,omitempty"` KeyPassphrasePath string `yaml:"key_passphrase_path,omitempty"` Insecure bool `yaml:"insecure,omitempty"` + ID string `yaml:"id,omitempty"` + ReplaceToken string `yaml:"replace_token,omitempty"` EnrollAPIKey string `yaml:"enrollment_key,omitempty"` Staging string `yaml:"staging,omitempty"` ProxyURL string `yaml:"proxy_url,omitempty"` @@ -574,6 +576,8 @@ func (c *enrollCmd) enroll(ctx context.Context, persistentConfig map[string]inte r := &fleetapi.EnrollRequest{ EnrollAPIKey: c.options.EnrollAPIKey, Type: fleetapi.PermanentEnroll, + ID: c.options.ID, + ReplaceToken: c.options.ReplaceToken, Metadata: fleetapi.Metadata{ Local: metadata, UserProvided: c.options.UserProvidedMetadata, @@ -588,7 +592,7 @@ func (c *enrollCmd) enroll(ctx context.Context, persistentConfig map[string]inte errors.TypeNetwork) } - fleetConfig, err := createFleetConfigFromEnroll(resp.Item.AccessAPIKey, c.options.EnrollAPIKey, c.remoteConfig) + fleetConfig, err := createFleetConfigFromEnroll(resp.Item.AccessAPIKey, c.options.EnrollAPIKey, c.options.ReplaceToken, c.remoteConfig) if err != nil { return err } @@ -1023,17 +1027,28 @@ func createFleetServerBootstrapConfig( return cfg, nil } -func createFleetConfigFromEnroll(accessAPIKey string, enrollmentToken string, cli remote.Config) (*configuration.FleetAgentConfig, error) { +func fleetHashToken(token string) (string, error) { + enrollmentHashBytes, err := crypto.GeneratePBKDF2FromPassword([]byte(token)) + if err != nil { + return "", err + } + return base64.StdEncoding.EncodeToString(enrollmentHashBytes), nil +} + +func createFleetConfigFromEnroll(accessAPIKey string, enrollmentToken string, replaceToken string, cli remote.Config) (*configuration.FleetAgentConfig, error) { + var err error cfg := configuration.DefaultFleetAgentConfig() cfg.Enabled = true cfg.AccessAPIKey = accessAPIKey cfg.Client = cli - enrollmentHashBytes, err := crypto.GeneratePBKDF2FromPassword([]byte(enrollmentToken)) + cfg.EnrollmentTokenHash, err = fleetHashToken(enrollmentToken) if err != nil { return nil, errors.New(err, "failed to generate enrollment hash", errors.TypeConfig) } - enrollmentTokenHash := base64.StdEncoding.EncodeToString(enrollmentHashBytes) - cfg.EnrollmentTokenHash = enrollmentTokenHash + cfg.ReplaceTokenHash, err = fleetHashToken(replaceToken) + if err != nil { + return nil, errors.New(err, "failed to generate replace token hash", errors.TypeConfig) + } if err := cfg.Valid(); err != nil { return nil, errors.New(err, "invalid enrollment options", errors.TypeConfig) } diff --git a/internal/pkg/agent/cmd/setup_config.go b/internal/pkg/agent/cmd/setup_config.go index 2fd3afad651..ae02ca9a6ca 100644 --- a/internal/pkg/agent/cmd/setup_config.go +++ b/internal/pkg/agent/cmd/setup_config.go @@ -18,6 +18,8 @@ type fleetConfig struct { CA string `config:"ca"` Enroll bool `config:"enroll"` EnrollmentToken string `config:"enrollment_token"` + ID string `config:"id"` + ReplaceToken string `config:"replace_token"` Force bool `config:"force"` Insecure bool `config:"insecure"` TokenName string `config:"token_name"` @@ -86,6 +88,8 @@ func defaultAccessConfig() (setupConfig, error) { CA: envWithDefault("", "FLEET_CA", "KIBANA_CA", "ELASTICSEARCH_CA"), Enroll: envBool("FLEET_ENROLL", "FLEET_SERVER_ENABLE"), EnrollmentToken: envWithDefault("", "FLEET_ENROLLMENT_TOKEN"), + ID: envWithDefault("", "ELASTIC_AGENT_ID"), + ReplaceToken: envWithDefault("", "FLEET_REPLACE_TOKEN"), Force: envBool("FLEET_FORCE"), Insecure: envBool("FLEET_INSECURE"), TokenName: envWithDefault("Default", "FLEET_TOKEN_NAME"), diff --git a/internal/pkg/agent/configuration/fleet.go b/internal/pkg/agent/configuration/fleet.go index 0020018c20c..8a5692e2916 100644 --- a/internal/pkg/agent/configuration/fleet.go +++ b/internal/pkg/agent/configuration/fleet.go @@ -14,6 +14,7 @@ import ( type FleetAgentConfig struct { Enabled bool `config:"enabled" yaml:"enabled"` AccessAPIKey string `config:"access_api_key" yaml:"access_api_key"` + ReplaceTokenHash string `config:"replace_token_hash" yaml:"replace_token_hash"` EnrollmentTokenHash string `config:"enrollment_token_hash" yaml:"enrollment_token_hash"` Client remote.Config `config:",inline" yaml:",inline"` Info *AgentInfo `config:"agent" yaml:"agent"` diff --git a/internal/pkg/fleetapi/enroll_cmd.go b/internal/pkg/fleetapi/enroll_cmd.go index 49ef33208fe..5aeee727564 100644 --- a/internal/pkg/fleetapi/enroll_cmd.go +++ b/internal/pkg/fleetapi/enroll_cmd.go @@ -88,16 +88,20 @@ func (p EnrollType) MarshalJSON() ([]byte, error) { // Example: // POST /api/fleet/agents/enroll // -// { -// "type": "PERMANENT", -// "metadata": { -// "local": { "os": "macos"}, -// "user_provided": { "region": "us-east"} -// } -// } +// { +// "type": "PERMANENT", +// "id": "custom-id", // optional +// "replace_token": "replacetokenvalue", // optional +// "metadata": { +// "local": { "os": "macos"}, +// "user_provided": { "region": "us-east"} +// } +// } type EnrollRequest struct { EnrollAPIKey string `json:"-"` Type EnrollType `json:"type"` + ID string `json:"id"` + ReplaceToken string `json:"replace_token"` Metadata Metadata `json:"metadata"` } diff --git a/pkg/testing/fixture_install.go b/pkg/testing/fixture_install.go index dd15b4bd204..7988d310815 100644 --- a/pkg/testing/fixture_install.go +++ b/pkg/testing/fixture_install.go @@ -40,8 +40,10 @@ type CmdOpts interface { // EnrollOpts specifies the options for the enroll command type EnrollOpts struct { + ID string // --id URL string // --url EnrollmentToken string // --enrollment-token + ReplaceToken string // --replace-token // SSL/TLS options CertificateAuthorities []string // --certificate-authorities @@ -52,12 +54,18 @@ type EnrollOpts struct { func (e EnrollOpts) toCmdArgs() []string { var args []string + if e.ID != "" { + args = append(args, "--id", e.ID) + } if e.URL != "" { args = append(args, "--url", e.URL) } if e.EnrollmentToken != "" { args = append(args, "--enrollment-token", e.EnrollmentToken) } + if e.ReplaceToken != "" { + args = append(args, "--replace-token", e.ReplaceToken) + } if len(e.CertificateAuthorities) > 0 { args = append(args, "--certificate-authorities="+strings.Join(e.CertificateAuthorities, ",")) @@ -601,8 +609,9 @@ func (f *Fixture) installRpm(ctx context.Context, installOpts *InstallOpts, shou } type UninstallOpts struct { - Force bool // --force - UninstallToken string + Force bool // --force + UninstallToken string // --uninstall-token + SkipFleetAudit bool // --skip-fleet-audit } func (i UninstallOpts) toCmdArgs() []string { @@ -615,6 +624,10 @@ func (i UninstallOpts) toCmdArgs() []string { args = append(args, "--uninstall-token", i.UninstallToken) } + if i.SkipFleetAudit { + args = append(args, "--skip-fleet-audit") + } + return args } diff --git a/pkg/testing/tools/check/check.go b/pkg/testing/tools/check/check.go index 2ae6b98e7b7..00f2ee92957 100644 --- a/pkg/testing/tools/check/check.go +++ b/pkg/testing/tools/check/check.go @@ -32,7 +32,7 @@ func ConnectedToFleet(ctx context.Context, t *testing.T, fixture *integrationtes connected := assert.Eventually(t, assertFn, timeout, 5*time.Second, "want fleet state %s, got %s. agent status: %v", - cproto.State_HEALTHY, cproto.State(agentStatus.FleetState), agentStatus) + cproto.State_HEALTHY, cproto.State(agentStatus.FleetState), agentStatus) //nolint:gosec // G115 always under 32-bit if !connected && err != nil { t.Logf("agent isn't connected to fleet-server: last error from agent status command: %v", @@ -65,3 +65,28 @@ func FleetAgentStatus(ctx context.Context, return false } } + +// FleetAgentStatusByAgentID returns a niladic function that returns true if the agent with given ID +// has reached expectedStatus; false otherwise. The returned function is intended +// for use with assert.Eventually or require.Eventually. +func FleetAgentStatusByAgentID(ctx context.Context, + t *testing.T, + client *kibana.Client, + agentID, + expectedStatus string) func() bool { + return func() bool { + req := kibana.GetAgentRequest{ + ID: agentID, + } + resp, err := client.GetAgent(ctx, req) + if err != nil { + t.Logf("failed to get agent by ID: %s", err) + return false + } + if resp.Status == expectedStatus { + return true + } + t.Logf("Agent fleet status: %s", resp.Status) + return false + } +} diff --git a/testing/integration/enroll_replace_token_test.go b/testing/integration/enroll_replace_token_test.go new file mode 100644 index 00000000000..083b4d75945 --- /dev/null +++ b/testing/integration/enroll_replace_token_test.go @@ -0,0 +1,127 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License 2.0; +// you may not use this file except in compliance with the Elastic License 2.0. + +//go:build integration + +package integration + +import ( + "context" + "testing" + "time" + + "github.com/gofrs/uuid/v5" + "github.com/stretchr/testify/require" + + "github.com/elastic/elastic-agent-libs/kibana" + atesting "github.com/elastic/elastic-agent/pkg/testing" + "github.com/elastic/elastic-agent/pkg/testing/define" + "github.com/elastic/elastic-agent/pkg/testing/tools" + "github.com/elastic/elastic-agent/pkg/testing/tools/check" + "github.com/elastic/elastic-agent/pkg/testing/tools/fleettools" +) + +func TestEnrollReplaceToken(t *testing.T) { + info := define.Require(t, define.Requirements{ + Group: Default, + Stack: &define.Stack{}, + Sudo: true, + }) + + ctx := context.Background() + fixture, err := define.NewFixtureFromLocalBuild(t, define.Version()) + require.NoError(t, err) + + fleetServerURL, err := fleettools.DefaultURL(ctx, info.KibanaClient) + require.NoError(t, err) + + randId := uuid.Must(uuid.NewV4()).String() + policyReq := kibana.AgentPolicy{ + Name: "test-policy-" + randId, + Namespace: "default", + Description: "Test policy " + randId, + MonitoringEnabled: []kibana.MonitoringEnabledOption{ + kibana.MonitoringEnabledLogs, + kibana.MonitoringEnabledMetrics, + }, + } + policy, err := info.KibanaClient.CreatePolicy(ctx, policyReq) + require.NoError(t, err) + + enrollmentApiKey, err := tools.CreateEnrollmentToken(t, ctx, info.KibanaClient, policy.ID) + require.NoError(t, err) + + // use a defined ID and replace token + agentID := uuid.Must(uuid.NewV4()).String() + replaceToken := uuid.Must(uuid.NewV4()).String() + installOpts := atesting.InstallOpts{ + NonInteractive: true, + Force: true, + Privileged: false, + EnrollOpts: atesting.EnrollOpts{ + ID: agentID, + URL: fleetServerURL, + EnrollmentToken: enrollmentApiKey.APIKey, + ReplaceToken: replaceToken, + }, + } + + output, err := fixture.Install(ctx, &installOpts) + if err != nil { + t.Log(string(output)) + t.Fatalf("failed installing the agent: %s", err) + } + + t.Logf(">>> Enroll succeeded. Output: %s", output) + + // Wait for Agent to be healthy + require.Eventually( + t, + check.FleetAgentStatusByAgentID(ctx, t, info.KibanaClient, agentID, "online"), + 10*time.Minute, + 10*time.Second, + "Elastic Agent status is not online", + ) + + // Force uninstall the Agent (skipping information Fleet) + output, err = fixture.Uninstall(ctx, &atesting.UninstallOpts{ + Force: true, + SkipFleetAudit: true, + }) + if err != nil { + t.Log(string(output)) + t.Fatalf("failed uninstalling the agent: %s", err) + } + + // Wait for Agent to be offline + require.Eventually( + t, + check.FleetAgentStatusByAgentID(ctx, t, info.KibanaClient, agentID, "offline"), + 10*time.Minute, + 10*time.Second, + "Elastic Agent status didn't go offline", + ) + + // Using a clean fixture to ensure that no previous state is used + // re-enroll again and ensure that it all works again. + fixture, err = define.NewFixtureFromLocalBuild(t, define.Version()) + require.NoError(t, err) + + output, err = fixture.Install(ctx, &installOpts) + if err != nil { + t.Log(string(output)) + t.Fatalf("failed installing the agent again: %s", err) + } + + t.Logf(">>> Enroll succeeded again. Output: %s", output) + + // Wait for Agent to be healthy + require.Eventually( + t, + check.FleetAgentStatusByAgentID(ctx, t, info.KibanaClient, agentID, "online"), + 10*time.Minute, + 10*time.Second, + "Elastic Agent status is not online again", + ) +} From 45b0cf41f443d7bd6307361c49f189c7a3412f3b Mon Sep 17 00:00:00 2001 From: Panos Koutsovasilis Date: Tue, 11 Feb 2025 16:37:03 +0200 Subject: [PATCH 10/17] [k8s] Fix System Integration to utilise hostfs mounts (#6666) * [helm]: fix system integration to utilise hostfs mount * [kustomize]: fix system integration to utilise hostfs mount --------- Co-authored-by: Julien Lind --- .../system-custom-auth-paths/rendered/manifest.yaml | 10 +++++++++- .../templates/integrations/_system/_system_metrics.tpl | 8 ++++++++ .../elastic-agent-standalone-daemonset-configmap.yaml | 9 ++++++++- ...astic-agent-standalone-ksm-daemonset-configmap.yaml | 9 ++++++++- ...astic-agent-standalone-ksm-daemonset-configmap.yaml | 9 ++++++++- .../elastic-agent-standalone-daemonset-configmap.yaml | 9 ++++++++- .../elastic-agent-standalone-kubernetes.yaml | 9 ++++++++- .../elastic-agent-standalone-daemonset-configmap.yaml | 9 ++++++++- ...astic-agent-standalone-ksm-daemonset-configmap.yaml | 9 ++++++++- 9 files changed, 73 insertions(+), 8 deletions(-) diff --git a/deploy/helm/elastic-agent/examples/system-custom-auth-paths/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/system-custom-auth-paths/rendered/manifest.yaml index 411c333b3b9..984cb09e3d9 100644 --- a/deploy/helm/elastic-agent/examples/system-custom-auth-paths/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/system-custom-auth-paths/rendered/manifest.yaml @@ -90,6 +90,7 @@ stringData: metricsets: - cpu period: 10s + system.hostfs: /hostfs - data_stream: dataset: system.diskio type: metrics @@ -97,6 +98,7 @@ stringData: metricsets: - diskio period: 10s + system.hostfs: /hostfs - data_stream: dataset: system.filesystem type: metrics @@ -106,6 +108,7 @@ stringData: processors: - drop_event.when.regexp: system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) + system.hostfs: /hostfs - data_stream: dataset: system.fsstat type: metrics @@ -115,6 +118,7 @@ stringData: processors: - drop_event.when.regexp: system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) + system.hostfs: /hostfs - condition: ${host.platform} != 'windows' data_stream: dataset: system.load @@ -128,6 +132,7 @@ stringData: metricsets: - memory period: 10s + system.hostfs: /hostfs - data_stream: dataset: system.network type: metrics @@ -148,18 +153,21 @@ stringData: process.include_top_n.by_memory: 5 processes: - .* + system.hostfs: /hostfs - data_stream: dataset: system.process_summary type: metrics metricsets: - process_summary period: 10s + system.hostfs: /hostfs - data_stream: dataset: system.socket_summary type: metrics metricsets: - socket_summary period: 10s + system.hostfs: /hostfs - data_stream: dataset: system.uptime type: metrics @@ -295,7 +303,7 @@ spec: labels: name: agent-pernode-example annotations: - checksum/config: 535875b1a8f244fc529158f3467dec1983ca2ef19d365518da249fd46e22d0ef + checksum/config: dc3e48e999091f8db08e8ce2c2de127239731b26d598b6399ad93ef3636a3245 spec: automountServiceAccountToken: true containers: diff --git a/deploy/helm/elastic-agent/templates/integrations/_system/_system_metrics.tpl b/deploy/helm/elastic-agent/templates/integrations/_system/_system_metrics.tpl index 9a2c30f1d09..5aaf7becc6b 100644 --- a/deploy/helm/elastic-agent/templates/integrations/_system/_system_metrics.tpl +++ b/deploy/helm/elastic-agent/templates/integrations/_system/_system_metrics.tpl @@ -22,6 +22,7 @@ - normalized_percentages metricsets: - cpu + system.hostfs: '/hostfs' - data_stream: dataset: system.diskio type: metrics @@ -29,12 +30,14 @@ diskio.include_devices: null metricsets: - diskio + system.hostfs: '/hostfs' - data_stream: dataset: system.filesystem type: metrics period: 1m metricsets: - filesystem + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -44,6 +47,7 @@ period: 1m metricsets: - fsstat + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -60,6 +64,7 @@ period: 10s metricsets: - memory + system.hostfs: '/hostfs' - data_stream: dataset: system.network type: metrics @@ -80,6 +85,7 @@ process.include_cpu_ticks: false metricsets: - process + system.hostfs: '/hostfs' process.include_cpu_ticks: false - data_stream: dataset: system.process_summary @@ -87,12 +93,14 @@ period: 10s metricsets: - process_summary + system.hostfs: '/hostfs' - data_stream: dataset: system.socket_summary type: metrics period: 10s metricsets: - socket_summary + system.hostfs: '/hostfs' - data_stream: type: metrics dataset: system.uptime diff --git a/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-daemonset-configmap.yaml b/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-daemonset-configmap.yaml index 741ebfead5c..445fadbd266 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-daemonset-configmap.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-daemonset-configmap.yaml @@ -446,6 +446,7 @@ data: - normalized_percentages metricsets: - cpu + system.hostfs: '/hostfs' - data_stream: dataset: system.diskio type: metrics @@ -453,12 +454,14 @@ data: diskio.include_devices: null metricsets: - diskio + system.hostfs: '/hostfs' - data_stream: dataset: system.filesystem type: metrics period: 1m metricsets: - filesystem + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -468,6 +471,7 @@ data: period: 1m metricsets: - fsstat + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -484,6 +488,7 @@ data: period: 10s metricsets: - memory + system.hostfs: '/hostfs' - data_stream: dataset: system.network type: metrics @@ -504,19 +509,21 @@ data: process.include_cpu_ticks: false metricsets: - process - process.include_cpu_ticks: false + system.hostfs: '/hostfs' - data_stream: dataset: system.process_summary type: metrics period: 10s metricsets: - process_summary + system.hostfs: '/hostfs' - data_stream: dataset: system.socket_summary type: metrics period: 10s metricsets: - socket_summary + system.hostfs: '/hostfs' - data_stream: type: metrics dataset: system.uptime diff --git a/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-ksm-daemonset-configmap.yaml b/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-ksm-daemonset-configmap.yaml index 9bfae8731c4..cd6db19e163 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-ksm-daemonset-configmap.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-ksm-daemonset-configmap.yaml @@ -211,6 +211,7 @@ data: - normalized_percentages metricsets: - cpu + system.hostfs: '/hostfs' - data_stream: dataset: system.diskio type: metrics @@ -218,12 +219,14 @@ data: diskio.include_devices: null metricsets: - diskio + system.hostfs: '/hostfs' - data_stream: dataset: system.filesystem type: metrics period: 1m metricsets: - filesystem + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -233,6 +236,7 @@ data: period: 1m metricsets: - fsstat + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -249,6 +253,7 @@ data: period: 10s metricsets: - memory + system.hostfs: '/hostfs' - data_stream: dataset: system.network type: metrics @@ -269,19 +274,21 @@ data: process.include_cpu_ticks: false metricsets: - process - process.include_cpu_ticks: false + system.hostfs: '/hostfs' - data_stream: dataset: system.process_summary type: metrics period: 10s metricsets: - process_summary + system.hostfs: '/hostfs' - data_stream: dataset: system.socket_summary type: metrics period: 10s metricsets: - socket_summary + system.hostfs: '/hostfs' - data_stream: type: metrics dataset: system.uptime diff --git a/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/base/elastic-agent-standalone-ksm-daemonset-configmap.yaml b/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/base/elastic-agent-standalone-ksm-daemonset-configmap.yaml index 9bfae8731c4..cd6db19e163 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/base/elastic-agent-standalone-ksm-daemonset-configmap.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/base/elastic-agent-standalone-ksm-daemonset-configmap.yaml @@ -211,6 +211,7 @@ data: - normalized_percentages metricsets: - cpu + system.hostfs: '/hostfs' - data_stream: dataset: system.diskio type: metrics @@ -218,12 +219,14 @@ data: diskio.include_devices: null metricsets: - diskio + system.hostfs: '/hostfs' - data_stream: dataset: system.filesystem type: metrics period: 1m metricsets: - filesystem + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -233,6 +236,7 @@ data: period: 1m metricsets: - fsstat + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -249,6 +253,7 @@ data: period: 10s metricsets: - memory + system.hostfs: '/hostfs' - data_stream: dataset: system.network type: metrics @@ -269,19 +274,21 @@ data: process.include_cpu_ticks: false metricsets: - process - process.include_cpu_ticks: false + system.hostfs: '/hostfs' - data_stream: dataset: system.process_summary type: metrics period: 10s metricsets: - process_summary + system.hostfs: '/hostfs' - data_stream: dataset: system.socket_summary type: metrics period: 10s metricsets: - socket_summary + system.hostfs: '/hostfs' - data_stream: type: metrics dataset: system.uptime diff --git a/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml b/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml index 46cc127268a..422bf8b417c 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml @@ -415,6 +415,7 @@ data: - normalized_percentages metricsets: - cpu + system.hostfs: '/hostfs' - data_stream: dataset: system.diskio type: metrics @@ -422,12 +423,14 @@ data: diskio.include_devices: null metricsets: - diskio + system.hostfs: '/hostfs' - data_stream: dataset: system.filesystem type: metrics period: 1m metricsets: - filesystem + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -437,6 +440,7 @@ data: period: 1m metricsets: - fsstat + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -453,6 +457,7 @@ data: period: 10s metricsets: - memory + system.hostfs: '/hostfs' - data_stream: dataset: system.network type: metrics @@ -473,19 +478,21 @@ data: process.include_cpu_ticks: false metricsets: - process - process.include_cpu_ticks: false + system.hostfs: '/hostfs' - data_stream: dataset: system.process_summary type: metrics period: 10s metricsets: - process_summary + system.hostfs: '/hostfs' - data_stream: dataset: system.socket_summary type: metrics period: 10s metricsets: - socket_summary + system.hostfs: '/hostfs' - data_stream: type: metrics dataset: system.uptime diff --git a/deploy/kubernetes/elastic-agent-standalone-kubernetes.yaml b/deploy/kubernetes/elastic-agent-standalone-kubernetes.yaml index 0797b92080a..883a283725e 100644 --- a/deploy/kubernetes/elastic-agent-standalone-kubernetes.yaml +++ b/deploy/kubernetes/elastic-agent-standalone-kubernetes.yaml @@ -443,6 +443,7 @@ data: - normalized_percentages metricsets: - cpu + system.hostfs: '/hostfs' - data_stream: dataset: system.diskio type: metrics @@ -450,12 +451,14 @@ data: diskio.include_devices: null metricsets: - diskio + system.hostfs: '/hostfs' - data_stream: dataset: system.filesystem type: metrics period: 1m metricsets: - filesystem + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -465,6 +468,7 @@ data: period: 1m metricsets: - fsstat + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -481,6 +485,7 @@ data: period: 10s metricsets: - memory + system.hostfs: '/hostfs' - data_stream: dataset: system.network type: metrics @@ -501,19 +506,21 @@ data: process.include_cpu_ticks: false metricsets: - process - process.include_cpu_ticks: false + system.hostfs: '/hostfs' - data_stream: dataset: system.process_summary type: metrics period: 10s metricsets: - process_summary + system.hostfs: '/hostfs' - data_stream: dataset: system.socket_summary type: metrics period: 10s metricsets: - socket_summary + system.hostfs: '/hostfs' - data_stream: type: metrics dataset: system.uptime diff --git a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml index 4d837d4775b..4685069f1d5 100644 --- a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml +++ b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml @@ -443,6 +443,7 @@ data: - normalized_percentages metricsets: - cpu + system.hostfs: '/hostfs' - data_stream: dataset: system.diskio type: metrics @@ -450,12 +451,14 @@ data: diskio.include_devices: null metricsets: - diskio + system.hostfs: '/hostfs' - data_stream: dataset: system.filesystem type: metrics period: 1m metricsets: - filesystem + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -465,6 +468,7 @@ data: period: 1m metricsets: - fsstat + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -481,6 +485,7 @@ data: period: 10s metricsets: - memory + system.hostfs: '/hostfs' - data_stream: dataset: system.network type: metrics @@ -501,19 +506,21 @@ data: process.include_cpu_ticks: false metricsets: - process - process.include_cpu_ticks: false + system.hostfs: '/hostfs' - data_stream: dataset: system.process_summary type: metrics period: 10s metricsets: - process_summary + system.hostfs: '/hostfs' - data_stream: dataset: system.socket_summary type: metrics period: 10s metricsets: - socket_summary + system.hostfs: '/hostfs' - data_stream: type: metrics dataset: system.uptime diff --git a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-ksm-daemonset-configmap.yaml b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-ksm-daemonset-configmap.yaml index 9bfae8731c4..cd6db19e163 100644 --- a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-ksm-daemonset-configmap.yaml +++ b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-ksm-daemonset-configmap.yaml @@ -211,6 +211,7 @@ data: - normalized_percentages metricsets: - cpu + system.hostfs: '/hostfs' - data_stream: dataset: system.diskio type: metrics @@ -218,12 +219,14 @@ data: diskio.include_devices: null metricsets: - diskio + system.hostfs: '/hostfs' - data_stream: dataset: system.filesystem type: metrics period: 1m metricsets: - filesystem + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -233,6 +236,7 @@ data: period: 1m metricsets: - fsstat + system.hostfs: '/hostfs' processors: - drop_event.when.regexp: system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) @@ -249,6 +253,7 @@ data: period: 10s metricsets: - memory + system.hostfs: '/hostfs' - data_stream: dataset: system.network type: metrics @@ -269,19 +274,21 @@ data: process.include_cpu_ticks: false metricsets: - process - process.include_cpu_ticks: false + system.hostfs: '/hostfs' - data_stream: dataset: system.process_summary type: metrics period: 10s metricsets: - process_summary + system.hostfs: '/hostfs' - data_stream: dataset: system.socket_summary type: metrics period: 10s metricsets: - socket_summary + system.hostfs: '/hostfs' - data_stream: type: metrics dataset: system.uptime From 371399ccb683b7211509078ca9f27e59f889b90f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20=C5=9Awi=C4=85tek?= Date: Tue, 11 Feb 2025 15:46:53 +0100 Subject: [PATCH 11/17] Fix runtime error reporting in Otel manager (#6793) --- internal/pkg/otel/manager/manager.go | 2 +- internal/pkg/otel/manager/manager_test.go | 41 +++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/internal/pkg/otel/manager/manager.go b/internal/pkg/otel/manager/manager.go index af5a8052cec..8d9bc649753 100644 --- a/internal/pkg/otel/manager/manager.go +++ b/internal/pkg/otel/manager/manager.go @@ -115,7 +115,7 @@ func (m *OTelManager) Run(ctx context.Context) error { // pass the error to the errCh so the coordinator, unless it's a cancel error if !errors.Is(err, context.Canceled) { select { - case m.errCh <- nil: + case m.errCh <- err: case <-ctx.Done(): } } diff --git a/internal/pkg/otel/manager/manager_test.go b/internal/pkg/otel/manager/manager_test.go index c0d8bfd4309..f4f9b422dde 100644 --- a/internal/pkg/otel/manager/manager_test.go +++ b/internal/pkg/otel/manager/manager_test.go @@ -183,3 +183,44 @@ func TestOTelManager_Run(t *testing.T) { t.Errorf("otel manager returned unexpected error: %v", runErr) } } + +func TestOTelManager_ConfigError(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + l, _ := loggertest.New("otel") + m := NewOTelManager(l) + + go func() { + err := m.Run(ctx) + require.ErrorIs(t, err, context.Canceled, "otel manager should be cancelled") + }() + + // watch is synchronous, so we need to read from it to avoid blocking the manager + go func() { + for { + select { + case <-m.Watch(): + case <-ctx.Done(): + return + } + } + }() + + cfg := confmap.New() // invalid config + m.Update(cfg) + timeoutCh := time.After(time.Second * 5) + var err error +outer: + for { + select { + case e := <-m.Errors(): + if e != nil { + err = e + break outer + } + case <-timeoutCh: + break outer + } + } + assert.Error(t, err, "otel manager should have returned an error") +} From 45e3abf15c0fd1a351c5820646b5bd2eff6ce46b Mon Sep 17 00:00:00 2001 From: Panos Koutsovasilis Date: Tue, 11 Feb 2025 17:37:47 +0200 Subject: [PATCH 12/17] fix: disable kubernetes_secrets unit-test that relies on timing for windows platform (#6805) --- .../providers/kubernetessecrets/kubernetes_secrets_test.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets_test.go b/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets_test.go index 4ff4c00a37d..262714d425f 100644 --- a/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets_test.go +++ b/internal/pkg/composable/providers/kubernetessecrets/kubernetes_secrets_test.go @@ -8,6 +8,7 @@ import ( "context" "errors" "fmt" + "runtime" "sync" "testing" "time" @@ -662,6 +663,10 @@ func Test_UpdateCache(t *testing.T) { } func Test_Run(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("Flaky timing on Windows") + } + testDataBuilder := secretTestDataBuilder{ namespace: "default", name: "secret_name", From edc71fc60386d3740bf4b438385ca48c26019e72 Mon Sep 17 00:00:00 2001 From: Blake Rouse Date: Wed, 12 Feb 2025 00:28:09 -0500 Subject: [PATCH 13/17] Make running windows in the CI with faster instances. (#5619) --- pkg/testing/ogc/supported.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/testing/ogc/supported.go b/pkg/testing/ogc/supported.go index f4768ff270a..7c1a899ab17 100644 --- a/pkg/testing/ogc/supported.go +++ b/pkg/testing/ogc/supported.go @@ -121,7 +121,7 @@ var ogcSupported = []LayoutOS{ Version: "2022", }, Provider: Google, - InstanceSize: "e2-standard-4", // 4 amd64 cpus, 16 GB RAM + InstanceSize: "e2-highcpu-16", // 16 amd64 cpus, 16 GB RAM RunsOn: "windows-2022", Username: "windows", RemotePath: "C:\\Users\\windows\\agent", @@ -133,7 +133,7 @@ var ogcSupported = []LayoutOS{ Version: "2022-core", }, Provider: Google, - InstanceSize: "e2-standard-4", // 4 amd64 cpus, 16 GB RAM + InstanceSize: "e2-highcpu-16", // 16 amd64 cpus, 16 GB RAM RunsOn: "windows-2022-core", Username: "windows", RemotePath: "C:\\Users\\windows\\agent", @@ -145,7 +145,7 @@ var ogcSupported = []LayoutOS{ Version: "2019", }, Provider: Google, - InstanceSize: "e2-standard-4", // 4 amd64 cpus, 16 GB RAM + InstanceSize: "e2-highcpu-16", // 16 amd64 cpus, 16 GB RAM RunsOn: "windows-2019", Username: "windows", RemotePath: "C:\\Users\\windows\\agent", @@ -157,7 +157,7 @@ var ogcSupported = []LayoutOS{ Version: "2019-core", }, Provider: Google, - InstanceSize: "e2-standard-4", // 4 amd64 cpus, 16 GB RAM + InstanceSize: "e2-highcpu-16", // 16 amd64 cpus, 16 GB RAM RunsOn: "windows-2019-core", Username: "windows", RemotePath: "C:\\Users\\windows\\agent", @@ -169,7 +169,7 @@ var ogcSupported = []LayoutOS{ Version: "2016", }, Provider: Google, - InstanceSize: "e2-standard-4", // 4 amd64 cpus, 16 GB RAM + InstanceSize: "e2-highcpu-16", // 16 amd64 cpus, 16 GB RAM RunsOn: "windows-2016", Username: "windows", RemotePath: "C:\\Users\\windows\\agent", @@ -181,7 +181,7 @@ var ogcSupported = []LayoutOS{ Version: "2016-core", }, Provider: Google, - InstanceSize: "e2-standard-4", // 4 amd64 cpus, 16 GB RAM + InstanceSize: "e2-highcpu-16", // 16 amd64 cpus, 16 GB RAM RunsOn: "windows-2016-core", Username: "windows", RemotePath: "C:\\Users\\windows\\agent", From a29af648901e3025eee6bccb45b321c83775d227 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 12 Feb 2025 10:21:42 -0500 Subject: [PATCH 14/17] [Automation] Bump Golang version to 1.22.12 (#6700) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: Update .go-version Made with ❤️️ by updatecli * Add changelog. * chore: Update version.asciidoc Made with ❤️️ by updatecli * chore: Update go.mod version Made with ❤️️ by updatecli * chore: Update from dockerfiles Made with ❤️️ by updatecli * chore: Update .golangci.yml Made with ❤️️ by updatecli * chore: Update .go-version Made with ❤️️ by updatecli * Update changelog/fragments/1738617834-Upgrade-to-Go-1.22.11..yaml --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Craig MacKenzie --- .go-version | 2 +- .golangci.yml | 8 ++--- Dockerfile | 2 +- Dockerfile.skaffold | 2 +- .../1738617834-Upgrade-to-Go-1.22.11..yaml | 32 +++++++++++++++++++ go.mod | 2 +- version/docs/version.asciidoc | 2 +- 7 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 changelog/fragments/1738617834-Upgrade-to-Go-1.22.11..yaml diff --git a/.go-version b/.go-version index f5ae945712e..2560439f071 100644 --- a/.go-version +++ b/.go-version @@ -1 +1 @@ -1.22.10 +1.22.12 diff --git a/.golangci.yml b/.golangci.yml index ff783454433..bf7d733c141 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -130,7 +130,7 @@ linters-settings: gosimple: # Select the Go version to target. The default is '1.13'. - go: "1.22.11" + go: "1.22.12" nolintlint: # Enable to ensure that nolint directives are all used. Default is true. @@ -146,17 +146,17 @@ linters-settings: staticcheck: # Select the Go version to target. The default is '1.13'. - go: "1.22.11" + go: "1.22.12" checks: ["all"] stylecheck: # Select the Go version to target. The default is '1.13'. - go: "1.22.11" + go: "1.22.12" checks: ["all"] unused: # Select the Go version to target. The default is '1.13'. - go: "1.22.11" + go: "1.22.12" gosec: excludes: diff --git a/Dockerfile b/Dockerfile index 81c7b489b58..d14b635a4dd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.22.11 +ARG GO_VERSION=1.22.12 FROM circleci/golang:${GO_VERSION} diff --git a/Dockerfile.skaffold b/Dockerfile.skaffold index 9e86e69530c..240406c9c06 100644 --- a/Dockerfile.skaffold +++ b/Dockerfile.skaffold @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.22.11 +ARG GO_VERSION=1.22.12 ARG crossbuild_image="docker.elastic.co/beats-dev/golang-crossbuild" ARG AGENT_VERSION=8.9.0-SNAPSHOT ARG AGENT_IMAGE="docker.elastic.co/beats/elastic-agent" diff --git a/changelog/fragments/1738617834-Upgrade-to-Go-1.22.11..yaml b/changelog/fragments/1738617834-Upgrade-to-Go-1.22.11..yaml new file mode 100644 index 00000000000..526ce6230e6 --- /dev/null +++ b/changelog/fragments/1738617834-Upgrade-to-Go-1.22.11..yaml @@ -0,0 +1,32 @@ +# Kind can be one of: +# - breaking-change: a change to previously-documented behavior +# - deprecation: functionality that is being removed in a later release +# - bug-fix: fixes a problem in a previous version +# - enhancement: extends functionality but does not break or fix existing behavior +# - feature: new functionality +# - known-issue: problems that we are aware of in a given version +# - security: impacts on the security of a product or a user’s deployment. +# - upgrade: important information for someone upgrading from a prior version +# - other: does not fit into any of the other categories +kind: security + +# Change summary; a 80ish characters long description of the change. +summary: Upgrade to Go 1.22.12. + +# Long description; in case the summary is not enough to describe the change +# this field accommodate a description without length limits. +# NOTE: This field will be rendered only for breaking-change and known-issue kinds at the moment. +#description: + +# Affected component; usually one of "elastic-agent", "fleet-server", "filebeat", "metricbeat", "auditbeat", "all", etc. +component: "elastic-agent" + +# PR URL; optional; the PR number that added the changeset. +# If not present is automatically filled by the tooling finding the PR where this changelog fragment has been added. +# NOTE: the tooling supports backports, so it's able to fill the original PR number instead of the backport PR number. +# Please provide it if you are adding a fragment for a different PR. +pr: https://github.com/elastic/elastic-agent/pull/6700 + +# Issue URL; optional; the GitHub issue related to this changeset (either closes or is part of). +# If not present is automatically filled by the tooling with the issue linked to the PR number. +#issue: https://github.com/owner/repo/1234 diff --git a/go.mod b/go.mod index 5d911664096..bc6a449af88 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/elastic/elastic-agent -go 1.22.11 +go 1.22.12 require ( github.com/Jeffail/gabs/v2 v2.6.0 diff --git a/version/docs/version.asciidoc b/version/docs/version.asciidoc index 64268931fc8..c85ec7ac9c8 100644 --- a/version/docs/version.asciidoc +++ b/version/docs/version.asciidoc @@ -3,7 +3,7 @@ // FIXME: once elastic.co docs have been switched over to use `main`, remove // the `doc-site-branch` line below as well as any references to it in the code. :doc-site-branch: master -:go-version: 1.22.11 +:go-version: 1.22.12 :release-state: unreleased :python: 3.7 :docker: 1.12 From 387970dcdf1abb349d10e2821e58c31db35328bc Mon Sep 17 00:00:00 2001 From: Pavel Zorin Date: Thu, 13 Feb 2025 12:00:36 +0100 Subject: [PATCH 15/17] [CI] Remove instances configurations from the integration test stack (#6719) * CI: Remove instances configurations from the test stack * Added test_infra to extended pipeline trigger --- .buildkite/pipeline.yml | 1 + test_infra/ess/deployment.tf | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 8215b7fca83..afb6e84dca5 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -275,6 +275,7 @@ steps: - dev-tools/ - pkg/ - deploy/ + - test_infra/ - testing/ - version/ - specs/ diff --git a/test_infra/ess/deployment.tf b/test_infra/ess/deployment.tf index 2bce79838b1..89f4b7c7583 100644 --- a/test_infra/ess/deployment.tf +++ b/test_infra/ess/deployment.tf @@ -60,7 +60,6 @@ resource "ec_deployment" "integration-testing" { elasticsearch = { autoscale = false - instance_configuration_id = "gcp.es.datahot.n2.68x10x45" hot = { autoscaling = {} @@ -71,7 +70,6 @@ resource "ec_deployment" "integration-testing" { kibana = { size = "1g" zone_count = 1 - instance_configuration_id = "gcp.kibana.n2.68x32x45" config = { user_settings_json = jsonencode({ "xpack.fleet.enableExperimental" = ["agentTamperProtectionEnabled"] @@ -82,7 +80,6 @@ resource "ec_deployment" "integration-testing" { } integrations_server = { - instance_configuration_id = "gcp.integrationsserver.n2.68x32x45" topology = { size = "1g" zone_count = 1 From ed7c19f3b5983f9afc765072352a7c0d85746b22 Mon Sep 17 00:00:00 2001 From: Panos Koutsovasilis Date: Thu, 13 Feb 2025 13:06:07 +0200 Subject: [PATCH 16/17] [k8s] Correct agent image repository (#6724) * fix: correct agent image repository * fix: update agent image repository in more places * fix default docker image repository --------- Co-authored-by: Paolo Chila --- deploy/helm/edot-collector/kube-stack/values.yaml | 2 +- deploy/helm/elastic-agent/README.md | 2 +- .../elastic-agent/examples/eck/rendered/manifest.yaml | 4 ++-- .../fleet-managed-ksm-sharding/rendered/manifest.yaml | 2 +- .../examples/fleet-managed/rendered/manifest.yaml | 2 +- .../examples/kubernetes-default/rendered/manifest.yaml | 4 ++-- .../kubernetes-hints-autodiscover/rendered/manifest.yaml | 4 ++-- .../kubernetes-ksm-sharding/rendered/manifest.yaml | 6 +++--- .../examples/kubernetes-only-logs/rendered/manifest.yaml | 2 +- .../examples/multiple-integrations/rendered/manifest.yaml | 4 ++-- .../examples/netflow-service/rendered/manifest.yaml | 2 +- .../nginx-custom-integration/rendered/manifest.yaml | 2 +- .../system-custom-auth-paths/rendered/manifest.yaml | 2 +- .../examples/user-cluster-role/rendered/manifest.yaml | 2 +- .../examples/user-service-account/rendered/manifest.yaml | 4 ++-- deploy/helm/elastic-agent/values.yaml | 2 +- .../base/elastic-agent-managed-daemonset.yaml | 2 +- .../base/elastic-agent-standalone-daemonset.yaml | 4 ++-- .../base/elastic-agent-managed-daemonset.yaml | 2 +- .../extra/elastic-agent-managed-statefulset.yaml | 2 +- .../base/elastic-agent-standalone-daemonset.yaml | 4 ++-- .../extra/elastic-agent-standalone-statefulset.yaml | 4 ++-- .../ksm-hints/elastic-agent-standalone/kustomization.yaml | 3 +-- .../elastic-agent-standalone/kustomization.yaml.original | 3 +-- deploy/kubernetes/elastic-agent-managed-kubernetes.yaml | 2 +- .../elastic-agent-managed-daemonset.yaml | 2 +- .../kubernetes/elastic-agent-standalone-kubernetes.yaml | 4 ++-- .../elastic-agent-standalone-daemonset.yaml | 4 ++-- dev-tools/packaging/packages.yml | 2 +- docs/local-k8s-testing.md | 6 +++--- internal/pkg/otel/README.md | 2 +- internal/pkg/otel/templates/README.md.tmpl | 2 +- pkg/testing/kubernetes/supported.go | 8 ++++---- skaffold.yaml | 2 +- 34 files changed, 51 insertions(+), 53 deletions(-) diff --git a/deploy/helm/edot-collector/kube-stack/values.yaml b/deploy/helm/edot-collector/kube-stack/values.yaml index 8e8b493ea18..a7102efedd7 100644 --- a/deploy/helm/edot-collector/kube-stack/values.yaml +++ b/deploy/helm/edot-collector/kube-stack/values.yaml @@ -16,7 +16,7 @@ crds: create: true # Install the OpenTelemetry Operator CRDs. defaultCRConfig: image: - repository: "docker.elastic.co/beats/elastic-agent" + repository: "docker.elastic.co/elastic-agent/elastic-agent" tag: "9.1.0" targetAllocator: enabled: false # Enable/disable the Operator's Target allocator. diff --git a/deploy/helm/elastic-agent/README.md b/deploy/helm/elastic-agent/README.md index d4b5198887f..3bf3b5104bc 100644 --- a/deploy/helm/elastic-agent/README.md +++ b/deploy/helm/elastic-agent/README.md @@ -145,7 +145,7 @@ The chart built-in [kubernetes integration](https://docs.elastic.co/integrations | Key | Type | Default | Description | |-----|------|---------|-------------| | agent.version | string | `"9.0.0"` | elastic-agent version | -| agent.image | object | `{"pullPolicy":"IfNotPresent","repository":"docker.elastic.co/beats/elastic-agent","tag":"9.0.0-SNAPSHOT"}` | image configuration | +| agent.image | object | `{"pullPolicy":"IfNotPresent","repository":"docker.elastic.co/elastic-agent/elastic-agent","tag":"9.0.0-SNAPSHOT"}` | image configuration | | agent.imagePullSecrets | list | `[]` | image pull secrets | | agent.engine | string | `"k8s"` | generate kubernetes manifests or [ECK](https://github.com/elastic/cloud-on-k8s) CRDs | | agent.unprivileged | bool | `false` | enable unprivileged mode | diff --git a/deploy/helm/elastic-agent/examples/eck/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/eck/rendered/manifest.yaml index 9dc6275050e..d033d5fb094 100644 --- a/deploy/helm/elastic-agent/examples/eck/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/eck/rendered/manifest.yaml @@ -993,7 +993,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: @@ -1072,7 +1072,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: diff --git a/deploy/helm/elastic-agent/examples/fleet-managed-ksm-sharding/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/fleet-managed-ksm-sharding/rendered/manifest.yaml index 657403af7c4..c78df3f4387 100644 --- a/deploy/helm/elastic-agent/examples/fleet-managed-ksm-sharding/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/fleet-managed-ksm-sharding/rendered/manifest.yaml @@ -415,7 +415,7 @@ spec: value: "false" - name: FLEET_ENROLL value: "1" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: diff --git a/deploy/helm/elastic-agent/examples/fleet-managed/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/fleet-managed/rendered/manifest.yaml index c28502e9c80..e66283ac0f6 100644 --- a/deploy/helm/elastic-agent/examples/fleet-managed/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/fleet-managed/rendered/manifest.yaml @@ -404,7 +404,7 @@ spec: value: "false" - name: FLEET_ENROLL value: "1" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: diff --git a/deploy/helm/elastic-agent/examples/kubernetes-default/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/kubernetes-default/rendered/manifest.yaml index def214f2e32..26a77bdc2fd 100644 --- a/deploy/helm/elastic-agent/examples/kubernetes-default/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/kubernetes-default/rendered/manifest.yaml @@ -909,7 +909,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: @@ -1090,7 +1090,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: diff --git a/deploy/helm/elastic-agent/examples/kubernetes-hints-autodiscover/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/kubernetes-hints-autodiscover/rendered/manifest.yaml index b2b5ef81851..1760f969e41 100644 --- a/deploy/helm/elastic-agent/examples/kubernetes-hints-autodiscover/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/kubernetes-hints-autodiscover/rendered/manifest.yaml @@ -912,7 +912,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: @@ -1093,7 +1093,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: diff --git a/deploy/helm/elastic-agent/examples/kubernetes-ksm-sharding/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/kubernetes-ksm-sharding/rendered/manifest.yaml index 09d8388e356..6d3a8fa83c7 100644 --- a/deploy/helm/elastic-agent/examples/kubernetes-ksm-sharding/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/kubernetes-ksm-sharding/rendered/manifest.yaml @@ -980,7 +980,7 @@ spec: secretKeyRef: key: api_key name: es-api-secret - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: @@ -1086,7 +1086,7 @@ spec: secretKeyRef: key: api_key name: es-api-secret - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: @@ -1250,7 +1250,7 @@ spec: secretKeyRef: key: api_key name: es-api-secret - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: diff --git a/deploy/helm/elastic-agent/examples/kubernetes-only-logs/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/kubernetes-only-logs/rendered/manifest.yaml index f7f3eebb623..a75eee486cc 100644 --- a/deploy/helm/elastic-agent/examples/kubernetes-only-logs/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/kubernetes-only-logs/rendered/manifest.yaml @@ -244,7 +244,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: diff --git a/deploy/helm/elastic-agent/examples/multiple-integrations/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/multiple-integrations/rendered/manifest.yaml index 705f09321bb..ea576603d52 100644 --- a/deploy/helm/elastic-agent/examples/multiple-integrations/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/multiple-integrations/rendered/manifest.yaml @@ -938,7 +938,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: @@ -1109,7 +1109,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: diff --git a/deploy/helm/elastic-agent/examples/netflow-service/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/netflow-service/rendered/manifest.yaml index bc4e22a5d31..d324b371dae 100644 --- a/deploy/helm/elastic-agent/examples/netflow-service/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/netflow-service/rendered/manifest.yaml @@ -131,7 +131,7 @@ spec: secretKeyRef: key: api_key name: es-api-secret - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent ports: diff --git a/deploy/helm/elastic-agent/examples/nginx-custom-integration/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/nginx-custom-integration/rendered/manifest.yaml index b2ce0117c0a..5c445c5e5be 100644 --- a/deploy/helm/elastic-agent/examples/nginx-custom-integration/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/nginx-custom-integration/rendered/manifest.yaml @@ -93,7 +93,7 @@ spec: fieldPath: metadata.name - name: STATE_PATH value: /usr/share/elastic-agent/state - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent securityContext: diff --git a/deploy/helm/elastic-agent/examples/system-custom-auth-paths/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/system-custom-auth-paths/rendered/manifest.yaml index 984cb09e3d9..721adc50339 100644 --- a/deploy/helm/elastic-agent/examples/system-custom-auth-paths/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/system-custom-auth-paths/rendered/manifest.yaml @@ -324,7 +324,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: diff --git a/deploy/helm/elastic-agent/examples/user-cluster-role/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/user-cluster-role/rendered/manifest.yaml index 08b0dde90f3..6aef8be15d9 100644 --- a/deploy/helm/elastic-agent/examples/user-cluster-role/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/user-cluster-role/rendered/manifest.yaml @@ -132,7 +132,7 @@ spec: fieldPath: metadata.name - name: STATE_PATH value: /usr/share/elastic-agent/state - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent securityContext: diff --git a/deploy/helm/elastic-agent/examples/user-service-account/rendered/manifest.yaml b/deploy/helm/elastic-agent/examples/user-service-account/rendered/manifest.yaml index c22e6350f2a..2a554de12d4 100644 --- a/deploy/helm/elastic-agent/examples/user-service-account/rendered/manifest.yaml +++ b/deploy/helm/elastic-agent/examples/user-service-account/rendered/manifest.yaml @@ -889,7 +889,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: @@ -1070,7 +1070,7 @@ spec: value: /usr/share/elastic-agent/state - name: ELASTIC_NETINFO value: "false" - image: docker.elastic.co/beats/elastic-agent:9.1.0-SNAPSHOT + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0-SNAPSHOT imagePullPolicy: IfNotPresent name: agent resources: diff --git a/deploy/helm/elastic-agent/values.yaml b/deploy/helm/elastic-agent/values.yaml index 27f9e5a20b2..dbe837d9bc9 100644 --- a/deploy/helm/elastic-agent/values.yaml +++ b/deploy/helm/elastic-agent/values.yaml @@ -336,7 +336,7 @@ agent: # -- image configuration # @section -- 6 - Elastic-Agent Configuration image: - repository: docker.elastic.co/beats/elastic-agent + repository: docker.elastic.co/elastic-agent/elastic-agent pullPolicy: IfNotPresent tag: "9.1.0-SNAPSHOT" # -- image pull secrets diff --git a/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-managed/base/elastic-agent-managed-daemonset.yaml b/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-managed/base/elastic-agent-managed-daemonset.yaml index 9c80f806724..088500628f0 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-managed/base/elastic-agent-managed-daemonset.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-managed/base/elastic-agent-managed-daemonset.yaml @@ -27,7 +27,7 @@ spec: dnsPolicy: ClusterFirstWithHostNet containers: - name: elastic-agent - image: docker.elastic.co/beats/elastic-agent:9.1.0 + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 env: # Set to 1 for enrollment into Fleet server. If not set, Elastic Agent is run in standalone mode - name: FLEET_ENROLL diff --git a/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-daemonset.yaml b/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-daemonset.yaml index 5bb88496fb9..cd77952846f 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-daemonset.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/default/elastic-agent-standalone/base/elastic-agent-standalone-daemonset.yaml @@ -28,7 +28,7 @@ spec: # Uncomment if using hints feature #initContainers: # - name: k8s-templates-downloader - # image: docker.elastic.co/beats/elastic-agent:9.1.0 + # image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 # command: ['bash'] # args: # - -c @@ -40,7 +40,7 @@ spec: # mountPath: /etc/elastic-agent/inputs.d containers: - name: elastic-agent-standalone - image: docker.elastic.co/beats/elastic-agent:9.1.0 + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 args: ["-c", "/etc/elastic-agent/agent.yml", "-e"] env: # The API Key with access privilleges to connect to Elasticsearch. https://www.elastic.co/guide/en/fleet/current/grant-access-to-elasticsearch.html#create-api-key-standalone-agent diff --git a/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-managed/base/elastic-agent-managed-daemonset.yaml b/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-managed/base/elastic-agent-managed-daemonset.yaml index 53390768a43..59e6b345c0e 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-managed/base/elastic-agent-managed-daemonset.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-managed/base/elastic-agent-managed-daemonset.yaml @@ -27,7 +27,7 @@ spec: dnsPolicy: ClusterFirstWithHostNet containers: - name: elastic-agent - image: docker.elastic.co/beats/elastic-agent:9.1.0 + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 env: # Set to 1 for enrollment into Fleet server. If not set, Elastic Agent is run in standalone mode - name: FLEET_ENROLL diff --git a/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-managed/extra/elastic-agent-managed-statefulset.yaml b/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-managed/extra/elastic-agent-managed-statefulset.yaml index 69cdfb9ef96..5fc6e6c8115 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-managed/extra/elastic-agent-managed-statefulset.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-managed/extra/elastic-agent-managed-statefulset.yaml @@ -27,7 +27,7 @@ spec: dnsPolicy: ClusterFirstWithHostNet containers: - name: elastic-agent - image: docker.elastic.co/beats/elastic-agent:9.1.0 + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 env: # Set to 1 for enrollment into Fleet server. If not set, Elastic Agent is run in standalone mode - name: FLEET_ENROLL diff --git a/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/base/elastic-agent-standalone-daemonset.yaml b/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/base/elastic-agent-standalone-daemonset.yaml index 5c00fe13b04..94ff19e0c8f 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/base/elastic-agent-standalone-daemonset.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/base/elastic-agent-standalone-daemonset.yaml @@ -28,7 +28,7 @@ spec: # Uncomment if using hints feature #initContainers: # - name: k8s-templates-downloader - # image: docker.elastic.co/beats/elastic-agent:9.1.0 + # image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 # command: ['bash'] # args: # - -c @@ -40,7 +40,7 @@ spec: # mountPath: /etc/elastic-agent/inputs.d containers: - name: elastic-agent-standalone - image: docker.elastic.co/beats/elastic-agent:9.1.0 + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 args: ["-c", "/etc/elastic-agent/agent.yml", "-e"] env: # The API Key with access privilleges to connect to Elasticsearch. https://www.elastic.co/guide/en/fleet/current/grant-access-to-elasticsearch.html#create-api-key-standalone-agent diff --git a/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/extra/elastic-agent-standalone-statefulset.yaml b/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/extra/elastic-agent-standalone-statefulset.yaml index f433f4adb56..f1828de98ca 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/extra/elastic-agent-standalone-statefulset.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/ksm-autosharding/elastic-agent-standalone/extra/elastic-agent-standalone-statefulset.yaml @@ -28,7 +28,7 @@ spec: # Uncomment if using hints feature #initContainers: # - name: k8s-templates-downloader - # image: docker.elastic.co/beats/elastic-agent:9.1.0 + # image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 # command: ['bash'] # args: # - -c @@ -40,7 +40,7 @@ spec: # mountPath: /etc/elastic-agent/inputs.d containers: - name: elastic-agent-standalone - image: docker.elastic.co/beats/elastic-agent:9.1.0 + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 args: ["-c", "/etc/elastic-agent/agent.yml", "-e"] env: # The API Key with access privilleges to connect to Elasticsearch. https://www.elastic.co/guide/en/fleet/current/grant-access-to-elasticsearch.html#create-api-key-standalone-agent diff --git a/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/kustomization.yaml b/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/kustomization.yaml index d8aeedb8dc2..d03fe85702a 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/kustomization.yaml +++ b/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/kustomization.yaml @@ -19,7 +19,7 @@ patches: spec: initContainers: - name: k8s-templates-downloader - image: docker.elastic.co/beats/elastic-agent:9.1.0 + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 command: ['bash'] args: - -c @@ -37,4 +37,3 @@ patches: volumes: - name: external-inputs emptyDir: {} - \ No newline at end of file diff --git a/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/kustomization.yaml.original b/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/kustomization.yaml.original index 8d5ac86e75f..da9aecb93ab 100644 --- a/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/kustomization.yaml.original +++ b/deploy/kubernetes/elastic-agent-kustomize/ksm-hints/elastic-agent-standalone/kustomization.yaml.original @@ -19,7 +19,7 @@ patches: spec: initContainers: - name: k8s-templates-downloader - image: docker.elastic.co/beats/elastic-agent:%VERSION% + image: docker.elastic.co/elastic-agent/elastic-agent:%VERSION% command: ['bash'] args: - -c @@ -37,4 +37,3 @@ patches: volumes: - name: external-inputs emptyDir: {} - \ No newline at end of file diff --git a/deploy/kubernetes/elastic-agent-managed-kubernetes.yaml b/deploy/kubernetes/elastic-agent-managed-kubernetes.yaml index 377ffb84c58..4d1fedae39a 100644 --- a/deploy/kubernetes/elastic-agent-managed-kubernetes.yaml +++ b/deploy/kubernetes/elastic-agent-managed-kubernetes.yaml @@ -27,7 +27,7 @@ spec: dnsPolicy: ClusterFirstWithHostNet containers: - name: elastic-agent - image: docker.elastic.co/beats/elastic-agent:9.1.0 + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 env: # Set to 1 for enrollment into Fleet server. If not set, Elastic Agent is run in standalone mode - name: FLEET_ENROLL diff --git a/deploy/kubernetes/elastic-agent-managed/elastic-agent-managed-daemonset.yaml b/deploy/kubernetes/elastic-agent-managed/elastic-agent-managed-daemonset.yaml index 7a3d839a2d2..6864b2ede54 100644 --- a/deploy/kubernetes/elastic-agent-managed/elastic-agent-managed-daemonset.yaml +++ b/deploy/kubernetes/elastic-agent-managed/elastic-agent-managed-daemonset.yaml @@ -27,7 +27,7 @@ spec: dnsPolicy: ClusterFirstWithHostNet containers: - name: elastic-agent - image: docker.elastic.co/beats/elastic-agent:%VERSION% + image: docker.elastic.co/elastic-agent/elastic-agent:%VERSION% env: # Set to 1 for enrollment into Fleet server. If not set, Elastic Agent is run in standalone mode - name: FLEET_ENROLL diff --git a/deploy/kubernetes/elastic-agent-standalone-kubernetes.yaml b/deploy/kubernetes/elastic-agent-standalone-kubernetes.yaml index 883a283725e..75f2e0069b4 100644 --- a/deploy/kubernetes/elastic-agent-standalone-kubernetes.yaml +++ b/deploy/kubernetes/elastic-agent-standalone-kubernetes.yaml @@ -704,7 +704,7 @@ spec: # Uncomment if using hints feature #initContainers: # - name: k8s-templates-downloader - # image: docker.elastic.co/beats/elastic-agent:9.1.0 + # image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 # command: ['bash'] # args: # - -c @@ -716,7 +716,7 @@ spec: # mountPath: /etc/elastic-agent/inputs.d containers: - name: elastic-agent-standalone - image: docker.elastic.co/beats/elastic-agent:9.1.0 + image: docker.elastic.co/elastic-agent/elastic-agent:9.1.0 args: ["-c", "/etc/elastic-agent/agent.yml", "-e"] env: # The API Key with access privilleges to connect to Elasticsearch. https://www.elastic.co/guide/en/fleet/current/grant-access-to-elasticsearch.html#create-api-key-standalone-agent diff --git a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset.yaml b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset.yaml index 2fe3237227d..1bf8de3e934 100644 --- a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset.yaml +++ b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset.yaml @@ -28,7 +28,7 @@ spec: # Uncomment if using hints feature #initContainers: # - name: k8s-templates-downloader - # image: docker.elastic.co/beats/elastic-agent:%VERSION% + # image: docker.elastic.co/elastic-agent/elastic-agent:%VERSION% # command: ['bash'] # args: # - -c @@ -40,7 +40,7 @@ spec: # mountPath: /etc/elastic-agent/inputs.d containers: - name: elastic-agent-standalone - image: docker.elastic.co/beats/elastic-agent:%VERSION% + image: docker.elastic.co/elastic-agent/elastic-agent:%VERSION% args: ["-c", "/etc/elastic-agent/agent.yml", "-e"] env: # The API Key with access privilleges to connect to Elasticsearch. https://www.elastic.co/guide/en/fleet/current/grant-access-to-elasticsearch.html#create-api-key-standalone-agent diff --git a/dev-tools/packaging/packages.yml b/dev-tools/packaging/packages.yml index 8db52f0ca24..abfe28527f0 100644 --- a/dev-tools/packaging/packages.yml +++ b/dev-tools/packaging/packages.yml @@ -242,7 +242,7 @@ shared: - &docker_elastic_spec extra_vars: - repository: 'docker.elastic.co/beats' + repository: 'docker.elastic.co/elastic-agent' - &agent_docker_spec <<: *agent_binary_spec diff --git a/docs/local-k8s-testing.md b/docs/local-k8s-testing.md index ce7ea0086ee..d0b3b9b88d7 100644 --- a/docs/local-k8s-testing.md +++ b/docs/local-k8s-testing.md @@ -36,7 +36,7 @@ FLEET_URL=https://:443 FLEET_ENROLLMENT_TOKEN= ``` -### Run agent +### Run agent In order to just deploy agent on your local cluster, open a terminal and then execute @@ -49,7 +49,7 @@ and the output should be something similar to this: Generating tags... ... Checking cache... - - docker.elastic.co/beats/elastic-agent: Found Locally + - docker.elastic.co/elastic-agent/elastic-agent: Found Locally Starting test... Starting pre-render hooks... Completed pre-render hooks @@ -104,7 +104,7 @@ Images loaded in 35.802479ms Waiting for deployments to stabilize... Deployments stabilized in 7.654873ms Listing files to watch... - - docker.elastic.co/beats/elastic-agent + - docker.elastic.co/elastic-agent/elastic-agent Press Ctrl+C to exit Not watching for changes... WARN[0003] unable to get owner from reference: {apps/v1 DaemonSet elastic-agent-standalone 0c579ec4-319a-4e85-99ec-c409260cb6ce 0xc000f950a0 0xc000f950a1} subtask=-1 task=DevLoop diff --git a/internal/pkg/otel/README.md b/internal/pkg/otel/README.md index 2f6b430d2ce..af77b57d3f4 100644 --- a/internal/pkg/otel/README.md +++ b/internal/pkg/otel/README.md @@ -139,7 +139,7 @@ If you remove the `create_directory: true` option, you'll need to manually creat By default, when running Elastic Distribution for OpenTelemetry Collector in Docker, checkpoints are stored in `/usr/share/elastic-agent/otel_registry` by default. To ensure data persists across container restarts, you can use the following command: ```bash -docker run --rm -ti --entrypoint="elastic-agent" --mount type=bind,source=/path/on/host,target=/usr/share/elastic-agent/otel_registry docker.elastic.co/beats/elastic-agent:9.0.0-SNAPSHOT otel +docker run --rm -ti --entrypoint="elastic-agent" --mount type=bind,source=/path/on/host,target=/usr/share/elastic-agent/otel_registry docker.elastic.co/elastic-agent/elastic-agent:9.0.0-SNAPSHOT otel ``` ### Known issues: diff --git a/internal/pkg/otel/templates/README.md.tmpl b/internal/pkg/otel/templates/README.md.tmpl index c73668cd507..fc560284bc9 100644 --- a/internal/pkg/otel/templates/README.md.tmpl +++ b/internal/pkg/otel/templates/README.md.tmpl @@ -123,7 +123,7 @@ If you remove the `create_directory: true` option, you'll need to manually creat By default, when running Elastic Distribution for OpenTelemetry Collector in Docker, checkpoints are stored in `/usr/share/elastic-agent/otel_registry` by default. To ensure data persists across container restarts, you can use the following command: ```bash -docker run --rm -ti --entrypoint="elastic-agent" --mount type=bind,source=/path/on/host,target=/usr/share/elastic-agent/otel_registry docker.elastic.co/beats/elastic-agent:9.0.0-SNAPSHOT otel +docker run --rm -ti --entrypoint="elastic-agent" --mount type=bind,source=/path/on/host,target=/usr/share/elastic-agent/otel_registry docker.elastic.co/elastic-agent/elastic-agent:9.0.0-SNAPSHOT otel ``` ### Known issues: diff --git a/pkg/testing/kubernetes/supported.go b/pkg/testing/kubernetes/supported.go index 88ede3da126..68885bc7458 100644 --- a/pkg/testing/kubernetes/supported.go +++ b/pkg/testing/kubernetes/supported.go @@ -50,19 +50,19 @@ var variants = []struct { }{ { Name: "basic", - Image: "docker.elastic.co/beats/elastic-agent", + Image: "docker.elastic.co/elastic-agent/elastic-agent", }, { Name: "wolfi", - Image: "docker.elastic.co/beats/elastic-agent-wolfi", + Image: "docker.elastic.co/elastic-agent/elastic-agent-wolfi", }, { Name: "complete", - Image: "docker.elastic.co/beats/elastic-agent-complete", + Image: "docker.elastic.co/elastic-agent/elastic-agent-complete", }, { Name: "complete-wolfi", - Image: "docker.elastic.co/beats/elastic-agent-complete-wolfi", + Image: "docker.elastic.co/elastic-agent/elastic-agent-complete-wolfi", }, { Name: "cloud", diff --git a/skaffold.yaml b/skaffold.yaml index 46e1c0cd300..a81ae8c7cda 100644 --- a/skaffold.yaml +++ b/skaffold.yaml @@ -8,7 +8,7 @@ build: useBuildkit: false useDockerCLI: true artifacts: - - image: docker.elastic.co/beats/elastic-agent + - image: docker.elastic.co/elastic-agent/elastic-agent docker: dockerfile: Dockerfile.skaffold noCache: false From 37be67f6519d79947f2354654dd3ad29fd8a3f30 Mon Sep 17 00:00:00 2001 From: Pavel Zorin Date: Thu, 13 Feb 2025 12:31:49 +0100 Subject: [PATCH 17/17] [CI] Integration tests regrouping (#6349) * TestRepeatedInstallUninstall optimisation * cleanup * cleanup * cleanup * cleanup * TestInstallDefendWithMTLSandEncCertKey to fleet-install-defend group * Extracted standalone-upgrade group * Commented iterations for TestRepeatedInstallUninstall * Reordered groups in pipeline matrix * Fix error message to only include agents on the same policy. --------- Co-authored-by: Denis Co-authored-by: Blake Rouse --- .buildkite/bk.integration.pipeline.yml | 29 ++++++++++++------- pkg/testing/tools/fleettools/fleet.go | 24 +++++++-------- testing/integration/endpoint_security_test.go | 18 ++++++------ testing/integration/groups_test.go | 9 ++++++ testing/integration/install_test.go | 13 +++++++-- .../integration/upgrade_standalone_test.go | 2 +- 6 files changed, 60 insertions(+), 35 deletions(-) diff --git a/.buildkite/bk.integration.pipeline.yml b/.buildkite/bk.integration.pipeline.yml index 178830ce575..3bd3ee44243 100644 --- a/.buildkite/bk.integration.pipeline.yml +++ b/.buildkite/bk.integration.pipeline.yml @@ -40,8 +40,11 @@ steps: matrix: - default - fleet + - fleet-endpoint-security - fleet-privileged + - standalone-upgrade - upgrade + - install-uninstall - label: "Win2022:non-sudo:{{matrix}}" command: | @@ -91,15 +94,18 @@ steps: image: "family/platform-ingest-elastic-agent-ubuntu-2404" matrix: - default - - container - - fleet-upgrade-to-pr-build - upgrade + - standalone-upgrade - fleet - - fqdn - - deb + - fleet-endpoint-security - fleet-airgapped - - fleet-privileged - fleet-airgapped-privileged + - fleet-privileged + - fleet-upgrade-to-pr-build + - install-uninstall + - fqdn + - deb + - container - label: "arm:sudo: {{matrix}}" skip: true @@ -115,15 +121,18 @@ steps: instanceType: "m6g.2xlarge" matrix: - default - - container - - fleet-upgrade-to-pr-build - upgrade + - standalone-upgrade - fleet - - fqdn - - deb + - fleet-endpoint-security - fleet-airgapped - - fleet-privileged - fleet-airgapped-privileged + - fleet-privileged + - fleet-upgrade-to-pr-build + - install-uninstall + - fqdn + - deb + - container - label: "arm:non-sudo: {{matrix}}" skip: true diff --git a/pkg/testing/tools/fleettools/fleet.go b/pkg/testing/tools/fleettools/fleet.go index e593590b3f2..1c774bdb4b5 100644 --- a/pkg/testing/tools/fleettools/fleet.go +++ b/pkg/testing/tools/fleettools/fleet.go @@ -29,29 +29,29 @@ func GetAgentByPolicyIDAndHostnameFromList(ctx context.Context, client *kibana.C return nil, err } - var agentHostnames []string - hostnameAgents := make([]*kibana.AgentExisting, 0) + onPolicy := make([]string, 0, len(listAgentsResp.Items)) + matching := make([]*kibana.AgentExisting, 0, 1) for i, item := range listAgentsResp.Items { agentHostname := item.LocalMetadata.Host.Hostname agentPolicyID := item.PolicyID - - agentHostnames = append(agentHostnames, agentHostname) - - if strings.EqualFold(agentHostname, hostname) && agentPolicyID == policyID { - hostnameAgents = append(hostnameAgents, &listAgentsResp.Items[i]) + if agentPolicyID == policyID { + onPolicy = append(onPolicy, agentHostname) + if strings.EqualFold(agentHostname, hostname) { + matching = append(matching, &listAgentsResp.Items[i]) + } } } - if len(hostnameAgents) == 0 { + if len(matching) == 0 { return nil, fmt.Errorf("unable to find agent with hostname [%s] for policy [%s]. Found: %v", - hostname, policyID, agentHostnames) + hostname, policyID, onPolicy) } - if len(hostnameAgents) > 1 { - return nil, fmt.Errorf("found %d agents with hostname [%s]; expected to find only one", len(hostnameAgents), hostname) + if len(matching) > 1 { + return nil, fmt.Errorf("found %d agents with hostname [%s]; expected to find only one", len(matching), hostname) } - return hostnameAgents[0], nil + return matching[0], nil } func GetAgentIDByHostname(ctx context.Context, client *kibana.Client, policyID, hostname string) (string, error) { diff --git a/testing/integration/endpoint_security_test.go b/testing/integration/endpoint_security_test.go index 197fc7d9f5a..56940d3a9f4 100644 --- a/testing/integration/endpoint_security_test.go +++ b/testing/integration/endpoint_security_test.go @@ -69,7 +69,7 @@ var protectionTests = []struct { // test automatically. func TestInstallAndCLIUninstallWithEndpointSecurity(t *testing.T) { info := define.Require(t, define.Requirements{ - Group: Fleet, + Group: FleetEndpointSecurity, Stack: &define.Stack{}, Local: false, // requires Agent installation Sudo: true, // requires Agent installation @@ -96,7 +96,7 @@ func TestInstallAndCLIUninstallWithEndpointSecurity(t *testing.T) { // but at this point endpoint is already uninstalled. func TestInstallAndUnenrollWithEndpointSecurity(t *testing.T) { info := define.Require(t, define.Requirements{ - Group: Fleet, + Group: FleetEndpointSecurity, Stack: &define.Stack{}, Local: false, // requires Agent installation Sudo: true, // requires Agent installation @@ -124,7 +124,7 @@ func TestInstallAndUnenrollWithEndpointSecurity(t *testing.T) { // but at this point endpoint should be already uninstalled. func TestInstallWithEndpointSecurityAndRemoveEndpointIntegration(t *testing.T) { info := define.Require(t, define.Requirements{ - Group: Fleet, + Group: FleetEndpointSecurity, Stack: &define.Stack{}, Local: false, // requires Agent installation Sudo: true, // requires Agent installation @@ -399,7 +399,7 @@ type agentPolicyUpdateRequest struct { // path other than default func TestEndpointSecurityNonDefaultBasePath(t *testing.T) { info := define.Require(t, define.Requirements{ - Group: Fleet, + Group: FleetEndpointSecurity, Stack: &define.Stack{}, Local: false, // requires Agent installation Sudo: true, // requires Agent installation @@ -470,7 +470,7 @@ func TestEndpointSecurityNonDefaultBasePath(t *testing.T) { // Tests that install of Elastic Defend fails if Agent is installed unprivileged. func TestEndpointSecurityUnprivileged(t *testing.T) { info := define.Require(t, define.Requirements{ - Group: Fleet, + Group: FleetEndpointSecurity, Stack: &define.Stack{}, Local: false, // requires Agent installation Sudo: true, // requires Agent installation @@ -550,7 +550,7 @@ func TestEndpointSecurityUnprivileged(t *testing.T) { // Tests that trying to switch from privileged to unprivileged with Elastic Defend fails. func TestEndpointSecurityCannotSwitchToUnprivileged(t *testing.T) { info := define.Require(t, define.Requirements{ - Group: Fleet, + Group: FleetEndpointSecurity, Stack: &define.Stack{}, Local: false, // requires Agent installation Sudo: true, // requires Agent installation @@ -620,7 +620,7 @@ func TestEndpointSecurityCannotSwitchToUnprivileged(t *testing.T) { // TestEndpointLogsAreCollectedInDiagnostics tests that diagnostics archive contain endpoint logs func TestEndpointLogsAreCollectedInDiagnostics(t *testing.T) { info := define.Require(t, define.Requirements{ - Group: Fleet, + Group: FleetEndpointSecurity, Stack: &define.Stack{}, Local: false, // requires Agent installation Sudo: true, // requires Agent installation @@ -838,7 +838,7 @@ func agentIsHealthyNoEndpoint(t *testing.T, ctx context.Context, agentClient cli // when an installed agent is running a policy with tamper protection enabled fails. func TestForceInstallOverProtectedPolicy(t *testing.T) { info := define.Require(t, define.Requirements{ - Group: Fleet, + Group: FleetEndpointSecurity, Stack: &define.Stack{}, Local: false, // requires Agent installation Sudo: true, // requires Agent installation @@ -904,7 +904,7 @@ func TestForceInstallOverProtectedPolicy(t *testing.T) { func TestInstallDefendWithMTLSandEncCertKey(t *testing.T) { stack := define.Require(t, define.Requirements{ - Group: Fleet, + Group: FleetEndpointSecurity, Stack: &define.Stack{}, Local: false, // requires Agent installation Sudo: true, // requires Agent installation diff --git a/testing/integration/groups_test.go b/testing/integration/groups_test.go index 0440f49f0ff..bc6c93f0caa 100644 --- a/testing/integration/groups_test.go +++ b/testing/integration/groups_test.go @@ -35,9 +35,18 @@ const ( // Upgrade group of tests. Used for testing upgrades. Upgrade = "upgrade" + // StandaloneUpgrade group of tests. Used for TestStandaloneUpgrade. + StandaloneUpgrade = "standalone-upgrade" + // Deb group of tests. Used for testing .deb packages install & upgrades Deb = "deb" // RPM group of tests. Used for testing .rpm packages install & upgrades RPM = "rpm" + + // InstallUninstall group of tests. Used for testing repeated install & uninstall scenarios + InstallUninstall = "install-uninstall" + + // FleetInstall group of tests. Used for the long running fleet-related "TestInstall..." tests. + FleetEndpointSecurity = "fleet-endpoint-security" ) diff --git a/testing/integration/install_test.go b/testing/integration/install_test.go index 9a446aab132..7de5668f715 100644 --- a/testing/integration/install_test.go +++ b/testing/integration/install_test.go @@ -642,7 +642,7 @@ func testUninstallAuditUnenroll(ctx context.Context, fixture *atesting.Fixture, // into Fleet. Current testing shows each iteration takes around 16 seconds. func TestRepeatedInstallUninstallFleet(t *testing.T) { info := define.Require(t, define.Requirements{ - Group: Fleet, + Group: InstallUninstall, Stack: &define.Stack{}, // needs a fleet-server. // We require sudo for this test to run // `elastic-agent install` (even though it will @@ -673,8 +673,7 @@ func TestRepeatedInstallUninstallFleet(t *testing.T) { require.NoError(t, err) maxRunTime := 2 * time.Minute - iterations := 100 - for i := 0; i < iterations; i++ { + for i := 0; i < iterations(); i++ { successful := t.Run(fmt.Sprintf("%s-%d", t.Name(), i), func(t *testing.T) { ctx, cancel := testcontext.WithDeadline(t, context.Background(), time.Now().Add(maxRunTime)) defer cancel() @@ -714,6 +713,14 @@ func TestRepeatedInstallUninstallFleet(t *testing.T) { } } +func iterations() int { + // If running in CI, reduce the number of iterations to speed up the test. + if os.Getenv("BUILDKITE_PULL_REQUEST") != "" { + return 50 + } + return 100 +} + func randStr(length int) string { letters := []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") diff --git a/testing/integration/upgrade_standalone_test.go b/testing/integration/upgrade_standalone_test.go index 15a84eef1ae..f4c23b435a3 100644 --- a/testing/integration/upgrade_standalone_test.go +++ b/testing/integration/upgrade_standalone_test.go @@ -24,7 +24,7 @@ import ( func TestStandaloneUpgrade(t *testing.T) { define.Require(t, define.Requirements{ - Group: Upgrade, + Group: StandaloneUpgrade, Local: false, // requires Agent installation Sudo: true, // requires Agent installation })