Newer
Older
EnvoyControlPlane / main.go
@Yangyang Xie Yangyang Xie 11 days ago 663 bytes refactor code
// 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)
	}
}