Documentation
¶
Index ¶
- func CheckSchemaCompatibility(ctx context.Context, chorusVersion string, client redis.UniversalClient) error
- func NewService(client redis.UniversalClient, queueSVC tasks.QueueService, mainStorage string) *policySvc
- type ContextSvc
- type ReplicationSvc
- type ReplicationSwitchSvc
- type RoutingSvc
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckSchemaCompatibility ¶ added in v0.6.0
func NewService ¶
func NewService(client redis.UniversalClient, queueSVC tasks.QueueService, mainStorage string) *policySvc
Types ¶
type ContextSvc ¶ added in v0.6.0
type ContextSvc interface {
// Sets active policies to proxy request context.
BuildProxyContext(ctx context.Context, user, bucket string) (context.Context, error)
// Same as BuildProxyContext but for requests where bucket is not known (e.g. ListBuckets).
BuildProxyNoBucketContext(ctx context.Context, user string) (context.Context, error)
// Sets active policies to agent bucket notification request context.
BuildAgentContext(ctx context.Context, user, bucket string) (context.Context, error)
}
type ReplicationSvc ¶ added in v0.6.0
type ReplicationSvc interface {
// common methods for user and bucket replication policies
PauseReplication(ctx context.Context, id entity.UniversalReplicationID) error
ResumeReplication(ctx context.Context, id entity.UniversalReplicationID) error
GetReplicationPolicyInfoExtended(ctx context.Context, id entity.UniversalReplicationID) (entity.ReplicationStatusExtended, error)
// user replication policies
AddUserReplicationPolicy(ctx context.Context, policy entity.UserReplicationPolicy) error
DeleteUserReplication(ctx context.Context, policy entity.UserReplicationPolicy) error
ListUserReplicationsInfo(ctx context.Context) (map[entity.UserReplicationPolicy]entity.ReplicationStatusExtended, error)
// bucket replication policies
AddBucketReplicationPolicy(ctx context.Context, id entity.BucketReplicationPolicy, agentURL *string) error
ListBucketReplicationsInfo(ctx context.Context, user string) (map[entity.BucketReplicationPolicy]entity.ReplicationStatusExtended, error)
DeleteBucketReplication(ctx context.Context, id entity.BucketReplicationPolicy) error
}
type ReplicationSwitchSvc ¶ added in v0.6.0
type ReplicationSwitchSvc interface {
// Upsert downtime replication switch. If switch already exists and not in progress, it will be updated.
SetDowntimeReplicationSwitch(ctx context.Context, replID entity.UniversalReplicationID, opts *entity.ReplicationSwitchDowntimeOpts) error
// Change downtime replication switch status. Makes required adjustments to routing and replication policies.
// According to switch status and configured options.
UpdateDowntimeSwitchStatus(ctx context.Context, replID entity.UniversalReplicationID, newStatus entity.ReplicationSwitchStatus, description string) error
// Creates new zero downtime replication switch.
AddZeroDowntimeReplicationSwitch(ctx context.Context, replID entity.UniversalReplicationID, opts *entity.ReplicationSwitchZeroDowntimeOpts) error
// Completes zero downtime replication switch.
CompleteZeroDowntimeReplicationSwitch(ctx context.Context, replID entity.UniversalReplicationID) error
// Deletes any replication switch if exists and reverts routing policy if switch was not done.
DeleteReplicationSwitch(ctx context.Context, replID entity.UniversalReplicationID) error
// Returns replication switch config and status information.
GetReplicationSwitchInfo(ctx context.Context, replID entity.UniversalReplicationID) (entity.ReplicationSwitchInfo, error)
}
type RoutingSvc ¶ added in v0.6.0
type RoutingSvc interface {
}
type Service ¶
type Service interface {
ContextSvc
ReplicationSvc
ReplicationSwitchSvc
}
Click to show internal directories.
Click to hide internal directories.