You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/reference/spec/migration/buildpack-api-0.8-0.9.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ Hand-in-hand with shell removal is the introduction of overridable process argum
22
22
23
23
In `launch.toml`, `command` is now a list. The first element in `command` is the command, and all following entries are arguments that are always provided to the process, regardless of how the application is started. The `args` list now designates arguments that can be overridden by the end user - if supported by the platform (Platform API version 0.10 and above). For further details, see the platform [migration guide](/docs/reference/spec/migration/platform-api-0.9-0.10).
24
24
25
-
For older platforms (Platform API version 0.9 and below), arguments in `args` will be appended to arguments in `command`, negating the new functionality (but preserving compatibility).
25
+
For older platforms (Platform API version 0.9 and below), arguments in `command` will be prepended to arguments in `args`, negating the new functionality (but preserving compatibility).
will result in the following command invocation: `some-command always-1 always-2 user-1 user-2`.
40
40
41
+
#### Implications of upgrading
42
+
43
+
For processes from newer buildpacks, upgrading the platform (without changing anything else) will change the command invocation for end-users.
44
+
45
+
As an example, the following on Platform API version 0.9:
46
+
47
+
```
48
+
docker run --entrypoint from-newer-buildpack my-image user-1 user-2
49
+
```
50
+
51
+
will result in the following command invocation: `some-command always-1 always-2 override-1 override-2 user-1 user-2`, where overridable arguments are treated like regular arguments, and user-provided arguments are always appended. Upgrading the platform will cause `override-1` and `override-2` to be dropped, as shown above.
52
+
41
53
#### Older buildpacks
42
54
43
55
Process types contributed by older buildpacks (Buildpack API 0.8 and below) do not have overridable process arguments. Looking at metadata.toml:
@@ -51,7 +63,7 @@ args = ["always-1", "always-2"]
51
63
The `command` list will never have more than one element. `always-1` and `always-2` are arguments that are always provided to `some-command`. If no user-provided arguments are specified when the application image is launched, `always-1` and `always-2` will be provided only. If user-provided arguments are specified, these will be **appended** to the `args` list. Example:
52
64
53
65
```
54
-
docker run --entrypoint from-newer-buildpack my-image
66
+
docker run --entrypoint from-older-buildpack my-image
55
67
```
56
68
57
69
will result in the following command invocation: `some-command always-1 always-2`. However:
will result in the following command invocation: `some-command always-1 always-2 user-1 user-2`.
64
76
77
+
#### Implications of upgrading
78
+
79
+
For processes from older buildpacks, upgrading the platform will not change the command invocation.
80
+
65
81
### Image extensions are supported (experimental)
66
82
67
83
Platform 0.10 introduces image extensions as experimental components for customizing build and run-time base images (see [here](/docs/features/dockerfiles) for more information). Image extensions output Dockerfiles which are applied by the lifecycle using [kaniko][https://github.com/GoogleContainerTools/kaniko], a tool for building container images in Kubernetes, as a library.
0 commit comments