github.com/operator-framework/operator-lifecycle-manager@v0.30.0/cmd/package-server/main.go (about)

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"os"
     6  
     7  	log "github.com/sirupsen/logrus"
     8  	"k8s.io/component-base/logs"
     9  	"k8s.io/klog"
    10  
    11  	"github.com/operator-framework/operator-lifecycle-manager/pkg/lib/signals"
    12  	"github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/server"
    13  )
    14  
    15  func main() {
    16  	logs.InitLogs()
    17  	defer logs.FlushLogs()
    18  
    19  	ctx := signals.Context()
    20  	options := server.NewPackageServerOptions(os.Stdout, os.Stderr)
    21  	cmd := server.NewCommandStartPackageServer(ctx, options)
    22  	cmd.Flags().AddGoFlagSet(flag.CommandLine)
    23  	// klog flags used by dependencies need to be explicitly initialized now
    24  	klogFlags := flag.NewFlagSet("klog", flag.ExitOnError)
    25  	klog.InitFlags(klogFlags)
    26  	cmd.Flags().AddGoFlagSet(klogFlags)
    27  
    28  	if err := cmd.Flags().Parse(flag.Args()); err != nil {
    29  		log.Fatal(err)
    30  	}
    31  	if err := cmd.Execute(); err != nil {
    32  		log.Fatal(err)
    33  	}
    34  }