README.md

# Hydra

[![Build Status][travis-img]][travis] [![Hex Version][hex-img]][hex] [![License][license-img]][license]

[travis-img]: https://travis-ci.org/doomspork/hydra.png?branch=master
[travis]: https://travis-ci.org/doomspork/hydra
[hex-img]: https://img.shields.io/hexpm/v/hydra.svg
[hex]: https://hex.pm/packages/hydra
[license-img]: https://img.shields.io/badge/license-Apache%202.0-blue.svg
[license]: http://opensource.org/licenses/Apache-2.0

> A multi-headed beast: API gateway, request cache, and data transformations.

Hydra's goal is to be a distributable and fault tolerant API gateway with integrated cache and support for data transformations.  Community involvement and contributions are welcomed and encouraged.

___There isn't much to see here yet, Hydra is still under active development___

## Getting Started

Hydra is built with Elixir 1.2 and will not work with earlier versions.  For data transformations we rely on the powerful [jq][jq] command-line JSON processor.  Please see the [jq][jq] website for instructions on installing for your system.

[jq]: https://github.com/stedolan/jq

1. Clone project:

  ```shell
  $ git clone git@github.com:doomspork/hydra.git
  $ cd hydra
  ```

1. Install dependencies:

  ```shell
  $ mix deps.get
  ```

1. Verify tests pass:

  ```shell
  $ mix test
  ```

1. Finally, we have two options for running Hydra:

  - Start an instance with Mix:

  		```shell
  		$ mix hydra
  		```
  
  - Or build and run an executable with escript:
  
  		```shell
  		$ mix build
  		$ ./hydra
  		```

## Learn More

1. [Pattern: API Gateway][1]
1. [Inside the Netflix API Redesign][2]
1. [jq Manual][3]

[1]:http://microservices.io/patterns/apigateway.html
[2]:http://techblog.netflix.com/2012/07/embracing-differences-inside-netflix.html
[3]:https://stedolan.github.io/jq/manual/
 
## Contributing

Contributions are always welcome.  We ask that contributors familiarize themselves with the [CONTRIBUTING.md](CONTRIBUTING.md) guide.

## License

Hydra source code is released under Apache 2.0 License.

See [LICENSE](LICENSE) for more information.