func Run()

in grpc-xds/greeter-go/cmd/cmd.go [28:58]


func Run(ctx context.Context, flagset *flag.FlagSet, args []string) error {
	ctx = signals.SetupSignalHandler(ctx)
	logging.InitFlags(flagset)
	if err := flagset.Parse(args); err != nil {
		return fmt.Errorf("could not parse command line flags args=%+v: %w", args, err)
	}
	logger := logging.NewLogger()
	logging.SetGRPCLogger(logger)
	ctx = logging.NewContext(ctx, logger)
	servingPort, err := config.ServingPort()
	if err != nil {
		return fmt.Errorf("could not configure greeter server listening port: %w", err)
	}
	healthPort, err := config.HealthPort()
	if err != nil {
		return fmt.Errorf("could not configure greeter server gRPC health check port: %w", err)
	}
	httpHealthPort, err := config.HTTPHealthPort()
	if err != nil {
		return fmt.Errorf("could not configure greeter server HTTP health check port: %w", err)
	}
	serverConfig := server.Config{
		ServingPort:    servingPort,
		HealthPort:     healthPort,
		HTTPHealthPort: httpHealthPort,
		GreeterName:    config.GreeterName(ctx),
		NextHop:        config.NextHop(),
		UseXDS:         config.UseXDS(),
	}
	return server.Run(ctx, serverConfig)
}