buildpacks / rfcs

RFCs for Cloud Native Buildpacks
Apache License 2.0
57 stars 71 forks source link

[RFC #0105] - Dockerfiles #224

Open natalieparellano opened 2 years ago

natalieparellano commented 2 years ago

RFC #0105 - Dockerfiles

📖 🌎 For a brief tour of what has shipped so far, consult these docs

Phase 1 - switching the run image

In this phase of the implementation, image extensions may output run.Dockerfiles in order to switch the runtime base image based on which buildpacks detected. The detector binary should run /bin/detect for buildpacks and extensions, run /bin/generate for extensions, and determine the new run image from the generated Dockerfiles.

Spec:

Lifecycle:

Phase 2 - extending the build image

In this phase of the implementation, image extensions may output build.Dockerfiles in order to extend the build time base image. The extender binary, running as root, should apply the Dockerfiles in the order determined during detect, and then drop privileges before executing the build phase.

Spec:

Lifecycle:

Pack:

Samples:

Documentation:

Phase 3 - extending the run image

In this phase of the implementation, image extensions may output Dockerfiles OR run.Dockerfiles in order to extend the runtime base image. The extender binary, running as root, should apply the Dockerfiles in the order determined during detect, and then provide a reference to the extended run image to the platform, so that the platform can provide this during the export phase.

Spec:

Lifecycle:

Libcnb:

Pack:

Samples:

Documentation:

Optimizations

cmoulliard commented 2 years ago

Should we also include a link to a paketo's github EPIC as they will also have to support extensions Dockerfiles ?