RESTful based volume management framework for GlusterFS
phlogistonjohn and obnoxxx extras: add a script to build heketi containers using buildah
I have been successfully using this script for a while to
build containers for test purposes. It has the ability to
build heketi from source (similar to extras/docker/fromsource)
but as an added bonus has an option for using using existing
heketi binaries and can thus cut down on the time needed to
build a heketi container.
All modes are based on the 'buildah' tool which is a daemon-less
alternative to 'docker build'.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Latest commit 04e8f43 Jul 14, 2018
Permalink
Failed to load latest commit information.
.github github: Add a pull request template Mar 9, 2018
apps apps: add test for stale state on block volume entries in delete path Oct 15, 2018
client move unique id generation files to new package Oct 8, 2018
docs Options description typo Oct 17, 2018
etc apps/glusterfs: allow default pre and post volume options Oct 3, 2018
executors executors: use new method of gathering results in block-volume-delete Oct 17, 2018
extras extras: add a script to build heketi containers using buildah Oct 17, 2018
middleware move logging related utils to a logging package Oct 8, 2018
pkg ssh: add method to collect all command results Oct 17, 2018
server server: allow server admin state to be reset by signal Aug 10, 2018
tests move logging related utils to a logging package Oct 8, 2018
.gitignore add .gitignore lines for coverage artifacts Nov 22, 2017
.travis-coverage reduce .travis-coverage to only report on coverage Dec 1, 2017
.travis-fork-fix repo dir does not exist Jul 2, 2015
.travis.yml stop testing go 1.7.5 as part of travis ci Sep 19, 2018
AUTHORS Update AUTHORS Nov 4, 2016
COPYING-GPLV2 Change license of the server, cli, and test code to GPL2/LGPL3 Nov 4, 2016
COPYING-LGPLV3 Change license of the server, cli, and test code to GPL2/LGPL3 Nov 4, 2016
LICENSE Add a LICENSE file describing the (new) licensing. Nov 4, 2016
LICENSE-APACHE2 Rename LICENSE to LICENSE-APACHE2 Nov 4, 2016
MAINTAINERS.md doc: Add @phlogistonjohn as a maintainer. Jan 23, 2018
Makefile makefile: stop using -i in go build options Oct 8, 2018
README.md Rename doc/ to docs/ Feb 20, 2018
glide.lock fix glide install failure Jun 18, 2018
glide.yaml api: input validation Dec 18, 2017
main.go server: allow server admin state to be reset by signal Aug 10, 2018
test.sh test.sh: fix danger of word splitting (found by shellcheck) Apr 25, 2018

README.md

Stories in Ready Build Status Coverage Status Go Report Card

Heketi

Heketi provides a RESTful management interface which can be used to manage the life cycle of GlusterFS volumes. With Heketi, cloud services like OpenStack Manila, Kubernetes, and OpenShift can dynamically provision GlusterFS volumes with any of the supported durability types. Heketi will automatically determine the location for bricks across the cluster, making sure to place bricks and its replicas across different failure domains. Heketi also supports any number of GlusterFS clusters, allowing cloud services to provide network file storage without being limited to a single GlusterFS cluster.

Workflow

When a request is received to create a volume, Heketi will first allocate the appropriate storage in a cluster, making sure to place brick replicas across failure domains. It will then format, then mount the storage to create bricks for the volume requested. Once all bricks have been automatically created, Heketi will finally satisfy the request by creating, then starting the newly created GlusterFS volume.

Downloads

Heketi source code can be obtained via the project's releases page or by cloning this repository.

Documentation

Heketi's official documentation is located in the docs/ directory within the repo.

Demo

Please visit Vagrant-Heketi to try out the demo.

Community

Talks

  • DevNation 2016

image Slides

  • Devconf.cz 2016:

image Slides