// cmd/main.go
package main
import (
"context"
"flag"
"os"
"envoy-control-plane/internal/app"
"envoy-control-plane/internal/config"
internallog "envoy-control-plane/internal/log"
"k8s.io/klog/v2"
)
func main() {
// 1. Initialize and Parse Flags
config.InitFlags() // Initialize all flags from a central location
flag.Parse()
defer klog.Flush()
// 2. Setup Logger and Context
logger := internallog.NewDefaultLogger()
ctx := internallog.WithLogger(context.Background(), logger)
log := internallog.LogFromContext(ctx)
// 3. Run the Application
if err := app.Run(ctx); err != nil {
log.Errorf("Application failed: %v", err)
os.Exit(1)
}
}