package main import ( "log/slog" "os" "git.dubyatp.xyz/chat-api-server/api" "git.dubyatp.xyz/chat-api-server/log" "github.com/joho/godotenv" ) func checkEnvVars(keys []string) (bool, []string) { var missing []string for _, key := range keys { if _, ok := os.LookupEnv(key); !ok { missing = append(missing, key) } } return len(missing) == 0, missing } func main() { log.Logger() // initialize logger requiredEnvVars := []string{"SCYLLA_CLUSTER", "SCYLLA_KEYSPACE"} // Initialize dotenv file err := godotenv.Load() if err != nil { slog.Info("No .env file loaded, will try OS environment variables") } // Check if environment variables were defined by the OS before erroring out exists, missingVars := checkEnvVars(requiredEnvVars) if !exists { slog.Error("Missing environment variables", "missing", missingVars) os.Exit(1) } slog.Info("Starting the API Server...") api.Start() }