MCPcopy Create free account
hub / github.com/astercloud/aster / main

Function main

cmd/aster-server/main.go:108–279  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

106}
107
108func main() {
109 fmt.Println("🚀 aster 星尘云枢 Production Server")
110 fmt.Println("================================")
111
112 // Initialize store
113 // 支持通过环境变量配置存储类型: json (默认), mysql, redis
114 var st store.Store
115 var err error
116
117 storeType := os.Getenv("ASTER_STORE_TYPE")
118 switch storeType {
119 case "mysql":
120 mysqlDSN := os.Getenv("ASTER_MYSQL_DSN")
121 if mysqlDSN == "" {
122 log.Fatalf("ASTER_MYSQL_DSN is required when ASTER_STORE_TYPE=mysql")
123 }
124 fmt.Printf("📁 Using MySQL store\n")
125 st, err = store.NewMySQLStore(store.MySQLConfig{
126 DSN: mysqlDSN,
127 })
128
129 case "redis":
130 redisAddr := os.Getenv("ASTER_REDIS_ADDR")
131 if redisAddr == "" {
132 redisAddr = "localhost:6379"
133 }
134 redisPassword := os.Getenv("ASTER_REDIS_PASSWORD")
135 redisDB := 0
136 if dbStr := os.Getenv("ASTER_REDIS_DB"); dbStr != "" {
137 _, _ = fmt.Sscanf(dbStr, "%d", &redisDB)
138 }
139 redisPrefix := os.Getenv("ASTER_REDIS_PREFIX")
140 if redisPrefix == "" {
141 redisPrefix = "aster:"
142 }
143 fmt.Printf("📁 Using Redis store: %s\n", redisAddr)
144 st, err = store.NewRedisStore(store.RedisConfig{
145 Addr: redisAddr,
146 Password: redisPassword,
147 DB: redisDB,
148 Prefix: redisPrefix,
149 })
150
151 default:
152 // 默认使用 JSON Store
153 dataDir := os.Getenv("ASTER_DATA_DIR")
154 if dataDir == "" {
155 dataDir = ".data"
156 }
157 fmt.Printf("📁 Using JSON store: %s\n", dataDir)
158 st, err = store.NewJSONStore(dataDir)
159 }
160 if err != nil {
161 log.Fatalf("Failed to create store: %v", err)
162 }
163
164 // Initialize tool registry
165 toolRegistry := tools.NewRegistry()

Callers

nothing calls this directly

Calls 15

CreateMethod · 0.95
NewMySQLStoreFunction · 0.92
NewRedisStoreFunction · 0.92
NewJSONStoreFunction · 0.92
NewRegistryFunction · 0.92
RegisterAllFunction · 0.92
NewFactoryFunction · 0.92
NewMultiProviderFactoryFunction · 0.92
NewTemplateRegistryFunction · 0.92
NewStaticRouterFunction · 0.92
InitializeTaskExecutorFunction · 0.92

Tested by

no test coverage detected