Spaces:
Paused
Paused
| package config | |
| import ( | |
| "augment2api/pkg/logger" | |
| "os" | |
| ) | |
| type Config struct { | |
| RedisConnString string | |
| AuthToken string | |
| CodingMode string | |
| CodingToken string | |
| TenantURL string | |
| AccessPwd string | |
| RoutePrefix string | |
| ProxyURL string | |
| } | |
| const version = "v1.0.6" | |
| var AppConfig Config | |
| func InitConfig() error { | |
| // 从环境变量读取配置 | |
| AppConfig = Config{ | |
| // 必填配置 | |
| RedisConnString: getEnv("REDIS_CONN_STRING", ""), | |
| AccessPwd: getEnv("ACCESS_PWD", ""), | |
| // 非必填配置 | |
| AuthToken: getEnv("AUTH_TOKEN", ""), // api鉴权token | |
| RoutePrefix: getEnv("ROUTE_PREFIX", ""), // 自定义openai接口路由前缀 | |
| CodingMode: getEnv("CODING_MODE", "false"), | |
| CodingToken: getEnv("CODING_TOKEN", ""), | |
| TenantURL: getEnv("TENANT_URL", ""), | |
| ProxyURL: getEnv("PROXY_URL", ""), // 代理URL配置 | |
| } | |
| if AppConfig.CodingMode == "false" { | |
| // redis连接字符串 示例: redis://default:pwd@localhost:6379 | |
| if AppConfig.RedisConnString == "" { | |
| logger.Log.Fatalln("未配置环境变量 REDIS_CONN_STRING") | |
| } | |
| } | |
| // 为了安全,必须配置访问密码 | |
| if AppConfig.AccessPwd == "" { | |
| logger.Log.Fatalln("未配置环境变量 ACCESS_PWD") | |
| } | |
| // 打印欢迎信息 | |
| logger.Log.Info("Welcome to use Augment2Api! Current Version: " + version) | |
| logger.Log.Info("Augment2Api配置加载完成:\n" + | |
| "----------------------------------------\n" + | |
| "AuthToken: " + AppConfig.AuthToken + "\n" + | |
| "AccessPwd: " + AppConfig.AccessPwd + "\n" + | |
| "RedisConnString: " + AppConfig.RedisConnString + "\n" + | |
| "RoutePrefix: " + AppConfig.RoutePrefix + "\n" + | |
| "ProxyURL: " + AppConfig.ProxyURL + "\n" + | |
| "----------------------------------------") | |
| logger.Log.Info("Everything is set up, now start to fully enjoy the charm of AI !") | |
| return nil | |
| } | |
| func getEnv(key, defaultValue string) string { | |
| value := os.Getenv(key) | |
| if value == "" { | |
| return defaultValue | |
| } | |
| return value | |
| } | |