Gluster provides CLIs to manage the Cluster, which can be programmatly consumed by passing --xml option. For example,
gluster volume info --xml
But Gluster CLIs are not enough for managing from remote place or to integrate with third party Management/Monitoring applications like Cockpit, Skyring, Nagios etc. We need more interfaces to enable integration with these tools.
Language bindings for Gluster CLI commands
How about importing the glustercli in your favorite programming language and start using it?
For example in Python,
from glustercli import volumes gv1 = volumes.Volume("gv1") gv1.start()
Ansible APIs for Gluster
Ansible is present favorite tool for Sysadmins.
App deployment, configuration management and orchestration - all from one system. - www.ansible.com
gdeploy (name may change in future) is a Ansible based tool for easy management of Gluster.
Status: gdeploy team is working on version 2.0
Storaged Gluster APIs
Gluster module for storaged enables integration with Cockpit. Cockpit can communicate with Storaged to get Gluster tasks done.
Status: Samikshan is working on this feature.
REST APIs for Gluster
Common API format to integrate with Web applications. Any web application can easily communicate with Gluster using HTTP calls.
For example, Web application can send HTTP POST request to Start the Volume
curl -X POST \ -H "content-type: application/json" \ -H "Date: Tue, 09 Feb 2016 12:38:10 +0000" \ -H "Authorization: HMAC_SHA256 MyApp:g0b1IOmdRMOlPs2f5D4UJPgng9tNUuY0k+c+ee/k2Hk=" \ http://hostname/v1/volumes/gv1/start
Status: In progress. Watch this space for more update about this feature :)
Are you using any interface for managing Gluster? Please share your experiences.