heroku / cnb-shim

This is a shim to run old buildpacks as Cloud Native Buildpacks
MIT License
18 stars 12 forks source link
heroku-languages

Cloud Native Buildpack Shim

CI

[!WARNING] This project is not actively maintained and does not support modern Buildpack API and lifecycle versions.

Please switch to native CNB implementations rather than using this shim.

See Heroku's natively supported CNB languages or search for community buildpacks.

This is a Cloud Native Buildpack that acts as a shim for classic Heroku Buildpacks.

Usage

This shim can be used with any buildpack in the Heroku Buildpack Registry by specifying a URL in the form:

https://cnb-shim.herokuapp.com/v1/<namespace>/<name>

Example: Elixir

$ pack build elixir-app --buildpack https://cnb-shim.herokuapp.com/v1/hashnuke/elixir --builder heroku/buildpacks:18

For a complete list of available buildpacks run the following command from the Heroku CLI:

$ heroku buildpacks:search

Applying the Shim Manually

To use the shim manually, install the target buildpack:

$ sbin/install "path/to/buildpack.toml" "https://example.com/buildpack.tgz"

Then run this buildpack.

Example: Elixir

To use this shim with the hashnuke/elixir buildpack, install pack CLI and run:

$ cd elixir-cnb

$ curl -L https://github.com/heroku/cnb-shim/releases/download/v0.1/cnb-shim-v0.1.tgz | tar xz

$ cat > buildpack.toml << TOML
api = "0.2"

[buildpack]
id = "hashnuke.elixir"
version = "0.1"
name = "Elixir"

[[stacks]]
id = "heroku-22"
TOML

$ sbin/install buildpack.toml https://buildpack-registry.s3.amazonaws.com/buildpacks/hashnuke/elixir.tgz

$ cd ~/my-elixir-app/

$ pack build elixir-app --builder heroku/buildpacks --buildpack ~/path/to/elixir-cnb

License

MIT