All Projects → contiv-experimental → Volplugin

contiv-experimental / Volplugin

Licence: other
**EXPERIMENTAL** Contiv Storage: Policy backed Clustered Storage (via Ceph or NFS) for Docker

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Volplugin

awesome-storage
A curated list of storage open source tools. Backups, redundancy, sharing, distribution, encryption, etc.
Stars: ✭ 324 (+49.31%)
Mutual labels:  storage, nfs, ceph
ceph-cheatsheet
All™ you ever wanted to know about operating a Ceph cluster!
Stars: ✭ 84 (-61.29%)
Mutual labels:  storage, ceph
Drone Cache
A Drone plugin for caching current workspace files between builds to reduce your build times
Stars: ✭ 194 (-10.6%)
Mutual labels:  ceph, volume
Api
SODA API is an open source implementation of SODA API Standards for Data and Storage Management.
Stars: ✭ 795 (+266.36%)
Mutual labels:  storage, ceph
esop
Cloud-enabled backup and restore tool for Apache Cassandra
Stars: ✭ 40 (-81.57%)
Mutual labels:  storage, ceph
file-storage-system
一个基于 Go 语言实现的分布式云存储服务,慕课网实战仿百度网盘项目。
Stars: ✭ 149 (-31.34%)
Mutual labels:  storage, ceph
Infinit
The Infinit policy-based software-defined storage platform.
Stars: ✭ 363 (+67.28%)
Mutual labels:  storage, nfs
Democratic Csi
csi storage for container orchestration systems
Stars: ✭ 120 (-44.7%)
Mutual labels:  storage, nfs
Akubra
Simple solution to keep a independent S3 storages in sync
Stars: ✭ 79 (-63.59%)
Mutual labels:  storage, ceph
Rook
Storage Orchestration for Kubernetes
Stars: ✭ 9,369 (+4217.51%)
Mutual labels:  storage, ceph
moosefs-csi
Container Storage Interface (CSI) for MooseFS
Stars: ✭ 44 (-79.72%)
Mutual labels:  storage, volume
Sharesniffer
Network share sniffer and auto-mounter for crawling remote file systems
Stars: ✭ 168 (-22.58%)
Mutual labels:  storage, nfs
homebrew-ceph-client
Homebrew tap for ceph client libraries
Stars: ✭ 22 (-89.86%)
Mutual labels:  storage, ceph
benji
📁 This library is a Scala reactive DSL for object storage (e.g. S3/Amazon, S3/CEPH, Google Cloud Storage).
Stars: ✭ 18 (-91.71%)
Mutual labels:  storage, ceph
linode-blockstorage-csi-driver
Container Storage Interface (CSI) Driver for Linode Block Storage
Stars: ✭ 50 (-76.96%)
Mutual labels:  storage, volume
Edgefs
EdgeFS - decentralized, scalable data fabric platform for Edge/IoT Computing and Kubernetes apps
Stars: ✭ 358 (+64.98%)
Mutual labels:  storage, nfs
Radosgw Admin4j
A Ceph Object Storage Admin SDK / Client Library for Java ✨🍰✨
Stars: ✭ 50 (-76.96%)
Mutual labels:  storage, ceph
Middleware
TrueNAS CORE/Enterprise/SCALE Middleware Git Repository
Stars: ✭ 1,851 (+753%)
Mutual labels:  storage, nfs
Maya
Manage Container Attached Storage (CAS) - Data Engines in Kubernetes
Stars: ✭ 169 (-22.12%)
Mutual labels:  storage, volume
Rpi Pxe Server
setup a Raspberry Pi as an PXE-Server
Stars: ✭ 197 (-9.22%)
Mutual labels:  nfs

Build-Status ReportCard

volplugin: cluster-wide volume management for container ecosystems

Note: Most of this documentation is about the open source project. If you came to try Contiv, read our documentation.

volplugin controls Ceph RBD or NFS devices, in a way that makes them easy to use for devs with docker, and flexible to configure for ops. Reference your volumes with docker from anywhere your storage is available, and they are located and mounted. Works great with Compose and Swarm, now Mesos too!

Our profiles system makes instantiating lots of similar class volumes a snap, allowing for a variety of use cases:

  • Give your dev teams full-stack dev environments (complete with state) that arrive on demand. They can configure them.
  • Scale your stateful containers in a snap with our snapshot facilities, just volcli volume snapshot copy and refer to the volume immediately. Anywhere. (Ceph only)
  • Container crashed? Host died? volplugin's got you. Just re-init your container on another host with the same volume name.

volplugin currently only supports Docker volume plugins. First class scheduler support for: Kubernetes and Mesos will be available before the first stable release.

  • On-the-fly image creation and (re)mount from any Ceph source, by referencing a policy and volume name.
  • Manage many kinds of filesystems, including providing mkfs commands.
  • Snapshot frequency and pruning. Also copy snapshots to new volumes!
  • Ephemeral (removed on container teardown) volumes
  • BPS limiting (via blkio cgroup)

volplugin is still alpha at the time of this writing; features and the API may be extremely volatile and it is not suggested that you use this in production.

Try it out

This will start the suite of volplugin tools in containers from the contiv/volplugin image. It will do the work of configuring docker for you. Note that you must have a working ceph environment that volplugin can already use.

$ docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock contiv/volplugin-autorun

If you get an error like "mountpoint / is not a shared mount", set MountFlags=shared in your systemd unit file for docker. It will most likely be set to slave instead.

Development Instructions

Our Getting Started instructions should be the first thing you read. The prerequisites are absolutely necessary.

Please see our CONTRIBUTING document as well.

Please read the Makefile for most targets. If you make build you will get apiserver/volplugin/volcli installed on the guests, so make run-build if you want a go install'd version of these programs on your host. apiserver/volplugin do not run on anything but linux (you can use volcli, however, on other platforms).

make start will start the development environment. make stop stops, and make restart rebuilds it.

If you wish to run the tests, make test. The unit tests (make unit-test) live throughout the codebase as *_test files. The system tests / integration tests (make system-test) live in the systemtests directory. Note that make system-test will not successfully run on OSX due to dependencies on unavailable libraries.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].