Documentation ¶
Overview ¶
Package libstorage provides a vendor agnostic storage orchestration model, API, and reference client and server implementations. libStorage enables storage consumption by leveraging methods commonly available, locally and/or externally, to an operating system (OS).
The Past ¶
The libStorage project and its architecture represents a culmination of experience gained from the project authors' building of several (http://bit.ly/1HIAet6) different storage (http://bit.ly/1Ya9Uft) orchestration tools (https://github.com/emccode/rexray). While created using different languages and targeting disparate storage platforms, all the tools were architecturally aligned and embedded functionality directly inside the tools and affected storage platforms.
This shared design goal enabled tools that natively consumed storage, sans external dependencies.
The Present ¶
Today libStorage focuses on adding value to container runtimes and storage orchestration tools such as Docker and Mesos, however the libStorage framework is available abstractly for more general usage across:
- Operating systems
- Storage platforms
- Hardware platforms
- Virtualization platforms
The client side implementation, focused on operating system activities, has a minimal set of dependencies in order to avoid a large, runtime footprint.
Index ¶
- func Dial(config gofig.Config) (types.Client, error)
- func New(config gofig.Config) (types.Client, io.Closer, error, <-chan error)
- func RegisterIntegrationDriver(name string, ctor types.NewIntegrationDriver)
- func RegisterOSDriver(name string, ctor types.NewOSDriver)
- func RegisterStorageDriver(name string, ctor types.NewStorageDriver)
- func Serve(config gofig.Config) (io.Closer, error, <-chan error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Dial ¶
Dial opens a connection to a remote libStorage serice and returns the client that can be used to communicate with said endpoint.
If the config parameter is nil a default instance is created. The function dials the libStorage service specified by the configuration property libstorage.host.
func New ¶
New returns a new libStorage client like the `Dial` function, but with one difference. If the `libstorag.host` key is not present in the provided configuration instance, a new server will be automatically started and returned.
While a new server may be launched, it's still up to the caller to provide a config instance with the correct properties to specify service information for a libStorage server.
func RegisterIntegrationDriver ¶
func RegisterIntegrationDriver(name string, ctor types.NewIntegrationDriver)
RegisterIntegrationDriver registers a new IntegrationDriver with the libStorage service.
func RegisterOSDriver ¶
func RegisterOSDriver(name string, ctor types.NewOSDriver)
RegisterOSDriver registers a new StorageDriver with the libStorage service.
func RegisterStorageDriver ¶
func RegisterStorageDriver( name string, ctor types.NewStorageDriver)
RegisterStorageDriver registers a new StorageDriver with the libStorage service.
func Serve ¶
Serve starts the reference implementation of a server hosting an HTTP/JSON service that implements the libStorage API endpoint.
If the config parameter is nil a default instance is created. The libStorage service is served at the address specified by the configuration property libstorage.host.
Types ¶
This section is empty.
Directories ¶
Path | Synopsis |
---|---|
registry
Package registry is the central hub for Drivers and other types that follow the init-time registration.
|
Package registry is the central hub for Drivers and other types that follow the init-time registration. |
server
Package server is the homeo of the reference implementation of the libStorage API server.
|
Package server is the homeo of the reference implementation of the libStorage API server. |
utils/filters
Package filters is a piece of thievery as the LDAP filter parsing code was lifted serepticiously from https://github.com/tonnerre/go-ldap/blob/master/ldap.go.
|
Package filters is a piece of thievery as the LDAP filter parsing code was lifted serepticiously from https://github.com/tonnerre/go-ldap/blob/master/ldap.go. |
c
|
|
cli
|
|
drivers
|
|
os/linux
Package linux is the OS driver for linux.
|
Package linux is the OS driver for linux. |
imports
|
|