A multi-host clustered implementation of the open storage specification
Go Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github DCO Support Jan 17, 2018
alert Update to use sirupsen/logrus Mar 19, 2018
api sdk: Add NAME to credentials service Aug 16, 2018
cli Add field to snapshot request to avoid snapshot retries. Aug 8, 2018
cluster Do not filter decommissioned nodes in cluster.Enumerate (#552) Jul 25, 2018
cmd Add APIs to manage cluster pairs Jul 13, 2018
config Update to use sirupsen/logrus Mar 19, 2018
csi Add field to snapshot request to avoid snapshot retries. Aug 8, 2018
docs Update contributing.md Aug 10, 2018
etc sdk: Set mock container cluster name Jul 12, 2018
graph Update to use sirupsen/logrus Mar 19, 2018
hack sdk: Support for volume Stats in the SDK Jul 23, 2018
objectstore Corrected mock test cases for #514 Jul 17, 2018
osdconfig added kvdb params for consul tls Jul 31, 2018
pkg Fix vmware vm uuid parsing and add DeleteFrom and DetachFrom (#566) Aug 13, 2018
schedpolicy Corrected mock test cases for #514 Jul 17, 2018
secrets Corrected mock test cases for #514 Jul 17, 2018
vendor Add vsphere storage ops implementation (#442) Aug 9, 2018
volume APIs to create cloudbackup and cloudbackup schedule for a volumegroup. ( Aug 15, 2018
.dockerignore add .dockerignore Oct 9, 2015
.gitignore sdk: Support for gRPC REST Gateway May 3, 2018
.travis.yml travis: Add sdk-test back Aug 16, 2018
DCO DCO Support Jan 17, 2018
Dockerfile.osd sdk: Support for gRPC REST Gateway May 3, 2018
Dockerfile.osd-dev sdk: Support for gRPC REST Gateway May 3, 2018
Dockerfile.proto sdk: Docker proto builder Jul 2, 2018
Dockerfile.sdk sdk: Support for gRPC REST Gateway May 3, 2018
LICENSE Update LICENSE Jan 25, 2016
Makefile travis: Add SDK tests to travis Aug 7, 2018
README.md Update README.md Jul 25, 2018
STYLEGUIDE.md Update to use sirupsen/logrus Mar 19, 2018

README.md

Open Storage

Travis branch Docker Pulls Go Report Card

OpenStorage is a clustered implementation of the Open Storage specification and facilitates the provisioning of cloud native volumes for Kubernetes. It allows you to run stateful services in Linux Containers in a multi host, multi zone and multi region environment. It plugs into CSI and Docker volumes to provide storage to containers and plugs into Kubernetes to allow for dynamic and programmatic provisioning of volumes.

What you get from using Open Storage

When you install openstorage on a Linux host, you will automatically get a stateful storage overlay that integrates with CSI or the Docker runtime and provide volumes that are usable across hosts that are running in different regions or even clouds. It starts an Open Storage Daemon - OSD that supports any Linux container runtime that conforms to the OCI spec. From here, you can use Kubernetes to directly create cloud native storage volumes that are highly available cluster wide.

Scheduler integration

OSD will work with any distributed scheduler that is compatible with the CSI or Docker remote API

OSD with schedulers

CSI

Container Storage Interface 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 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.

Documents

Licensing

openstorage is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.