https://github.com/libopenstorage/openstorage
A multi-host clustered implementation of the open storage specification
https://github.com/libopenstorage/openstorage
daemon docker-volumes driver graph-driver osd storage
Last synced: 5 months ago
JSON representation
A multi-host clustered implementation of the open storage specification
- Host: GitHub
- URL: https://github.com/libopenstorage/openstorage
- Owner: libopenstorage
- License: apache-2.0
- Created: 2015-07-24T19:01:34.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2025-03-27T11:57:26.000Z (6 months ago)
- Last Synced: 2025-04-11T02:51:57.232Z (6 months ago)
- Topics: daemon, docker-volumes, driver, graph-driver, osd, storage
- Language: Go
- Homepage:
- Size: 70 MB
- Stars: 534
- Watchers: 36
- Forks: 117
- Open Issues: 96
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Open Storage
[](https://travis-ci.org/libopenstorage/openstorage)
[](https://hub.docker.com/r/openstorage/osd)
[](https://goreportcard.com/report/github.com/libopenstorage/openstorage)OpenStorage is an API abstraction layer providing support for multiple public APIs, including the [OpenStorage SDK](https://libopenstorage.github.io), [CSI](https://github.com/container-storage-interface/spec), and the [Docker Volume API](https://docs.docker.com/engine/reference/api/docker_remote_api/). Developers using OpenStorage for their storage systems can expect it to work seamlessly with any of the supported public APIs. These implementations provide users with the ability to run stateful services in Linux containers on multiple hosts.
OpenStoage makes it simple for developers to write a single implementation which supports many methods of control:

Not only does OpenStorage allow storage developers to integrated their storage system with container orchestrations systems,
but also enables applications developers to use the OpenStorage SDK to manage and expose the latest storage features to their
clients.## Supported Control APIs
### CSI
[Container Storage Interface](https://github.com/container-storage-interface/spec) is the standard way for a container orchestrator such as Kubernetes or Mesosphere to communicate with a storage provider. OSD provides a CSI implementation to provision storage volumes to a container on behalf of any third party OSD driver and ensures the volumes are available in a multi host environment.### Docker Volumes
OSD integrates with [Docker Volumes](https://docs.docker.com/engine/extend/plugins_volume/) and provisions storage to a container on behalf of any third party OSD driver and ensures the volumes are available in a multi host environment.### OpenStorage SDK
CSI and Docker Volumes API provide a very generic storage control model, but with the [OpenStorage SDK](https://libopenstorage.github.io), applications can take control and utilize the latest features of a storage system. For example, with the OpenStorage SDK, applications can control their volumes backups, schedules, etc.# Documents
* [Example using NFS](docs/example-nfs.md)
* [Development](docs/development.md)# Licensing
openstorage is licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/pblcache/pblcache/blob/master/LICENSE) for the full license text.