top
(README.md)
# heimdall [![Build Status](https://semaphoreci.com/api/v1/projects/6103228c-a49e-4a54-b96e-15069ef58bf8/566671/badge.svg)](https://semaphoreci.com/ghophp/heimdall)
the gate keeper (authentication and authorization)

## responsability
takes care of the oauth2 flow with the provider, and manipulates the tokens and the users

## setup
heimdall use the `install.sh` script to install the necessary tools on the CI environment, and deploy the result to `elastic beanstalk`.

you must set the following variables on the CI environment in order to have a sucessfull deploy:

```
RELEASE_CONFIG_FILE= # this variable contains the fullpath of the config.json file used in production
AWS_DEFAULT_REGION= # region of the beanstalk
AWS_SECRET_ACCESS_KEY= # access key
AWS_ACCESS_KEY_ID = # access id
```

once you have this variables configured, you must configure the deploy as a `custom script` and execute:

```
./install.sh
```

this will download the `aws cli` binary, generate the .zip file that will be put on an S3 bucket, and trigger the deploy on `beanstalk`.

The `install.sh` contains the information regarding your `beanstalk` application and environment. The beanstalk environment must have the following variables so the application run properly:

```
CONFIG_PATH= # path of the config.json
MARTINI_ENV= # production if you are configuring the prod environment
```

If you configure the previous step properly, you will endup with a fully functional CI/CD.

### powered by
use martini as a web framework and is the father of [heimdall-son](https://github.com/battle-arena/heimdall-son) as the middleware to auth

Imports 4 package(s) ΒΆ

  1. github.com/battle-arena/heimdall/handler
  2. github.com/go-martini/martini
  3. github.com/battle-arena/heimdall/config
  4. github.com/battle-arena/heimdall/context