RESTful based volume management framework for GlusterFS
Clone or download
phlogistonjohn and obnoxxx functional tests: add a volume teardown helper function
This volume teardown function is useful for intermediate
test steps that want to start from a clean state w.r.t.
volumes, bricks, etc. but do not want to spend resources
on tearing down devices & nodes that will simply need
to get set up again in the next step.

Signed-off-by: John Mulligan <>
Latest commit b314ab1 Nov 26, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github github: Add a pull request template Mar 9, 2018
apps apps: add an endpoint for getting pending operation details Dec 13, 2018
client client: get pending op details via heketi-cli server operations info ID Dec 13, 2018
docs docs: small grammar/wording tweak Dec 8, 2018
etc heketi: add support for profiling with pprof Dec 4, 2018
executors executors: add tests for error injection executor Dec 13, 2018
extras systemd: provide a heketi.env file with possible variables Dec 4, 2018
middleware move logging related utils to a logging package Oct 8, 2018
pkg functional tests: add a volume teardown helper function Dec 14, 2018
server heketi: add support for profiling with pprof Dec 4, 2018
tests functional tests: match server ports with test ports Dec 14, 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 travis: try building on xenial image, to resolve hg tls issues Dec 3, 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 doc: Add @phlogistonjohn as a maintainer. Jan 23, 2018
Makefile makefile: install binaries and container files Nov 16, 2018 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 heketi: add support for profiling with pprof Dec 4, 2018 fix danger of word splitting (found by shellcheck) Apr 25, 2018

Stories in Ready Build Status Coverage Status Go Report Card


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.


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.


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


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


Please visit Vagrant-Heketi to try out the demo.



  • DevNation 2016

image Slides

  • 2016:

image Slides