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: posit-bakery/docs/configuration.qmd
+80-2Lines changed: 80 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -173,6 +173,7 @@ An Image represents a container image managed by the project. Each image has one
173
173
| `versions`<br/>*[ImageVersion](#imageversion) array* | The list of versions for the image. Each version should have its own directory under the image's `subpath`. Cannot be used with `matrix`. | `[]` | `- name: 2025.07.0` |
174
174
| `matrix`<br/>*[ImageMatrix](#imagematrix)* | A matrix configuration for generating multiple image versions from dependency combinations. Cannot be used with `versions`. | | See [ImageMatrix](#imagematrix) |
175
175
| `options`<br/>*[ToolOptions](#tooloptions) array* | A list of options to pass to a supported tool when performing an action against the image. | `[]` | <pre>- tool: goss<br/> wait: 10<br/> command: "my-custom command"</pre> |
176
+
| `devVersions`<br/>*[ImageDevelopmentVersion](#imagedevelopmentversion) array* | Ephemeral versions resolved at build time from a product channel or dependency prerelease. Built when `--dev-versions include` or `--dev-versions only` is passed. | `[]` | See [ImageDevelopmentVersion](#imagedevelopmentversion) |
176
177
177
178
#### Example Image
178
179
@@ -232,6 +233,83 @@ images:
232
233
tagDisplayName: ubuntu22.04
233
234
```
234
235
236
+
### ImageDevelopmentVersion
237
+
238
+
An `ImageDevelopmentVersion` defines an ephemeral version resolved at build time. Unlike static `versions`, it is not stored on disk — Bakery fetches the version string (and optionally download URLs) from an external source each time a dev build runs. Development versions are included when `--dev-versions include` or `--dev-versions only` is passed to `bakery build` or `bakery ci matrix`.
239
+
240
+
Each entry carries a `sourceType` discriminator that selects the resolution strategy.
| `sourceType`<br/>*string* | *(Required)* Resolution strategy. `"stream"` resolves from a product release channel; `"dependency"` resolves from a dependency prerelease. | | `stream`, `dependency` |
247
+
| `os`<br/>*[ImageVersionOS](#imageversionos) array* | Operating systems to build for. | `[]` | `- name: Ubuntu 24.04` |
248
+
| `extraRegistries`<br/>*[Registry](#registry) or [BaseRegistry](#baseregistry) array* | Additional registries to push this dev version to. Cannot be set alongside `overrideRegistries`. | `[]` | |
249
+
| `overrideRegistries`<br/>*[Registry](#registry) or [BaseRegistry](#baseregistry) array* | Replaces all inherited registries for this dev version. Cannot be set alongside `extraRegistries`. | `[]` | |
250
+
| `values`<br/>*map[string, string]* | Arbitrary key-value pairs passed to Jinja2 templates when rendering this dev version. | `{}` | `POSITRON_CHANNEL: dailies` |
251
+
252
+
#### `sourceType: stream` — Product Channel
253
+
254
+
Resolves the version from a Posit product release channel. The artifact download URL is fetched from the channel's CDN and injected into the Containerfile template.
Resolves the version via the dependency constraint system rather than a product channel. The Containerfile template is responsible for constructing the download URL from `Image.Version` and any `values` passed.
| `dependency`<br/>*string* | *(Required)* The dependency to resolve a version for. Must be a supported dependency type. | | `positron` |
288
+
| `prerelease`<br/>*bool* | When `true`, includes the dependency's prerelease channel in version resolution. | `false` | `true` |
289
+
| `channel`<br/>*string* | The release channel for this dev version. Populates the `{{ Channel }}` tag variable. Omit for stable dependency resolution. `"release"` is not accepted. | *(none)* | `daily`, `preview` |
290
+
291
+
**Example:**
292
+
293
+
```yaml
294
+
devVersions:
295
+
- sourceType: dependency
296
+
dependency: positron
297
+
prerelease: true
298
+
channel: daily
299
+
values:
300
+
POSITRON_CHANNEL: dailies
301
+
overrideRegistries:
302
+
- host: ghcr.io
303
+
namespace: posit-dev
304
+
repository: workbench-positron-init-preview
305
+
os:
306
+
- name: Ubuntu 24.04
307
+
primary: true
308
+
platforms:
309
+
- linux/amd64
310
+
- linux/arm64
311
+
```
312
+
235
313
### ImageVariant
236
314
237
315
An ImageVariant represents a variant of an image, such as standard or minimal builds. Each variant is expected have its
@@ -329,8 +407,8 @@ At the image level, these are specified through a VersionConstraint.
329
407
| `constraint`<br/>*[VersionConstraint](#versionconstraint)* | *(Required)* Constraints to apply to calculate versions. | | <pre>latest: true<br/>count: 2</pre> |
330
408
331
409
::: {.callout-note}
332
-
The `quarto` dependency type supports an additional `prerelease` field (default: `false`).
333
-
When `true`, prerelease versions of Quarto are included in the version calculation.
410
+
The `quarto` and `positron` dependency types support an additional `prerelease` field (default: `false`).
411
+
When `true`, prerelease versions are included in the version calculation.
334
412
:::
335
413
336
414
Each Dependency defines the dependency type, as well as the versions of the dependency that will be installed.
0 commit comments