Redact credentials before printing to logs |
||
|---|---|---|
| .github/workflows | ||
| app | ||
| bin | ||
| cmd | ||
| config | ||
| db | ||
| internal/mocks | ||
| lib | ||
| log | ||
| public | ||
| test | ||
| .browserslistrc | ||
| .gitattributes | ||
| .gitignore | ||
| .ruby-version | ||
| Gemfile | ||
| Gemfile.lock | ||
| LICENSE | ||
| Procfile | ||
| Procfile.dev | ||
| README.md | ||
| Rakefile | ||
| app.json | ||
| babel.config.js | ||
| config.ru | ||
| go.mod | ||
| go.sum | ||
| makefile | ||
| package.json | ||
| postcss.config.js | ||
| tsconfig.json | ||
| yarn.lock | ||
README.md
Buildpack Registry API
This repository contains an application that exposes an API for interacting with the Buildpack Registry.
Endpoints
Search
Search for a buildpack by keyword(s).
GET /search
Required Parameters
| Name | Type | Description | Example |
|---|---|---|---|
| matches | string | keyword(s) to search for | "ruby" |
Request Example
$ curl "https://registry.buildpacks.io/api/v1/search?matches=ruby"
Response Example
[
{
"latest": {
"id": "a52bd991-0e17-46c0-a413-229b35943765",
"namespace": "heroku",
"name": "ruby",
"version": "0.1.0",
"addr": "public.ecr.aws/r2f9u0w4/heroku-ruby-buildpack@sha256:0f05ccc534c20fb54cc6f0c71df9b21b2952f74f528ed98f55d81c40434844fd",
"yanked": false,
"description": "",
"homepage": "",
"licenses": null,
"stacks": [
"heroku-18",
"heroku-20"
],
"created_at": "2021-03-04T16:20:27.189Z",
"updated_at": "2021-05-16T04:24:52.556Z",
"version_major": "0",
"version_minor": "1",
"version_patch": "0"
},
"versions": [
{
"version": "0.1.0",
"_link": "https://registry.buildpacks.io/api/v1/buildpacks/heroku/ruby/0.1.0"
}
]
}
]
Buildpack Version List
Search for a buildpack by keyword(s).
GET /buildpacks/:namespace/:name
Required Parameters
| Name | Type | Description | Example |
|---|---|---|---|
| namespace | string | the namespace component from the ID of the buildpack | "heroku" |
| name | string | the name component from the ID of the buildpack | "ruby" |
Request Example
$ curl "https://registry.buildpacks.io/api/v1/buildpacks/heroku/ruby"
Response Example
{
"latest": {
"version": "0.1.0",
"namespace": "heroku",
"name": "ruby",
"description": "",
"homepage": "",
"licenses": null,
"stacks": [
"heroku-18",
"heroku-20"
],
"id": "a52bd991-0e17-46c0-a413-229b35943765"
},
"versions": [
{
"version": "0.1.0",
"_link": "https://registry.buildpacks.io//api/v1/buildpacks/heroku/ruby/0.1.0"
}
]
}
Buildpack Version Info
Search for a buildpack by keyword(s).
GET /buildpacks/:namespace/:name/:version
Required Parameters
| Name | Type | Description | Example |
|---|---|---|---|
| namespace | string | the namespace component from the ID of the buildpack | "heroku" |
| name | string | the name component from the ID of the buildpack | "ruby" |
| version | string | the version of the buildpack | "0.1.0" |
Request Example
$ curl "https://registry.buildpacks.io/api/v1/buildpacks/heroku/ruby/0.1.0"
Response Example
{
"id": "a52bd991-0e17-46c0-a413-229b35943765",
"namespace": "heroku",
"name": "ruby",
"version": "0.1.0",
"addr": "public.ecr.aws/r2f9u0w4/heroku-ruby-buildpack@sha256:0f05ccc534c20fb54cc6f0c71df9b21b2952f74f528ed98f55d81c40434844fd",
"yanked": false,
"description": "",
"homepage": "",
"licenses": null,
"stacks": [
"heroku-18",
"heroku-20"
],
"created_at": "2021-03-04T16:20:27.189Z",
"updated_at": "2021-05-16T04:30:10.652Z",
"version_major": "0",
"version_minor": "1",
"version_patch": "0"
}
Development
This project requires Ruby, Rails and Golang tooling.
- Install Ruby determined by
.ruby-versionfile. - Install Rails and Golang.
bundle installto install all the dependencies in yourGemfileyarn installto install all the dependencies inyarn.lockfile
This app uses PostgreSQL. To set up the database, run:
$ bundle exec rake db:create
$ bundle exec rake db:migrate
Run the tests:
$ make test
Then run the Rails app and asset watcher/compiler with:
$ ./bin/dev
In other terminal session, run the background worker to create the index:
$ make index