Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26,431 changes: 13,110 additions & 13,321 deletions NOTICE.txt

Large diffs are not rendered by default.

9 changes: 4 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,6 @@ require (
github.com/elastic/go-sfdc v0.0.0-20241010131323-8e176480d727
github.com/elastic/mito v1.22.0
github.com/elastic/mock-es v0.0.0-20250530054253-8c3b6053f9b6
github.com/elastic/opentelemetry-collector-components/extension/beatsauthextension v0.3.0
github.com/elastic/sarama v1.19.1-0.20250603175145-7672917f26b6
github.com/elastic/tk-btf v0.2.0
github.com/elastic/toutoumomoma v0.0.0-20240626215117-76e39db18dfb
Expand Down Expand Up @@ -240,11 +239,15 @@ require (
github.com/elastic/pkcs8 v1.0.0
go.opentelemetry.io/collector/client v1.43.0
go.opentelemetry.io/collector/component/componenttest v0.137.0
go.opentelemetry.io/collector/config/configauth v1.43.0
go.opentelemetry.io/collector/config/confighttp v0.137.0
go.opentelemetry.io/collector/config/configoptional v1.43.0
go.opentelemetry.io/collector/confmap/xconfmap v0.137.0
go.opentelemetry.io/collector/consumer/consumertest v0.137.0
go.opentelemetry.io/collector/exporter v1.43.0
go.opentelemetry.io/collector/exporter/exportertest v0.137.0
go.opentelemetry.io/collector/extension v1.43.0
go.opentelemetry.io/collector/extension/extensionauth v1.43.0
go.opentelemetry.io/collector/extension/extensiontest v0.137.0
go.opentelemetry.io/collector/pipeline v1.43.0
go.opentelemetry.io/collector/processor v1.43.0
Expand Down Expand Up @@ -433,12 +436,9 @@ require (
go.elastic.co/fastjson v1.5.1 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/auto/sdk v1.2.0 // indirect
go.opentelemetry.io/collector/config/configauth v1.43.0 // indirect
go.opentelemetry.io/collector/config/configcompression v1.43.0 // indirect
go.opentelemetry.io/collector/config/confighttp v0.137.0 // indirect
go.opentelemetry.io/collector/config/configmiddleware v1.43.0 // indirect
go.opentelemetry.io/collector/config/configopaque v1.43.0 // indirect
go.opentelemetry.io/collector/config/configoptional v1.43.0 // indirect
go.opentelemetry.io/collector/config/configretry v1.43.0 // indirect
go.opentelemetry.io/collector/config/configtelemetry v0.137.0 // indirect
go.opentelemetry.io/collector/connector v0.137.0 // indirect
Expand All @@ -449,7 +449,6 @@ require (
go.opentelemetry.io/collector/exporter/exporterhelper v0.137.0 // indirect
go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper v0.137.0 // indirect
go.opentelemetry.io/collector/exporter/xexporter v0.137.0 // indirect
go.opentelemetry.io/collector/extension/extensionauth v1.43.0 // indirect
go.opentelemetry.io/collector/extension/extensioncapabilities v0.137.0 // indirect
go.opentelemetry.io/collector/extension/extensionmiddleware v0.137.0 // indirect
go.opentelemetry.io/collector/extension/xextension v0.137.0 // indirect
Expand Down
2 changes: 0 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -422,8 +422,6 @@ github.com/elastic/mito v1.22.0 h1:DW4RkO+PLwSbKVF5ijYzi0ug+TKzLL+DVJRzbOPbzQ0=
github.com/elastic/mito v1.22.0/go.mod h1:h1V+8B62+DXsu0TstJkjsTh5ewJIDJlwzxPkP3HBM9s=
github.com/elastic/mock-es v0.0.0-20250530054253-8c3b6053f9b6 h1:JVNuBrmOoqLJgp9o68YBMnOrXCzQI3mCppW+suwRSlw=
github.com/elastic/mock-es v0.0.0-20250530054253-8c3b6053f9b6/go.mod h1:cXqWcLnmu5y4QveTb2hjk7rgzkHMuZsqeXtbJpNAcu0=
github.com/elastic/opentelemetry-collector-components/extension/beatsauthextension v0.3.0 h1:0+WK9lHE5HflQFUSghnpBAto7jQItDw5o+uTSGKHMlo=
github.com/elastic/opentelemetry-collector-components/extension/beatsauthextension v0.3.0/go.mod h1:OdiJntTK9K7urGZ1hwAi2v/Ha3jsBKv8Yu2QLSCn6Yc=
github.com/elastic/pkcs8 v1.0.0 h1:HhitlUKxhN288kcNcYkjW6/ouvuwJWd9ioxpjnD9jVA=
github.com/elastic/pkcs8 v1.0.0/go.mod h1:ipsZToJfq1MxclVTwpG7U/bgeDtf+0HkUiOxebk95+0=
github.com/elastic/sarama v1.19.1-0.20250603175145-7672917f26b6 h1:2COw7kzXkIyS4hKNUl5qw0KolrwncrY4VVNpngVNo8I=
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,14 @@
// Licensed to Elasticsearch B.V. under one or more contributor
// license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright
// ownership. Elasticsearch B.V. licenses this file to you 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.
// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
// or more contributor license agreements. Licensed under the Elastic License;
// you may not use this file except in compliance with the Elastic License.

<<<<<<< HEAD:libbeat/otelbeat/oteltest/beatsauth_test.go

Check failure on line 5 in x-pack/libbeat/common/otelbeat/beatsuth_test.go

View workflow job for this annotation

GitHub Actions / lint (ubuntu-latest)

expected 'package', found '<<' (typecheck)
package oteltest
=======
//go:build !requirefips

package otelbeat
>>>>>>> 68257d99f (Move beatsauth extension to beats repo (#47444)):x-pack/libbeat/common/otelbeat/beatsuth_test.go

import (
"bytes"
Expand Down Expand Up @@ -54,10 +47,11 @@
"gopkg.in/yaml.v2"

"github.com/elastic/beats/v7/libbeat/otelbeat/beatconverter"
"github.com/elastic/beats/v7/libbeat/otelbeat/oteltest"
"github.com/elastic/beats/v7/x-pack/otel/extension/beatsauthextension"
"github.com/elastic/elastic-agent-libs/testing/proxytest"
"github.com/elastic/elastic-agent-libs/transport/tlscommontest"
mockes "github.com/elastic/mock-es/pkg/api"
"github.com/elastic/opentelemetry-collector-components/extension/beatsauthextension"
)

// This test package tests ES exporter + beatsauth extension together
Expand Down Expand Up @@ -97,7 +91,7 @@
}

// get client certificates paths
clientCertificate, clientKey := GetClientCerts(t, caCert, "")
clientCertificate, clientKey := oteltest.GetClientCerts(t, caCert, "")

// start test server with given server and root certs
certPool := x509.NewCertPool()
Expand Down Expand Up @@ -143,7 +137,84 @@

// get new beats authenticator
beatsauth := newAuthenticator(t, beatsauthextension.Config{
BeatAuthconfig: output.Get("extensions::beatsauth").(map[string]any), //nolint: errcheck // it is a test
BeatAuthConfig: output.Get("extensions::beatsauth").(map[string]any), //nolint: errcheck // it is a test
})

// start extension
host := extensionsMap{component.NewID(component.MustNewType(beatsAuthName)): beatsauth}
err = beatsauth.Start(t.Context(), host)
require.NoError(t, err, "could not start extension")

// start exporter
err = exp.Start(t.Context(), host)
require.NoError(t, err, "could not start exporter")

// send logs
require.NoError(t, mustSendLogs(t, exp, getLogRecord(t)), "error sending logs")

// check if data has reached ES
assertReceivedLogRecord(t, metricReader)
}

<<<<<<< HEAD:libbeat/otelbeat/oteltest/beatsauth_test.go
=======
func TestKeyPassPhrase(t *testing.T) {

// create server certificates
serverCerts, err := tlscommontest.GenSignedCert(caCert, x509.KeyUsageCertSign, false, "server", []string{"localhost"}, []net.IP{net.IPv4(127, 0, 0, 1)}, false)
if err != nil {
t.Fatalf("could not generate certificates: %s", err)
}

// get client certificates paths with key file encrypted in PKCS#8 format
clientCertificate, clientKey := oteltest.GetClientCerts(t, caCert, "your-password")

// start test server with given server and root certs
certPool := x509.NewCertPool()
certPool.AddCert(caCert.Leaf)

serverName, metricReader := startTestServer(t, &tls.Config{
// NOTE: client certificates are not verified unless ClientAuth is set to RequireAndVerifyClientCert.
ClientAuth: tls.RequireAndVerifyClientCert,
ClientCAs: certPool,
Certificates: []tls.Certificate{serverCerts},
MinVersion: tls.VersionTLS12,
})

inputConfig := `
receivers:
filebeatreceiver:
output:
elasticsearch:
hosts: {{ .Host }}
ssl:
enabled: true
certificate_authorities:
- {{ .CACertificate }}
certificate: {{ .ClientCert }}
key: {{ .ClientKey }}
key_passphrase: your-password
`

var otelConfigBuffer bytes.Buffer
require.NoError(t,
template.Must(template.New("otelConfig").Parse(inputConfig)).Execute(&otelConfigBuffer,
options{
Host: serverName,
CACertificate: caFilePath(t),
ClientCert: clientCertificate,
ClientKey: clientKey,
}))

// translate beat to beatreceiver config
output := getTranslatedConf(t, otelConfigBuffer.Bytes())

// get new test exporter
exp := newTestESExporter(t, output)

// get new beats authenticator
beatsauth := newAuthenticator(t, beatsauthextension.Config{
BeatAuthConfig: output.Get("extensions::beatsauth").(map[string]any), //nolint: errcheck // it is a test
})

// start extension
Expand All @@ -162,6 +233,7 @@
assertReceivedLogRecord(t, metricReader)
}

>>>>>>> 68257d99f (Move beatsauth extension to beats repo (#47444)):x-pack/libbeat/common/otelbeat/beatsuth_test.go
// tests ca_trusted_fingerprint
func TestCATrustedFingerPrint(t *testing.T) {
// create server certificates
Expand Down Expand Up @@ -208,7 +280,7 @@

// get new beats authenticator
beatsauth := newAuthenticator(t, beatsauthextension.Config{
BeatAuthconfig: output.Get("extensions::beatsauth").(map[string]any), //nolint: errcheck // it is a test
BeatAuthConfig: output.Get("extensions::beatsauth").(map[string]any), //nolint: errcheck // it is a test
})

// start extension
Expand Down Expand Up @@ -388,11 +460,11 @@
exp := newTestESExporter(t, output)

authConfig := beatsauthextension.Config{
BeatAuthconfig: output.Get("extensions::beatsauth").(map[string]any), //nolint: errcheck // it is a test
BeatAuthConfig: output.Get("extensions::beatsauth").(map[string]any), //nolint: errcheck // it is a test
}

if test.ignoreCerts {
delete(authConfig.BeatAuthconfig["ssl"].(map[string]any), "certificate_authorities") //nolint: errcheck // it is a test
delete(authConfig.BeatAuthConfig["ssl"].(map[string]any), "certificate_authorities") //nolint: errcheck // it is a test
}

// get new beats authenticator
Expand Down Expand Up @@ -548,7 +620,7 @@

// get new beats authenticator
beatsauth := newAuthenticator(t, beatsauthextension.Config{
BeatAuthconfig: output.Get("extensions::beatsauth").(map[string]any), //nolint: errcheck // it is a test
BeatAuthConfig: output.Get("extensions::beatsauth").(map[string]any), //nolint: errcheck // it is a test
})

// start extension
Expand Down
2 changes: 1 addition & 1 deletion x-pack/libbeat/common/otelbeat/otel.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ import (
"github.com/elastic/beats/v7/x-pack/filebeat/fbreceiver"
"github.com/elastic/beats/v7/x-pack/metricbeat/mbreceiver"
"github.com/elastic/beats/v7/x-pack/otel/exporter/logstashexporter"
"github.com/elastic/beats/v7/x-pack/otel/extension/beatsauthextension"
"github.com/elastic/beats/v7/x-pack/otel/processor/beatprocessor"
"github.com/elastic/elastic-agent-libs/mapstr"
"github.com/elastic/opentelemetry-collector-components/extension/beatsauthextension"
)

var schemeMap = map[string]string{
Expand Down
Loading
Loading