func do(appEnvObj interface{}) error { appEnv := appEnvObj.(*appEnv) discoveryClient, err := getEtcdClient() if err != nil { return err } address := fmt.Sprintf("0.0.0.0:%d", appEnv.APIPort) addresser := route.NewDiscoveryAddresser( discoveryClient, "namespace", ) for i := 0; i < appEnv.NumShards; i++ { if err := addresser.SetMasterAddress(i, address, 0); err != nil { return err } } var driver drive.Driver switch appEnv.DriverType { case "btrfs": driver, err = btrfs.NewDriver(appEnv.DriverRoot, "") if err != nil { return err } default: return fmt.Errorf("unknown value for PFS_DRIVER_TYPE: %s", appEnv.DriverType) } combinedAPIServer := server.NewCombinedAPIServer( route.NewSharder( appEnv.NumShards, ), route.NewRouter( addresser, grpcutil.NewDialer(), address, ), driver, ) return grpcutil.GrpcDo( appEnv.APIPort, appEnv.TracePort, pachyderm.Version, func(s *grpc.Server) { pfs.RegisterApiServer(s, combinedAPIServer) pfs.RegisterInternalApiServer(s, combinedAPIServer) }, ) }
func do(appEnvObj interface{}) error { appEnv := appEnvObj.(*appEnv) rethinkClient, err := getRethinkClient(appEnv.DatabaseAddress, appEnv.DatabaseName) if err != nil { return err } apiClient, err := getPfsAPIClient(appEnv.PfsAddress) if err != nil { return err } return grpcutil.GrpcDo( appEnv.APIPort, appEnv.TracePort, pachyderm.Version, func(s *grpc.Server) { pps.RegisterApiServer(s, server.NewAPIServer(apiClient, rethinkClient, timing.NewSystemTimer())) }, ) }