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-version
file. - Install Rails and Golang.
bundle install
to install all the dependencies in yourGemfile
yarn install
to install all the dependencies inyarn.lock
file
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