feat: scaffold go backend foundation

This commit is contained in:
user
2026-04-26 16:14:31 +09:00
parent 2744c37f58
commit 0e232ff405
15 changed files with 633 additions and 13 deletions

37
internal/config/config.go Normal file
View File

@@ -0,0 +1,37 @@
package config
import "os"
const (
defaultHTTPAddr = ":8080"
defaultEnvironment = "development"
defaultModelKey = "deepseek-v4-flash"
defaultThirdOneBin = "thirdone"
defaultWorkflowRuntime = ""
)
type Config struct {
HTTPAddr string
Environment string
WorkflowRuntime string
ModelKey string
ThirdOneBin string
}
func LoadFromEnv() Config {
return Config{
HTTPAddr: envOrDefault("TUTOR_HTTP_ADDR", defaultHTTPAddr),
Environment: envOrDefault("TUTOR_ENV", defaultEnvironment),
WorkflowRuntime: envOrDefault("TUTOR_WORKFLOW_RUNTIME", defaultWorkflowRuntime),
ModelKey: envOrDefault("TUTOR_MODEL_KEY", defaultModelKey),
ThirdOneBin: envOrDefault("THIRDONE_BIN", defaultThirdOneBin),
}
}
func envOrDefault(key string, fallback string) string {
value := os.Getenv(key)
if value == "" {
return fallback
}
return value
}