openstorage

module
v4.0.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2018 License: Apache-2.0

README

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.

Directories

Path Synopsis
mock
Package mockalerts is a generated GoMock package.
Package mockalerts is a generated GoMock package.
api
Package api is a reverse proxy.
Package api is a reverse proxy.
server/sdk
Package sdk is the gRPC implementation of the SDK gRPC server Copyright 2018 Portworx
Package sdk is the gRPC implementation of the SDK gRPC server Copyright 2018 Portworx
manager
Package cluster implements a cluster state machine.
Package cluster implements a cluster state machine.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
cmd
osd
Package classification OSD API.
Package classification OSD API.
Package csi is CSI driver interface for OSD Copyright 2017 Portworx
Package csi is CSI driver interface for OSD Copyright 2017 Portworx
Provides an in-memory fake implementation of the Objectstore Copyright 2018 Portworx
Provides an in-memory fake implementation of the Objectstore Copyright 2018 Portworx
osdconfig is a package to work with distributed config parameters
osdconfig is a package to work with distributed config parameters
pkg
dbg
flexvolume
Package flexvolume implements utility code for Kubernetes flexvolumes.
Package flexvolume implements utility code for Kubernetes flexvolumes.
grpcserver
Package grpcserver is a generic gRPC server manager Copyright 2018 Portworx
Package grpcserver is a generic gRPC server manager Copyright 2018 Portworx
jsonpb
Package jsonpb provides marshaling and unmarshaling between protocol buffers and JSON.
Package jsonpb provides marshaling and unmarshaling between protocol buffers and JSON.
util
Package util provides utility functions for OSD servers and drivers.
Package util provides utility functions for OSD servers and drivers.
Package fake provides an in-memory fake implementation of the Scheduler Copyright 2018 Portworx
Package fake provides an in-memory fake implementation of the Scheduler Copyright 2018 Portworx
tools
sdkver
Package sdk is the gRPC implementation of the SDK gRPC server Copyright 2018 Portworx
Package sdk is the gRPC implementation of the SDK gRPC server Copyright 2018 Portworx
drivers/buse
Package buse uses the Linux NBD layer to emulate a block device in user space
Package buse uses the Linux NBD layer to emulate a block device in user space
drivers/fake
Package fake provides an in-memory fake driver implementation Copyright 2018 Portworx
Package fake provides an in-memory fake driver implementation Copyright 2018 Portworx
drivers/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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