mirror of
https://github.com/versity/versitygw.git
synced 2026-01-07 20:25:12 +00:00
22 lines
934 B
Go
22 lines
934 B
Go
package plugins
|
|
|
|
import "github.com/versity/versitygw/backend"
|
|
|
|
// BackendPlugin defines an interface for creating backend
|
|
// implementation instances.
|
|
// Plugins implementing this interface can be built as shared
|
|
// libraries using Go's plugin system (to build use `go build -buildmode=plugin`).
|
|
// The shared library should export an instance of
|
|
// this interface in a variable named `Backend`.
|
|
type BackendPlugin interface {
|
|
// New creates and initializes a new backend.Backend instance.
|
|
// The config parameter specifies the path of the file containing
|
|
// the configuration for the backend.
|
|
//
|
|
// Implementations of this method should perform the necessary steps to
|
|
// establish a connection to the underlying storage system or service
|
|
// (e.g., network storage system, distributed storage system, cloud storage)
|
|
// and configure it according to the provided configuration.
|
|
New(config string) (backend.Backend, error)
|
|
}
|