56 lines
1.1 KiB
Go
56 lines
1.1 KiB
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
)
|
|
|
|
// Config holds the application configuration
|
|
type Config struct {
|
|
Endpoint string
|
|
TokenizerPath string
|
|
Port string
|
|
LogDir string
|
|
LogLevel string
|
|
}
|
|
|
|
// Load loads configuration from environment variables with defaults
|
|
func Load() *Config {
|
|
// Get tokenizer path from environment or use default
|
|
tokenizerPath := os.Getenv("SGL_TOKENIZER_PATH")
|
|
if tokenizerPath == "" {
|
|
tokenizerPath = "../tokenizer"
|
|
}
|
|
|
|
// Get endpoint from environment or use default
|
|
endpoint := os.Getenv("SGL_GRPC_ENDPOINT")
|
|
if endpoint == "" {
|
|
endpoint = "grpc://localhost:20000"
|
|
}
|
|
|
|
// Get port from environment or use default
|
|
port := os.Getenv("PORT")
|
|
if port == "" {
|
|
port = "8080"
|
|
}
|
|
|
|
// Get log directory from environment or use default
|
|
logDir := os.Getenv("LOG_DIR")
|
|
if logDir == "" {
|
|
logDir = "./logs"
|
|
}
|
|
|
|
// Get log level from environment or use default
|
|
logLevel := os.Getenv("LOG_LEVEL")
|
|
if logLevel == "" {
|
|
logLevel = "info"
|
|
}
|
|
|
|
return &Config{
|
|
Endpoint: endpoint,
|
|
TokenizerPath: tokenizerPath,
|
|
Port: port,
|
|
LogDir: logDir,
|
|
LogLevel: logLevel,
|
|
}
|
|
}
|