Hexoku
Basic API support and MIX tasks for Heroku support.
Warning
This is early work and few API and Mix commands have been finished. I am adding more every week(ish) though. Some API functions might completely change between versions.
Examples
client = Hexoku.toolbelt
client |> Hexoku.API.Apps.list
For complete info read the Heroku API Reference
Mix Support
Hexoku adds some common Heroku commands to your Mix. It relies on Heroku Toolbet being installed and logged in.
The application name is read from the heroku_app key in your mix.exs files project.
If that is not defined it falls back to the :app key.
def project do
[
app: :uberweb,
heroku_app: "uberweb-staging"
version: "0.0.1",
elixir: "~> 1.0.0",
deps: deps
]
end
Examples
bash> mix hexoku.config
DOWNSTREAM_APP = myapp-production
REDIS_HOST = somehost.redistogo.com
Summary
| basic(username, password) | Create a Hexoku client using username and password |
| oauth2(token) | Create a Hexoku client using OAuth2 token |
| start() | |
| toolbelt(command \\ "heroku", argument \\ "auth:token") | Create a Hexoku client using token from the Heroku Toobelt if installed. Optionally define a custom heroku command if you are using new Go client |
Functions
Specs:
- basic(binary, binary) :: Hexoku.Client.t
Create a Hexoku client using username and password.
Examples:
client = Hexoku.basic("HEROKU_USER", "HEROKU_PASS")
Specs:
- oauth2(binary) :: Hexoku.Client.t
Create a Hexoku client using OAuth2 token.
Examples:
client = Hexoku.oauth2("HEROKU_KEY")
Specs:
- toolbelt(binary, binary) :: Hexoku.Client.t
Create a Hexoku client using token from the Heroku Toobelt if installed. Optionally define a custom heroku command if you are using new Go client.
Examples:
client = Hexoku.toolbelt
client = Hexoku.toolbelt("hk")