Files
scannerbot/server/main.go
T

44 lines
853 B
Go

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()
}