Skip to content

Commit 7f963ba

Browse files
authored
Preset default value for SPLUNK_TRACE_URL from SPLUNK_INGEST_URL (#5670)
If SPLUNK_INGEST_URL set by the user, use it to populate default value for SPLUNK_TRACE_URL. This is a preliminary step before we can deprecate and remove SPLUNK_TRACE_URL
1 parent 3f739af commit 7f963ba

File tree

2 files changed

+28
-19
lines changed

2 files changed

+28
-19
lines changed

internal/settings/settings.go

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -376,36 +376,34 @@ func checkRuntimeParams(settings *Settings) error {
376376
}
377377

378378
func setDefaultEnvVars(s *Settings) error {
379-
type ev struct {
380-
e, v string
381-
log bool
379+
defaultEnvVars := map[string]string{
380+
ListenInterfaceEnvVar: defaultListenAddr(s),
381+
ConfigServerEnabledEnvVar: "true",
382382
}
383383

384-
envVars := []ev{
385-
{e: ListenInterfaceEnvVar, v: defaultListenAddr(s), log: true},
386-
{e: ConfigServerEnabledEnvVar, v: "true"},
384+
if realm, ok := os.LookupEnv(RealmEnvVar); ok {
385+
defaultEnvVars[APIURLEnvVar] = fmt.Sprintf("https://api.%s.signalfx.com", realm)
386+
defaultEnvVars[IngestURLEnvVar] = fmt.Sprintf("https://ingest.%s.signalfx.com", realm)
387+
defaultEnvVars[TraceIngestURLEnvVar] = fmt.Sprintf("https://ingest.%s.signalfx.com/v2/trace", realm)
388+
defaultEnvVars[HecLogIngestURLEnvVar] = fmt.Sprintf("https://ingest.%s.signalfx.com/v1/log", realm)
387389
}
388390

389-
if realm, ok := os.LookupEnv(RealmEnvVar); ok {
390-
envVars = append(envVars,
391-
ev{e: APIURLEnvVar, v: fmt.Sprintf("https://api.%s.signalfx.com", realm)},
392-
ev{e: IngestURLEnvVar, v: fmt.Sprintf("https://ingest.%s.signalfx.com", realm)},
393-
ev{e: TraceIngestURLEnvVar, v: fmt.Sprintf("https://ingest.%s.signalfx.com/v2/trace", realm)},
394-
ev{e: HecLogIngestURLEnvVar, v: fmt.Sprintf("https://ingest.%s.signalfx.com/v1/log", realm)},
395-
)
391+
if ingestURL, ok := os.LookupEnv(IngestURLEnvVar); ok {
392+
ingestURL = strings.TrimSuffix(ingestURL, "/")
393+
defaultEnvVars[TraceIngestURLEnvVar] = fmt.Sprintf("%s/v2/trace", ingestURL)
396394
}
397395

398396
if token, ok := os.LookupEnv(TokenEnvVar); ok {
399-
envVars = append(envVars, ev{e: HecTokenEnvVar, v: token})
397+
defaultEnvVars[HecTokenEnvVar] = token
400398
}
401399

402-
for _, envVar := range envVars {
403-
if _, ok := os.LookupEnv(envVar.e); !ok {
404-
if err := os.Setenv(envVar.e, envVar.v); err != nil {
400+
for e, v := range defaultEnvVars {
401+
if _, ok := os.LookupEnv(e); !ok {
402+
if err := os.Setenv(e, v); err != nil {
405403
return err
406404
}
407-
if envVar.log {
408-
log.Printf("set %q to %q", envVar.e, envVar.v)
405+
if e == ListenInterfaceEnvVar {
406+
log.Printf("set %q to %q", e, v)
409407
}
410408
}
411409
}

internal/settings/settings_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,17 @@ func TestSetDefaultEnvVarsSetsHECTokenFromAccessTokenEnvVar(t *testing.T) {
288288
assert.Equal(t, token, val)
289289
}
290290

291+
func TestSetDefaultEnvVarsSetsTraceURLFromIngestURL(t *testing.T) {
292+
t.Cleanup(clearEnv(t))
293+
294+
os.Setenv("SPLUNK_INGEST_URL", "https://ingest.fake-realm.signalfx.com/")
295+
require.NoError(t, setDefaultEnvVars(nil))
296+
297+
val, ok := os.LookupEnv("SPLUNK_TRACE_URL")
298+
assert.True(t, ok)
299+
assert.Equal(t, "https://ingest.fake-realm.signalfx.com/v2/trace", val)
300+
}
301+
291302
func TestSetDefaultEnvVarsRespectsSetEnvVars(t *testing.T) {
292303
t.Cleanup(clearEnv(t))
293304
envVars := []string{"SPLUNK_API_URL", "SPLUNK_INGEST_URL", "SPLUNK_TRACE_URL", "SPLUNK_HEC_URL", "SPLUNK_HEC_TOKEN", "SPLUNK_LISTEN_INTERFACE"}

0 commit comments

Comments
 (0)