func main()

in cmd/csi_driver/main.go [45:102]


func main() {
	klog.InitFlags(nil)
	flag.Parse()

	ctx, cancel := context.WithCancel(context.Background())
	defer cancel()

	config := &driver.LustreDriverConfig{
		Name:                   driver.DefaultName,
		Version:                version,
		RunController:          *runController,
		RunNode:                *runNode,
		EnableLegacyLustrePort: *enableLegacyLustrePort,
	}

	if *runNode {
		if *nodeID == "" {
			klog.Fatalf("NodeID cannot be empty for node service")
		}
		config.NodeID = *nodeID

		meta, err := metadata.NewMetadataService(ctx)
		if err != nil {
			klog.Fatalf("Failed to set up metadata service: %v", err)
		}
		klog.Infof("Metadata service setup: %+v", meta)
		config.MetadataService = meta

		config.Mounter = mount.New("")
	}

	if *runController {
		if *httpEndpoint != "" && metrics.IsGKEComponentVersionAvailable() {
			mm := metrics.NewMetricsManager()
			mm.InitializeHTTPHandler(*httpEndpoint, *metricsPath)
			if err := mm.EmitGKEComponentVersion(); err != nil {
				klog.Fatalf("Failed to emit GKE component version: %v", err)
			}
		}

		if *lustreAPIEndpoint == "" {
			*lustreAPIEndpoint = "prod"
		}
		cloudProvider, err := lustre.NewCloud(ctx, *cloudConfigFilePath, version, *lustreAPIEndpoint)
		if err != nil {
			klog.Fatalf("Failed to initialize cloud provider: %v", err)
		}
		config.Cloud = cloudProvider
	}

	lustreDriver, err := driver.NewLustreDriver(config)
	if err != nil {
		klog.Fatalf("Failed to initialize Lustre CSI Driver: %v", err)
	}

	klog.Infof("Running Lustre CSI driver version %v", version)
	lustreDriver.Run(*endpoint)
}