buildpacks-io website screenshot

buildpacks-io

Cloud Native Buildpacks (CNB) is a CNCF Incubating project that transforms application source code into OCI images that can run on any cloud. The v3 specification — Buildpack API 0.12, Platform API 0.15, and Distribution API 0.3 — defines a modular, vendor-neutral contract between buildpacks, builders, lifecycles, and platforms. CNB consolidates a decade of production experience from Heroku and Pivotal/Cloud Foundry and provides the reference lifecycle (buildpacksio/lifecycle), the `pack` CLI, language bindings (libcnb in Go/Rust/.NET), the Kubernetes-native `kpack` platform, the public community registry at registry.buildpacks.io, and an open RFC-driven governance model.

7 APIs 20 Features

APIs

Buildpack Specification

The Buildpack API (currently 0.12) defines the contract between an individual buildpack and the lifecycle. It specifies the on-disk layout of a buildpack (buildpack.toml, bin/de...

Platform Specification

The Platform API (currently 0.15) defines how platforms (pack, kpack, Tekton Pipelines, GitLab Auto DevOps, CircleCI Orb, Project Piper) orchestrate the lifecycle. Specifies the...

Distribution Specification

The Distribution API (currently 0.3) defines how buildpacks, extensions, and builders are packaged as OCI artifacts and published to OCI registries. Covers labels (io.buildpacks...

Image Extension Specification

Image extensions emit Dockerfile snippets applied by the `extender` lifecycle binary to the build and/or run image. Share the buildpack surface (extension.toml, bin/detect, bin/...

Project Descriptor (project.toml)

The Project Descriptor extension defines project.toml — the optional app-root file letting developers declare their builder image, include/exclude globs, buildpack overrides (pr...

Buildpack Registry Extension

The Buildpack Registry extension specifies the community discovery surface — namespaced buildpack identifiers (e.g. paketo-buildpacks/nodejs), the registry-index GitHub reposito...

Service Bindings Extension

The Service Bindings extension specifies how external service credentials and configuration are surfaced to detect and build under $CNB_PLATFORM_DIR/bindings/. Aligns with the S...

Collections

Features

Buildpack API 0.12 — modular detect/build contract producing OCI layers without Dockerfiles
Platform API 0.15 — lifecycle orchestration surface (analyze, detect, restore, extend, build, export, rebase, launch)
Distribution API 0.3 — OCI-packaged buildpacks, extensions, and builders
Image extensions — Dockerfile snippets applied by the `extender` for base-image customization
Project Descriptor (project.toml) — declarative app-side build configuration
Build plan with provides/requires reconciliation across composite (meta) buildpacks
Per-layer caching with launch/build/cache types in `.toml`
Rebase — swap run image base layers in seconds without rebuilding app layers
Targets (os/arch/distros) replacing the legacy stacks model since Buildpack API 0.12
Per-layer SBOM emission in CycloneDX, SPDX, and Syft formats; aggregated into io.buildpacks.build.metadata
Standard OCI image labels (io.buildpacks.lifecycle.metadata, io.buildpacks.build.metadata, io.buildpacks.project.metadata, io.buildpacks.rebasable)
Reference lifecycle distributed as buildpacksio/lifecycle Docker image
Reference CLI `pack` (v0.40.6, May 2026) implementing the Platform Interface Specification
Public community registry at registry.buildpacks.io with `pack buildpack register/pull/yank`
Language bindings via libcnb (Go), libcnb-rs (Rust), and libcnb.net (.NET)
Kubernetes-native platform via kpack with Image/Builder/Stack CRDs
CI integrations — GitHub Actions, CircleCI Orb, GitLab Auto DevOps, Tekton, Project Piper
Multi-arch builders (linux/amd64, linux/arm64, windows) selected via target reconciliation
Service Bindings extension aligned with the Service Binding Specification for Kubernetes
Vendor-neutral CNCF Incubating project (incubation since 2018-10) with public RFC process

Semantic Vocabularies

Buildpacks Io Context

21 classes · 10 properties

JSON-LD

API Governance Rules

buildpacks-io API Rules

8 rules · 3 errors 4 warnings 1 info

SPECTRAL

JSON Structure

Buildpacks Io Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
Community
Community
📄
ReleaseNotes
ReleaseNotes
📰
Blog
Blog
🔗
VideoChannel
VideoChannel
🔗
SocialMedia
SocialMedia
👥
GitHubOrganization
GitHubOrganization
👥
GitHubOrganization
GitHubOrganization
🔗
Repository
Repository
🔗
Repository
Repository
🔗
Repository
Repository
🔗
Governance
Governance
🔗
RoadMap
RoadMap
🔗
Documentation
Documentation
🔗
CaseStudies
CaseStudies
🔧
Tools
Tools
🔧
Tools
Tools
🔗
ContainerImage
ContainerImage
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
💻
CodeExamples
CodeExamples
🔧
Tools
Tools
🔧
Tools
Tools
🔧
Tools
Tools
🔗
Repository
Repository
🔗
Repository
Repository
🌐
Portal
Portal
🔗
Analytics
Analytics
🔗
Documentation
Documentation
🔗
MailingList
MailingList
🔗
Forums
Forums
🔗
Forums
Forums
🔗
Forums
Forums
🔗
Vocabulary
Vocabulary
🔗
SpectralRules
SpectralRules
🔗
JSONLD
JSONLD

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Cloud Native Buildpacks Registry API
  version: '1.0'
items:
- info:
    name: Search
    type: folder
  items:
  - info:
      name: Search Buildpacks
      type: http
    http:
      method: GET
      url: https://registry.buildpacks.io/api/v1/search
      params:
      - name: matches
        value: ''
        type: query
        description: One or more space-separated keywords to match.
    docs: 'Search the registry-index for buildpacks whose id, namespace, description, or keywords match the supplied terms.

      '
- info:
    name: Buildpacks
    type: folder
  items:
  - info:
      name: List Buildpack Versions
      type: http
    http:
      method: GET
      url: https://registry.buildpacks.io/api/v1/buildpacks/:namespace/:name
      params:
      - name: namespace
        value: ''
        type: path
        description: The buildpack namespace (registry account).
      - name: name
        value: ''
        type: path
        description: The buildpack name within the namespace.
    docs: 'Return every published version of a single namespaced buildpack (e.g. `paketo-buildpacks/nodejs`).

      '
  - info:
      name: Get Buildpack Version
      type: http
    http:
      method: GET
      url: https://registry.buildpacks.io/api/v1/buildpacks/:namespace/:name/:version
      params:
      - name: namespace
        value: ''
        type: path
      - name: name
        value: ''
        type: path
      - name: version
        value: ''
        type: path
        description: Semantic version of the buildpack.
    docs: 'Return registry metadata for a specific version of a namespaced buildpack, including the OCI image reference, yanked
      state, and supported stacks/targets.

      '
bundled: true