Skip to content
Merged
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
13 changes: 7 additions & 6 deletions cmd/collector/app/collector_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
"go.opentelemetry.io/collector/config/configgrpc"
"go.opentelemetry.io/collector/config/confighttp"
"go.opentelemetry.io/collector/config/confignet"
"go.opentelemetry.io/collector/config/configoptional"
"go.opentelemetry.io/collector/config/configtls"
"go.uber.org/zap"

Expand All @@ -35,18 +36,18 @@ func optionsForEphemeralPorts() *flags.CollectorOptions {
collectorOpts := &flags.CollectorOptions{
HTTP: confighttp.ServerConfig{
Endpoint: ":0",
TLS: &configtls.ServerConfig{},
TLS: configoptional.Some(configtls.ServerConfig{}),
},
GRPC: configgrpc.ServerConfig{
NetAddr: confignet.AddrConfig{
Endpoint: ":0",
Transport: confignet.TransportTypeTCP,
},
Keepalive: &configgrpc.KeepaliveServerConfig{
Keepalive: configoptional.Some(configgrpc.KeepaliveServerConfig{
ServerParameters: &configgrpc.KeepaliveServerParameters{
MaxConnectionIdle: 10,
},
},
}),
},
OTLP: struct {
Enabled bool
Expand All @@ -56,18 +57,18 @@ func optionsForEphemeralPorts() *flags.CollectorOptions {
Enabled: true,
HTTP: confighttp.ServerConfig{
Endpoint: ":0",
TLS: &configtls.ServerConfig{},
TLS: configoptional.Some(configtls.ServerConfig{}),
},
GRPC: configgrpc.ServerConfig{
NetAddr: confignet.AddrConfig{
Endpoint: ":0",
Transport: confignet.TransportTypeTCP,
},
Keepalive: &configgrpc.KeepaliveServerConfig{
Keepalive: configoptional.Some(configgrpc.KeepaliveServerConfig{
ServerParameters: &configgrpc.KeepaliveServerParameters{
MaxConnectionIdle: 10,
},
},
}),
},
},
Zipkin: struct {
Expand Down
5 changes: 3 additions & 2 deletions cmd/collector/app/flags/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"github.com/spf13/viper"
"go.opentelemetry.io/collector/config/configgrpc"
"go.opentelemetry.io/collector/config/confighttp"
"go.opentelemetry.io/collector/config/configoptional"
"go.uber.org/zap"

"github.com/jaegertracing/jaeger/cmd/internal/flags"
Expand Down Expand Up @@ -213,12 +214,12 @@ func initGRPCFromViper(v *viper.Viper, opts *configgrpc.ServerConfig, cfg server
opts.TLS = tlsGRPCCfg
opts.NetAddr.Endpoint = ports.FormatHostPort(v.GetString(cfg.prefix + "." + flagSuffixHostPort))
opts.MaxRecvMsgSizeMiB = v.GetInt(cfg.prefix+"."+flagSuffixGRPCMaxReceiveMessageLength) / (1024 * 1024)
opts.Keepalive = &configgrpc.KeepaliveServerConfig{
opts.Keepalive = configoptional.Some(configgrpc.KeepaliveServerConfig{
ServerParameters: &configgrpc.KeepaliveServerParameters{
MaxConnectionAge: v.GetDuration(cfg.prefix + "." + flagSuffixGRPCMaxConnectionAge),
MaxConnectionAgeGrace: v.GetDuration(cfg.prefix + "." + flagSuffixGRPCMaxConnectionAgeGrace),
},
}
})

return nil
}
Expand Down
4 changes: 2 additions & 2 deletions cmd/collector/app/flags/flags_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,8 @@ func TestCollectorOptionsWithFlags_CheckMaxConnectionAge(t *testing.T) {
_, err := c.InitFromViper(v, zap.NewNop())
require.NoError(t, err)

assert.Equal(t, 5*time.Minute, c.GRPC.Keepalive.ServerParameters.MaxConnectionAge)
assert.Equal(t, time.Minute, c.GRPC.Keepalive.ServerParameters.MaxConnectionAgeGrace)
assert.Equal(t, 5*time.Minute, c.GRPC.Keepalive.Get().ServerParameters.MaxConnectionAge)
assert.Equal(t, time.Minute, c.GRPC.Keepalive.Get().ServerParameters.MaxConnectionAgeGrace)
assert.Equal(t, 5*time.Minute, c.HTTP.IdleTimeout)
assert.Equal(t, 6*time.Minute, c.HTTP.ReadTimeout)
assert.Equal(t, 5*time.Second, c.HTTP.ReadHeaderTimeout)
Expand Down
3 changes: 2 additions & 1 deletion cmd/collector/app/handler/zipkin_receiver_tls_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"time"

"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/config/configoptional"
"go.opentelemetry.io/collector/config/configtls"

"github.com/jaegertracing/jaeger/cmd/collector/app/flags"
Expand Down Expand Up @@ -175,7 +176,7 @@ func TestSpanCollectorZipkinTLS(t *testing.T) {

opts := &flags.CollectorOptions{}
opts.Zipkin.Endpoint = ports.PortToHostPort(ports.CollectorZipkin)
opts.Zipkin.TLS = &test.serverTLS
opts.Zipkin.TLS = configoptional.Some(test.serverTLS)

server, err := StartZipkinReceiver(opts, logger, spanProcessor, tm)
if test.expectServerFail {
Expand Down
5 changes: 3 additions & 2 deletions cmd/collector/app/server/grpc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/config/configgrpc"
"go.opentelemetry.io/collector/config/confignet"
"go.opentelemetry.io/collector/config/configoptional"
"go.opentelemetry.io/collector/config/configtls"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
Expand Down Expand Up @@ -99,7 +100,7 @@ func TestSpanCollector(t *testing.T) {

func TestCollectorStartWithTLS(t *testing.T) {
logger, _ := zap.NewDevelopment()
tlsCfg := &configtls.ServerConfig{
tlsCfg := configtls.ServerConfig{
ClientCAFile: testCertKeyLocation + "/example-CA-cert.pem",
Config: configtls.Config{
CertFile: testCertKeyLocation + "/example-server-cert.pem",
Expand All @@ -114,7 +115,7 @@ func TestCollectorStartWithTLS(t *testing.T) {
NetAddr: confignet.AddrConfig{
Transport: confignet.TransportTypeTCP,
},
TLS: tlsCfg,
TLS: configoptional.Some(tlsCfg),
},
}
server, err := StartGRPCServer(params)
Expand Down
14 changes: 11 additions & 3 deletions cmd/collector/app/server/http_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import (
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/config/confighttp"
"go.opentelemetry.io/collector/config/configoptional"
"go.opentelemetry.io/collector/config/configtls"
"go.uber.org/zap"

Expand Down Expand Up @@ -47,13 +48,13 @@ func TestCreateTLSHTTPServerError(t *testing.T) {
params := &HTTPServerParams{
ServerConfig: confighttp.ServerConfig{
Endpoint: ":0",
TLS: &configtls.ServerConfig{
TLS: configoptional.Some(configtls.ServerConfig{
Config: configtls.Config{
CertFile: "invalid/path",
KeyFile: "invalid/path",
CAFile: "invalid/path",
},
},
}),
},
HealthCheck: healthcheck.New(),
Logger: logger,
Expand Down Expand Up @@ -91,6 +92,13 @@ func TestSpanCollectorHTTP(t *testing.T) {
defer server.Close()
}

func optionalFromPtr[T any](ptr *T) configoptional.Optional[T] {
if ptr == nil {
return configoptional.None[T]()
}
return configoptional.Some(*ptr)
}

func TestSpanCollectorHTTPS(t *testing.T) {
testCases := []struct {
name string
Expand Down Expand Up @@ -217,7 +225,7 @@ func TestSpanCollectorHTTPS(t *testing.T) {
params := &HTTPServerParams{
ServerConfig: confighttp.ServerConfig{
Endpoint: fmt.Sprintf(":%d", ports.CollectorHTTP),
TLS: test.TLS,
TLS: optionalFromPtr(test.TLS),
},
Handler: handler.NewJaegerSpanHandler(logger, &mockSpanProcessor{}),
SamplingProvider: &mockSamplingProvider{},
Expand Down
5 changes: 3 additions & 2 deletions cmd/jaeger/internal/extension/expvar/extension_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import (
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/config/configauth"
"go.opentelemetry.io/collector/config/confighttp"
"go.opentelemetry.io/collector/config/configoptional"
"go.uber.org/zap/zaptest"
)

Expand Down Expand Up @@ -60,11 +61,11 @@ func TestExpvarExtension_StartError(t *testing.T) {
config := &Config{
ServerConfig: confighttp.ServerConfig{
Endpoint: "0.0.0.0:27777",
Auth: &confighttp.AuthConfig{
Auth: configoptional.Some(confighttp.AuthConfig{
Config: configauth.Config{
AuthenticatorID: component.MustNewID("invalid_auth"),
},
},
}),
},
}
s := newExtension(config, component.TelemetrySettings{
Expand Down
2 changes: 1 addition & 1 deletion cmd/query/app/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func NewServer(
}
separatePorts := grpcPort != httpPort || grpcPort == "0" || httpPort == "0"

if (options.HTTP.TLS != nil || options.GRPC.TLS != nil) && !separatePorts {
if (options.HTTP.TLS.HasValue() || options.GRPC.TLS.HasValue()) && !separatePorts {
return nil, errors.New("server with TLS enabled can not use same host ports for gRPC and HTTP. Use dedicated HTTP and gRPC host ports instead")
}

Expand Down
27 changes: 17 additions & 10 deletions cmd/query/app/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (
"go.opentelemetry.io/collector/config/configgrpc"
"go.opentelemetry.io/collector/config/confighttp"
"go.opentelemetry.io/collector/config/confignet"
"go.opentelemetry.io/collector/config/configoptional"
"go.opentelemetry.io/collector/config/configtls"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
"go.opentelemetry.io/otel/sdk/trace/tracetest"
Expand Down Expand Up @@ -77,8 +78,8 @@ func TestCreateTLSServerSinglePortError(t *testing.T) {
telset := initTelSet(zaptest.NewLogger(t), jtracer.NoOp(), healthcheck.New())
_, err := NewServer(context.Background(), &querysvc.QueryService{}, &v2querysvc.QueryService{}, nil,
&QueryOptions{
HTTP: confighttp.ServerConfig{Endpoint: ":8080", TLS: &tlsCfg},
GRPC: configgrpc.ServerConfig{NetAddr: confignet.AddrConfig{Endpoint: ":8080", Transport: confignet.TransportTypeTCP}, TLS: &tlsCfg},
HTTP: confighttp.ServerConfig{Endpoint: ":8080", TLS: configoptional.Some(tlsCfg)},
GRPC: configgrpc.ServerConfig{NetAddr: confignet.AddrConfig{Endpoint: ":8080", Transport: confignet.TransportTypeTCP}, TLS: configoptional.Some(tlsCfg)},
},
tenancy.NewManager(&tenancy.Options{}), telset)
require.Error(t, err)
Expand All @@ -96,7 +97,7 @@ func TestCreateTLSGrpcServerError(t *testing.T) {
_, err := NewServer(context.Background(), &querysvc.QueryService{}, &v2querysvc.QueryService{}, nil,
&QueryOptions{
HTTP: confighttp.ServerConfig{Endpoint: ":8080"},
GRPC: configgrpc.ServerConfig{NetAddr: confignet.AddrConfig{Endpoint: ":8081", Transport: confignet.TransportTypeTCP}, TLS: &tlsCfg},
GRPC: configgrpc.ServerConfig{NetAddr: confignet.AddrConfig{Endpoint: ":8081", Transport: confignet.TransportTypeTCP}, TLS: configoptional.Some(tlsCfg)},
},
tenancy.NewManager(&tenancy.Options{}), telset)
require.Error(t, err)
Expand All @@ -113,7 +114,7 @@ func TestStartTLSHttpServerError(t *testing.T) {
telset := initTelSet(zaptest.NewLogger(t), jtracer.NoOp(), healthcheck.New())
s, err := NewServer(context.Background(), &querysvc.QueryService{}, &v2querysvc.QueryService{}, nil,
&QueryOptions{
HTTP: confighttp.ServerConfig{Endpoint: ":8080", TLS: &tlsCfg},
HTTP: confighttp.ServerConfig{Endpoint: ":8080", TLS: configoptional.Some(tlsCfg)},
GRPC: configgrpc.ServerConfig{NetAddr: confignet.AddrConfig{Endpoint: ":8081", Transport: confignet.TransportTypeTCP}},
}, tenancy.NewManager(&tenancy.Options{}), telset)
require.NoError(t, err)
Expand Down Expand Up @@ -338,6 +339,13 @@ func makeQuerySvc() *fakeQueryService {
}
}

func optionalFromPtr[T any](ptr *T) configoptional.Optional[T] {
if ptr == nil {
return configoptional.None[T]()
}
return configoptional.Some(*ptr)
}

func TestServerHTTPTLS(t *testing.T) {
testlen := len(testCases)

Expand Down Expand Up @@ -371,19 +379,18 @@ func TestServerHTTPTLS(t *testing.T) {
if test.GRPCTLSEnabled {
tlsGrpc = enabledTLSCfg
}

serverOptions := &QueryOptions{
BearerTokenPropagation: true,
HTTP: confighttp.ServerConfig{
Endpoint: ":0",
TLS: test.TLS,
TLS: optionalFromPtr(test.TLS),
},
GRPC: configgrpc.ServerConfig{
NetAddr: confignet.AddrConfig{
Endpoint: ":0",
Transport: confignet.TransportTypeTCP,
},
TLS: tlsGrpc,
TLS: optionalFromPtr(tlsGrpc),
},
}
flagsSvc := flags.NewService(ports.QueryAdminHTTP)
Expand Down Expand Up @@ -484,14 +491,14 @@ func TestServerGRPCTLS(t *testing.T) {
BearerTokenPropagation: true,
HTTP: confighttp.ServerConfig{
Endpoint: ":0",
TLS: tlsHttp,
TLS: optionalFromPtr(tlsHttp),
},
GRPC: configgrpc.ServerConfig{
NetAddr: confignet.AddrConfig{
Endpoint: ":0",
Transport: confignet.TransportTypeTCP,
},
TLS: test.TLS,
TLS: optionalFromPtr(test.TLS),
},
}
flagsSvc := flags.NewService(ports.QueryAdminHTTP)
Expand All @@ -509,7 +516,7 @@ func TestServerGRPCTLS(t *testing.T) {
})

var client *grpcClient
if serverOptions.GRPC.TLS != nil {
if serverOptions.GRPC.TLS.HasValue() {
clientTLSCfg, err0 := test.clientTLS.LoadTLSConfig(context.Background())
require.NoError(t, err0)
creds := credentials.NewTLS(clientTLSCfg)
Expand Down
13 changes: 9 additions & 4 deletions cmd/remote-storage/app/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import (
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/config/configgrpc"
"go.opentelemetry.io/collector/config/confignet"
"go.opentelemetry.io/collector/config/configoptional"
"go.opentelemetry.io/collector/config/configtls"
"go.uber.org/zap"
"go.uber.org/zap/zaptest/observer"
Expand Down Expand Up @@ -125,7 +126,7 @@ func (*fakeFactory) InitArchiveStorage(*zap.Logger) (spanstore.Reader, spanstore
}

func TestNewServer_TLSConfigError(t *testing.T) {
tlsCfg := &configtls.ServerConfig{
tlsCfg := configtls.ServerConfig{
ClientCAFile: "invalid/path",
Config: configtls.Config{
CertFile: "invalid/path",
Expand All @@ -144,7 +145,7 @@ func TestNewServer_TLSConfigError(t *testing.T) {
NetAddr: confignet.AddrConfig{
Endpoint: ":8081",
},
TLS: tlsCfg,
TLS: configoptional.Some(tlsCfg),
},
},
&fakeFactory{},
Expand Down Expand Up @@ -347,12 +348,16 @@ func newGRPCClient(t *testing.T, addr string, creds credentials.TransportCredent
func TestServerGRPCTLS(t *testing.T) {
for _, test := range testCases {
t.Run(test.name, func(t *testing.T) {
tls := configoptional.None[configtls.ServerConfig]()
if test.TLS != nil {
tls = configoptional.Some(*test.TLS)
}
serverOptions := &Options{
ServerConfig: configgrpc.ServerConfig{
NetAddr: confignet.AddrConfig{
Endpoint: ":0",
},
TLS: test.TLS,
TLS: tls,
},
}
flagsSvc := flags.NewService(ports.QueryAdminHTTP)
Expand Down Expand Up @@ -384,7 +389,7 @@ func TestServerGRPCTLS(t *testing.T) {
var clientError error
var client *grpcClient

if serverOptions.TLS != nil {
if serverOptions.TLS.HasValue() {
clientTLSCfg, err0 := test.clientTLS.LoadTLSConfig(context.Background())
require.NoError(t, err0)
creds := credentials.NewTLS(clientTLSCfg)
Expand Down
Loading
Loading