fix: allow disabling trace export
ci / verify (push) Canceled after 0s

This commit is contained in:
Codex Local
2026-08-26 10:51:33 +08:00
parent f3dc6deb2e
commit 8955b57ddc
2 changed files with 20 additions and 1 deletions
+9 -1
View File
@@ -269,7 +269,7 @@ func Load(serviceName string) (Config, error) {
AuthIssuerURL: stringEnv("AUTH_ISSUER_URL", "http://localhost:58180/realms/voice-local"), AuthIssuerURL: stringEnv("AUTH_ISSUER_URL", "http://localhost:58180/realms/voice-local"),
AuthJWKSURL: stringEnv("AUTH_JWKS_URL", "http://localhost:58180/realms/voice-local/protocol/openid-connect/certs"), AuthJWKSURL: stringEnv("AUTH_JWKS_URL", "http://localhost:58180/realms/voice-local/protocol/openid-connect/certs"),
AuthAudience: stringEnv("AUTH_AUDIENCE", "voice-platform-web"), AuthAudience: stringEnv("AUTH_AUDIENCE", "voice-platform-web"),
OTLPEndpoint: stringEnv("OTEL_EXPORTER_OTLP_ENDPOINT", "localhost:54317"), OTLPEndpoint: stringEnvAllowEmpty("OTEL_EXPORTER_OTLP_ENDPOINT", "localhost:54317"),
DependencyTimeout: dependencyTimeout, DependencyTimeout: dependencyTimeout,
ExternalProbeInterval: externalProbeInterval, ExternalProbeInterval: externalProbeInterval,
ShutdownTimeout: shutdownTimeout, ShutdownTimeout: shutdownTimeout,
@@ -703,6 +703,14 @@ func stringEnv(key, fallback string) string {
return value return value
} }
func stringEnvAllowEmpty(key, fallback string) string {
value, exists := os.LookupEnv(key)
if !exists {
return fallback
}
return strings.TrimSpace(value)
}
func intEnv(key string, fallback int) (int, error) { func intEnv(key string, fallback int) (int, error) {
value := strings.TrimSpace(os.Getenv(key)) value := strings.TrimSpace(os.Getenv(key))
if value == "" { if value == "" {
+11
View File
@@ -27,6 +27,17 @@ func TestLoadUsesServicePortDefaults(t *testing.T) {
} }
} }
func TestLoadAllowsTracingExporterToBeDisabled(t *testing.T) {
t.Setenv("OTEL_EXPORTER_OTLP_ENDPOINT", "")
cfg, err := Load("api")
if err != nil {
t.Fatal(err)
}
if cfg.OTLPEndpoint != "" {
t.Fatalf("OTLPEndpoint = %q, want disabled exporter", cfg.OTLPEndpoint)
}
}
func TestLoadRejectsInvalidDuration(t *testing.T) { func TestLoadRejectsInvalidDuration(t *testing.T) {
t.Setenv("DEPENDENCY_TIMEOUT", "soon") t.Setenv("DEPENDENCY_TIMEOUT", "soon")
if _, err := Load("api"); err == nil { if _, err := Load("api"); err == nil {