Skip to content

Commit

Permalink
Use default SumoLogic URL for OpAmp clients
Browse files Browse the repository at this point in the history
When the OpAmp URL is not explicitly configured, use the default
SumoLogic URL.
  • Loading branch information
echlebek committed Apr 24, 2024
1 parent b607398 commit 946bfd4
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
17 changes: 16 additions & 1 deletion pkg/extension/opampextension/opamp_agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ import (
"github.com/SumoLogic/sumologic-otel-collector/pkg/extension/sumologicextension"
)

const DefaultSumoLogicOpAmpURL = "wss://opamp-events.sumologic.com/v1/opamp"

type opampAgent struct {
cfg *Config
host component.Host
Expand Down Expand Up @@ -99,6 +101,9 @@ func (o *opampAgent) Start(ctx context.Context, host component.Host) error {
}

o.endpoint = o.cfg.Endpoint
if o.endpoint == "" {
o.endpoint = DefaultSumoLogicOpAmpURL
}

if o.authExtension == nil {
return o.startClient(ctx)
Expand Down Expand Up @@ -144,7 +149,7 @@ func (o *opampAgent) Reload(ctx context.Context) error {
return o.Start(ctx, o.host)
}

func (o *opampAgent) startClient(ctx context.Context) error {
func (o *opampAgent) startSettings() types.StartSettings {
settings := types.StartSettings{
Header: o.authHeader,
OpAMPServerURL: o.endpoint,
Expand Down Expand Up @@ -172,6 +177,16 @@ func (o *opampAgent) startClient(ctx context.Context) error {
Capabilities: o.getAgentCapabilities(),
}

if settings.OpAMPServerURL == "" {
settings.OpAMPServerURL = DefaultSumoLogicOpAmpURL
}

return settings
}

func (o *opampAgent) startClient(ctx context.Context) error {
settings := o.startSettings()

o.logger.Debug("Starting OpAMP client...")

if err := o.opampClient.Start(ctx, settings); err != nil {
Expand Down
13 changes: 13 additions & 0 deletions pkg/extension/opampextension/opamp_agent_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -485,3 +485,16 @@ func TestReload(t *testing.T) {
assert.NoError(t, o.Start(ctx, componenttest.NewNopHost()))
assert.NoError(t, o.Reload(ctx))
}

func TestDefaultEndpointSetOnStart(t *testing.T) {
cfg := createDefaultConfig().(*Config)
set := extensiontest.NewNopCreateSettings()
o, err := newOpampAgent(cfg, set.Logger, set.BuildInfo, set.Resource)
if err != nil {
t.Fatal(err)
}
settings := o.startSettings()
if settings.OpAMPServerURL != DefaultSumoLogicOpAmpURL {
t.Error("expected unconfigured opamp endpoint to result in default sumo opamp url setting")
}
}

0 comments on commit 946bfd4

Please sign in to comment.