openstorage

module
v9.4.47+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 5, 2023 License: Apache-2.0

README

Open Storage

Travis branch Docker Pulls Go Report Card

OpenStorage is an API abstraction layer providing support for multiple public APIs, including the OpenStorage SDK, CSI, and the Docker Volume 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:

openstorage

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 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.

OpenStorage SDK

CSI and Docker Volumes API provide a very generic storage control model, but with the OpenStorage SDK, 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

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.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
server/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
server/sdk
Package sdk is the gRPC implementation of the SDK gRPC server Copyright 2022 Portworx
Package sdk is the gRPC implementation of the SDK gRPC server Copyright 2022 Portworx
drivers/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
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.
csi
Package csi is CSI driver interface for OSD Copyright 2017 Portworx
Package csi is CSI driver interface for OSD Copyright 2017 Portworx
v0.3
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
auth
Package auth can be used for authentication and authorization Copyright 2018 Portworx
Package auth can be used for authentication and authorization Copyright 2018 Portworx
dbg
defaultcontext
Package defaultcontext manage the default context and timeouts Copyright 2021 Portworx
Package defaultcontext manage the default context and timeouts Copyright 2021 Portworx
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
grpcutil
Package grpcutil is a package for gRPC utilities Copyright 2021 Portworx
Package grpcutil is a package for gRPC utilities Copyright 2021 Portworx
job
jsonpb
Package jsonpb provides marshaling and unmarshaling between protocol buffers and JSON.
Package jsonpb provides marshaling and unmarshaling between protocol buffers and JSON.
role
Package role manages roles in Kvdb and provides validation Copyright 2018 Portworx
Package role manages roles in Kvdb and provides validation Copyright 2018 Portworx
storagepolicy
Package storagepolicy manages storage policy and apply/validate storage policy restriction volume operations.
Package storagepolicy manages storage policy and apply/validate storage policy restriction volume operations.
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