Skip to content

Commit 3f20b32

Browse files
author
Natalie Arellano
committed
Clarify inputs to the extender
Signed-off-by: Natalie Arellano <[email protected]>
1 parent 4f82d4f commit 3f20b32

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

content/docs/features/dockerfiles.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ summary="Dockerfiles can be used to extend base images for buildpacks builds"
88
Buildpacks can do a lot, but there are some things buildpacks can't do. They can't install operating system packages,
99
for example. Why not?
1010

11-
Buildpacks run unprivileged (i.e, buildpacks do not run as the `root` user) and cannot make arbitrary changes to the
12-
filesystem. This enhances security, enables buildpack interoperability, and preserves the ability to rebase - but it
13-
comes at a cost. Base image authors must anticipate the OS-level dependencies that will be needed at build and run-time
14-
ahead of time, and this isn't always possible.
11+
Buildpacks do not run as the `root` user and cannot make arbitrary changes to the filesystem. This enhances security,
12+
enables buildpack interoperability, and preserves the ability to rebase - but it comes at a cost. Base image authors
13+
must anticipate the OS-level dependencies that will be needed at build and run-time ahead of time, and this isn't always
14+
possible.
1515

1616
This has been a longstanding source of [discussion](https://github.com/buildpacks/rfcs/pull/173) within the CNB project:
1717
how can we preserve the benefits of buildpacks while enabling more powerful capabilities?

content/docs/reference/spec/migration/platform-api-0.9-0.10.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,10 @@ Note: image extensions are not supported for Windows container images.
7777
* The new run image will be written to `analyzed.toml`
7878
* Invoke `restorer` with a new required argument (when using extensions): `-build-image`, a tag reference to the builder image in use
7979
* A new volume mount is introduced with target `/kaniko`; this volume must be writable by the `restorer` user
80-
* Invoke `extender` (new lifecycle binary) as the `root` user, instead of `builder`; the extender will use kaniko to apply the relevant generated Dockerfiles to the build image and then drop privileges to run the `build` phase
80+
* Invoke `extender` (new lifecycle binary), instead of `builder`; the extender will use kaniko to apply the relevant generated Dockerfiles to the build image and then drop privileges to run the `build` phase
8181
* The same volume from `restore` should be mounted at `/kaniko`
82+
* The `extender` user should have sufficient permissions to execute all `RUN` instructions in each Dockerfile - typically, it should run as `root`
83+
* Consult the [platform specification](https://github.com/buildpacks/spec/blob/main/platform.md) for the full list of configuration options for the `extender`
8284
* Invoke `exporter` as usual
8385
* If Dockerfiles for customizing the run image were output by extensions, the `exporter` will use the run image designated by the extension process
8486

0 commit comments

Comments
 (0)