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/config/builder-config.md
+40-26Lines changed: 40 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,11 +13,13 @@ The builder config file is used for creating [builders][builder].
13
13
The schema is as follows:
14
14
15
15
-#### `description`_(string, optional)_
16
+
16
17
A human-readable description of the builder, to be shown in `builder inspect` output
17
18
(run `pack builder inspect -h` for more information).
18
19
19
20
-#### `buildpacks`_(list, optional)_
20
-
A list of buildpacks, each with the following fields:
21
+
22
+
A list of `buildpacks`, each with the following fields:
21
23
22
24
-**`id`**_(string, optional)_\
23
25
An identifier for the buildpack. Must match ID specified in buildpack's `buildpack.toml` file.
@@ -26,51 +28,52 @@ The schema is as follows:
26
28
The version of the buildpack. Must match version specified in buildpack's `buildpack.toml` file.
27
29
28
30
-**`uri`**_(string)_\
29
-
A URL or path to an [archive](#supported-archives), a packaged buildpack (saved as a `.cnb` file), or a directory. If path is relative, it must be relative to the `builder.toml`.
31
+
A URL or path to an [archive](#supported-archives), a packaged buildpack (saved as a `.cnb` file), or a directory. If path is relative, it must be relative to the `builder.toml`.
30
32
31
33
-#### `order`_(list, required)_
32
-
A list of buildpack groups. This list determines the order in which groups of buildpacks
33
-
will be tested during detection. Detection is a phase of the [lifecycle] where
34
-
buildpacks are tested, one group at a time, for compatibility with the provided application source code. The first
35
-
group whose non-optional buildpacks all pass detection will be the group selected for the remainder of the build. Each
36
-
group currently contains a single required field:
37
34
38
-
-**`group`**_(list, required)_\
39
-
A set of buildpack references. Each buildpack reference specified has the following fields:
35
+
A list of buildpack groups. This list determines the order in which the lifecycle tests groups of `buildpacks` during detection. Detection is a phase of the [lifecycle] where the lifecycle tests each `buildpacks` group, one at a time, for compatibility with the provided app source code. The first
36
+
group whose non-optional `buildpacks` all pass detection will be the group selected for the remainder of the build. Each group currently contains a single required field:
37
+
38
+
-**`group`**_(list, required)_\
39
+
A set of buildpack references. Each buildpack reference specified has the following fields:
40
40
41
-
- **`id`** _(string, required)_\
42
-
The identifier of a buildpack from the configuration's top-level `buildpacks` list. Buildpacks with the same ID may
43
-
appear in multiple groups at once but never in the same group.
41
+
-**`id`**_(string, required)_\
42
+
The identifier of a buildpack from the configuration's top-level `buildpacks` list. `Buildpacks` with the same ID may
43
+
appear in multiple groups at once but never in the same group.
Whether this buildpack is optional during detection.
52
52
53
53
-#### `build`_(required)_
54
+
54
55
Build-time information. It contains the following field:
55
56
56
57
-**`image`**_(required, string)_\
57
58
Image to use as the build-time base
58
59
59
60
-#### `run`_(required)_
61
+
60
62
Run-time information. It contains the following:
61
63
62
64
-**`run.images`**_(list, required)_\
63
65
A set of run image references. By default, the first run image specified will be used.
64
66
Image extensions (experimental) may be used to switch the run image dynamically at build-time.
65
67
Each run image reference has the following:
66
68
67
-
-**`image`**_(string, required)_\
68
-
Image to use as the run-time base
69
+
-**`image`**_(string, required)_\
70
+
Image to use as the run-time base
69
71
70
-
-**`mirrors`**_(list, optional)_\
71
-
[Mirrors](/docs/for-app-developers/concepts/base-images/run#run-image-mirrors) for the provided image
72
+
-**`mirrors`**_(list, optional)_\
73
+
[Mirrors](/docs/for-app-developers/concepts/base-images/run#run-image-mirrors) for the provided image
72
74
73
75
-#### `stack`_(optional, deprecated)_
76
+
74
77
The stack to use for the builder. See [stack](/docs/for-app-developers/concepts/base-images/stack) concept information for more details.
75
78
This field should be specified if it is necessary to maintain compatibility with older platforms.
76
79
If specified, the information in this field must be consistent with the `build` and `run` fields (see above).
@@ -89,6 +92,7 @@ The schema is as follows:
89
92
[Run image mirrors](/docs/for-app-developers/concepts/base-images/run#run-image-mirrors) for the stack
90
93
91
94
-#### `lifecycle`_(optional)_
95
+
92
96
The [lifecycle] to embed into the builder. It must contain **at most one** the following fields:
93
97
94
98
-**`version`**_(string, optional)_\
@@ -102,7 +106,8 @@ The schema is as follows:
102
106
> will not change despite new lifecycle versions being released.
103
107
104
108
-#### `build.env`_(optional)_
105
-
The [[[build.env]]](https://github.com/buildpacks/spec/blob/main/buildpack.md#environment-variable-modification-rules) is used to specify [operator-defined](https://github.com/buildpacks/spec/blob/main/platform.md#operator-defined-variables) build-time environment variables for buildpacks. Set `CNB_BUILD_CONFIG_DIR` in pack's environment to override the default directory (`/cnb/build-config/env`) where environment variable files are stored within the builder.
109
+
110
+
The [[[build.env]]](https://github.com/buildpacks/spec/blob/main/buildpack.md#environment-variable-modification-rules) is used to specify [operator-defined](https://github.com/buildpacks/spec/blob/main/platform.md#operator-defined-variables) build-time environment variables for `buildpacks`. Set `CNB_BUILD_CONFIG_DIR` in pack's environment to override the default directory (`/cnb/build-config/env`) where environment variable files are stored within the builder.
106
111
107
112
-**`name`**_(string, required)_\
108
113
The name/key of the environment variable.
@@ -111,16 +116,25 @@ The schema is as follows:
111
116
The value of the environment variable.
112
117
113
118
-**`suffix`**_(string, optional)_\
114
-
The type of action used to modify the environment variable when end-users or buildpacks define the same name/key, one of [`default`](https://github.com/buildpacks/spec/blob/main/buildpack.md#default), [`override`](https://github.com/buildpacks/spec/blob/main/buildpack.md#override), [`append`](https://github.com/buildpacks/spec/blob/main/buildpack.md#append), or [`prepend`](https://github.com/buildpacks/spec/blob/main/buildpack.md#prepend). Defaults to `default` if this field is omitted. Operator-defined environment variables take precedence over end-user or buildpack-defined environment variables.
119
+
The type of action used to modify the environment variable when end-users or `buildpacks` define the same name/key, one of [`default`](https://github.com/buildpacks/spec/blob/main/buildpack.md#default), [`override`](https://github.com/buildpacks/spec/blob/main/buildpack.md#override), [`append`](https://github.com/buildpacks/spec/blob/main/buildpack.md#append), or [`prepend`](https://github.com/buildpacks/spec/blob/main/buildpack.md#prepend). Defaults to `default` if this field is omitted. Operator-defined environment variables take precedence over end-user or buildpack-defined environment variables.
115
120
116
121
-**`delim`**_(string, optional)_\
117
122
The delimiter used to concatenate two or more values for the given `name`.
118
123
119
-
> The `delim` is required when `suffix` is one of `append` or `prepend`.
124
+
> The `delim` is required when `suffix` is one of `append` or `prepend`.
120
125
121
126
### Supported archives
122
127
123
-
Currently, when specifying a URI to a buildpack or lifecycle, only `tar` or `tgz` archive types are supported.
128
+
A URI to a buildpack or lifecycle can use one of the following sources:
129
+
130
+
-**Archives:**`.tar` or `.tgz` files, either local or remote.
0 commit comments