Architecture

Luis Pabón edited this page Nov 19, 2015 · 7 revisions

Overview

arc

Framework

Heketi uses simple HTTP framework from Negroni which is based on Go's HTTP library. By using this framework, it allows developers to easily create and install features as middleware.

Middleware

Middleware can be created and installed in Heketi using the Negroni HTTP framework. Middleware sits in the HTTP pipeline allowing for possible software to enhance Heketi by inspecting HTTP requests. All middleware in Heketi is available in the middleware directory.

GlusterFS Framework Application

Heketi supports multiple applications to be run concurrently as long as they do not have conflicting REST endpoints. Currently there is only one application today, which handles the storage management in GlusterFS on baremetal systems or virtual machines. This application stores all metadata in a BoltDB transactional, key-value database.

Executors

An executor is an implementation on how to access and manage a system, device, or GlusterFS. By providing an interface, it provides a simple model for developers to enhance Heketi with multiple ways to access and manage assets. All executors are located in the executors directory.

Allocators

Heketi provides an intelligent volume allocator which determines where to place the bricks across the cluster. Just like executors, the allocator interface provides developers the ability to enhance Heketi in the future by providing multiple methods of allocating bricks across the cluster. Currently there is just a single allocator called Simple Ring Allocator.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.