Metadata-Version: 2.1
Name: HADeploy
Version: 0.6.0
Summary: An Hadoop Application deployment tool
Home-page: https://github.com/BROADSoftware/hadeploy
Author: BROADSoftware
Author-email: info@hadeploy.com
License: GPLv3
Keywords: hadoop deployement bigdata big-data hdfs hbase hive kafka ranger
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: System :: Installation/Setup
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: System :: Software Distribution
Classifier: Topic :: Utilities
Requires-Dist: ansible (>=2.3.0.0)
Requires-Dist: pykwalify (>=1.6.0)

# HADeploy

HADeploy is a tool specially designed to deploy application in BigData/NoSQL context with Hadoop cluster as first target.

In such context, deploying an application is not only matter of deploying some jar in some place. It also means creating a bunch of associated resources such as Hive table, Kafka topic, HBase table, HDFS folders and files, systems account, etc.

## Documentation

You will find documentation [at this location](http://www.hadeploy.com/)

## Base principles

### Application manifest

An application can be fully described in one file, hosting all components and resources description.

### Infrastructure independency

Application file is independent of target physical infrastructure. This target is defined in another file and HADeploy will take care of the merge on deployment

### Environment independency.

In the same way, the application file is independent of the environment (DEV, INT, PPRD, PROD,..). This ensure coherency and repeatable deployments among these contexts

### Declarative programming and reconciliation

HADeploy is a purely descriptive tool. As such usage will consist of defining the expected state of the deployed application and let the tool perform the reconciliation between expected and actual state.

### Idempotence

Such principle means HADeploy is a fully idempotent tools, as if expected state match the actual ones, the tool will not perform any further actions.

### Application instance isolation.

A typical deployment pattern allowed by HADeploy is to define ‘Application Container’, or ‘Application Lane’. Then several instance (or version) of an application can be installed and run in parallel.

### Kerberos support

HADeploy is able to deploy application on a Hadoop cluster secured by Kerberos. 

### Rights management

HADeploy will manage all permissions associated to the deployed components and resources.

### Plugins architecture

HADeploy is designed with a highly modular plugins architecture, thus allowing easy third party extension.

### Application Removal

As HADeploy knows about all the components of your application, it provides a REMOVAL mode, which restores the target cluster in its initial state.

### Open Source

HADeploy is a fully open source project, under GNU General Public License.



