GitHub Readme.md
Based on Kong version 0.8.0rc1 patched for compatibility with Heroku. Kong is also temporarily patched to use pgmoon with SSL capability included (not currently merged in the official pgmoon repo)
This is a fork of Mars' original Kong buildpack - i've temporarily stripped out Cassandra while i play with the new Postgres support in 0.8.0rc1.
Links to Kong documentation in this README still point to 0.7.x until 0.8.x is online.
Deploy the heroku-kong app to get started.
kong.yml
config/kong.yml.etlua
lib/kong/plugins/{NAME}
plugins_available
list in config/kong.yml.etlua
.luarocks
file{NAME} {VERSION}
lib/{NAME}.lua
orlib/{NAME}/init.lua
PORT
exposed on the app/dyno
KONG_CLUSTER_SECRET
symmetric encryption key
serf keygen
; requires Serf
DATABASE_URL
The first time this buildpack builds an app, the build time will be significantly longer as Kong and its dependencies are compiled from source. The compiled artifacts are cached to speed up subsequent builds.
We vendor the sources for Lua, LuaRocks, & OpenResty/Nginx and compile them with a writable /app/.heroku
prefix. Attempts to bootstrap Kong on Heroku using existing Lua & apt buildpacks failed due to their compile-time prefixes of /usr/local
which is read-only in a dyno.
OpenSSL 1.0.2 (required by OpenResty) is also compiled from source, as the versions included in the Cedar 14 stack & apt packages for Ubuntu/Trusty are too old.
Kong is installed from a forked source repo that includes minimal changes for compatibility with the Heroku runtime.
This buildpack caches its compilation artifacts from the sources in vendor/
. Changes to the sources in vendor/
will be detected and the cache ignored.
If you need to trigger a full rebuild without changing the source, use the Heroku Repo CLI plugin to purge the cache:
heroku repo:purge_cache
Copy the snippet above into CLI.