Documentation ¶
Index ¶
- func NewServer(conf config.Config, rs datastore.RepositoryStore, ...) gitalypb.PraefectInfoServiceServer
- type AssignmentStore
- type PrimaryGetter
- type Server
- func (s *Server) DatalossCheck(ctx context.Context, req *gitalypb.DatalossCheckRequest) (*gitalypb.DatalossCheckResponse, error)
- func (s *Server) RepositoryReplicas(ctx context.Context, in *gitalypb.RepositoryReplicasRequest) (*gitalypb.RepositoryReplicasResponse, error)
- func (s *Server) SetAuthoritativeStorage(ctx context.Context, req *gitalypb.SetAuthoritativeStorageRequest) (*gitalypb.SetAuthoritativeStorageResponse, error)
- func (s *Server) SetReplicationFactor(ctx context.Context, req *gitalypb.SetReplicationFactorRequest) (*gitalypb.SetReplicationFactorResponse, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewServer ¶
func NewServer( conf config.Config, rs datastore.RepositoryStore, assignmentStore AssignmentStore, conns service.Connections, primaryGetter PrimaryGetter, ) gitalypb.PraefectInfoServiceServer
NewServer creates a new instance of a grpc InfoServiceServer
Types ¶
type AssignmentStore ¶
type AssignmentStore interface { // GetHostAssignments returns the names of the storages assigned to host the repository. // The primary node must always be assigned. GetHostAssignments(ctx context.Context, virtualStorage, relativePath string) ([]string, error) // SetReplicationFactor sets a repository's replication factor and returns the current assignments. SetReplicationFactor(ctx context.Context, virtualStorage, relativePath string, replicationFactor int) ([]string, error) }
AssignmentStore is an interface for getting repository host node assignments.
This duplicates the praefect.AssignmentGetter type as it is not possible to import anything from `praefect` to `info` packages due to cyclic dependencies.
type PrimaryGetter ¶
type PrimaryGetter interface { // GetPrimary returns the primary storage for a given repository. GetPrimary(ctx context.Context, virtualStorage string, relativePath string) (string, error) }
PrimaryGetter is an interface for getting a primary of a repository.
This duplicates the praefect.PrimaryGetter type as it is not possible to import anything from `praefect` to `info` packages due to cyclic dependencies.
type Server ¶
type Server struct { gitalypb.UnimplementedPraefectInfoServiceServer // contains filtered or unexported fields }
Server is a InfoService server
func (*Server) DatalossCheck ¶
func (s *Server) DatalossCheck(ctx context.Context, req *gitalypb.DatalossCheckRequest) (*gitalypb.DatalossCheckResponse, error)
func (*Server) RepositoryReplicas ¶
func (s *Server) RepositoryReplicas(ctx context.Context, in *gitalypb.RepositoryReplicasRequest) (*gitalypb.RepositoryReplicasResponse, error)
RepositoryReplicas returns a list of repositories that includes the checksum of the primary as well as the replicas
func (*Server) SetAuthoritativeStorage ¶
func (s *Server) SetAuthoritativeStorage(ctx context.Context, req *gitalypb.SetAuthoritativeStorageRequest) (*gitalypb.SetAuthoritativeStorageResponse, error)
func (*Server) SetReplicationFactor ¶
func (s *Server) SetReplicationFactor(ctx context.Context, req *gitalypb.SetReplicationFactorRequest) (*gitalypb.SetReplicationFactorResponse, error)