Go Shell Python Ruby Makefile Dockerfile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.github github: Add a pull request template Mar 9, 2018
apps apps:glusterfs fix logger format for go 1.11 Aug 20, 2018
client heketi cli: add commands to get and set server admin modes Aug 10, 2018
docs typo: Administration instead of Adminstration Jul 26, 2018
etc app: provide config option to edit blockhostingvolume options Jul 12, 2018
executors executors: format arbiter bricks differently Aug 10, 2018
extras docker: use a non-blocking flock in heketi-start.sh Aug 10, 2018
middleware tests: fix comments in other tests Aug 7, 2018
pkg api: add api types needed for server admin states Aug 10, 2018
server server: allow server admin state to be reset by signal Aug 10, 2018
tests functional/smoke test: an updated test case for block volumes Aug 10, 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: Do coverage on all go versions Mar 9, 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
MAINTAINERS.md doc: Add @phlogistonjohn as a maintainer. Jan 23, 2018
Makefile build: add a check for mercurial/hg Jun 29, 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


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

  • Devconf.cz 2016:

image Slides