package main import ( "log/slog" "os" "git.dubyatp.xyz/dubyatp/scannerbot/server/api" grpcserver "git.dubyatp.xyz/dubyatp/scannerbot/server/grpc" "github.com/joho/godotenv" ) var REQUIRED_ENVS = [...]string{ "DATABASE_URL", "JWT_SECRET", "FILE_BACKEND", } 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() { err := godotenv.Load() if err != nil { slog.Debug("No .env file loaded, will try OS environment variables") } exists, missingVars := checkEnvVars(REQUIRED_ENVS[:]) if !exists { slog.Error("Missing environment variables", "missing", missingVars) os.Exit(1) } go grpcserver.Start() slog.Info("Starting the API server...") api.Start() }