policy

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckSchemaCompatibility added in v0.6.0

func CheckSchemaCompatibility(ctx context.Context, chorusVersion string, client redis.UniversalClient) error

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
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL