This is a Heroku buildpack that allows one to run the Heroku CLI in a dyno alongside application code.
This is not a replacement for the Heroku API or various clients like v3 Ruby, node or python. Some private APIs like pgbackups do require the buildpack, so this exists.
Example usage:
$ heroku config:set HEROKU_API_KEY=`heroku auth:token`
$ heroku buildpacks:add heroku-community/cli
$ git push heroku master
...
remote: -----> heroku-cli app detected
remote: === Fetching and vendoring Heroku CLI into slug
remote: === Installing profile.d script
remote: === Heroku CLI installation done
...
$ heroku run 'heroku auth:token'
Running `heroku auth:token` attached to terminal... up, run.3706
abcdef0123456789abcdef0123456789abcdef01
$ heroku run 'heroku pgbackups:capture SILVER -a myapp'
Running `heroku pgbackups:capture SILVER -a myapp` attached to terminal... up, run.9532
HEROKU_POSTGRESQL_SILVER_URL ----backup---> b003
Capturing... done
Storing... done
The heroku-community/cli from the Buildpack Registry contains the latest stable version of the buildpack. To use the edge version of the buildpack (i.e. the source code in this repository) run this command instead:
$ heroku buildpacks:add https://github.com/heroku/heroku-buildpack-cli
Instead of setting HEROKU_API_KEY directly on the app as shown above, a short lived token may be passed in at run time:
heroku run "HEROKU_API_KEY=`heroku authorizations:create --expires-in 600 --short` heroku pgbackups:capture SILVER -a myapp" -a myapp
To use a specific version of the CLI, add a file named .heroku-cli-version to your application root directory. Within the .heroku-cli-version file, specify the version of the CLI you would like to use.
If the version is invalid, or if this file is not present, this buildpack will use the stable release of the CLI.
Examples:
10.17.0 # uses CLI v10.17.0
alpha # uses the latest alpha release of the CLI
beta # uses the latest beta release of the CLI
invalid-version # Falls-back to the stable release of the CLI