Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CI.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Bakery CI

These workflows are used by the following product image repositories:
- [images-connect](https://github.com/posit-dev/images-connect)
- [images-package-manager](https://github.com/posit-dev/images-package-manager)
- [images-workbench](https://github.com/posit-dev/images-workbench)

## Shared Workflows

This repository provides two Github Action workflows for building, testing, and pushing images:
Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
| Repository | Description |
|:-----------|:------------|
| [images](https://github.com/posit-dev/images) | Posit Container Image Meta Repository |
| `images-connect` | Posit Connect Container Images |
| [images-connect](https://github.com/posit-dev/images-connect) | Posit Connect Container Images |
| [images-package-manager](https://github.com/posit-dev/images-package-manager) | Posit Package Manager Container Images |
| `images-workbench` | Posit Workbench Container Images |
| [images-workbench](https://github.com/posit-dev/images-workbench) | Posit Workbench Container Images |
| [images-examples](https://github.com/posit-dev/images-examples) | Examples for using and extending Posit Container Images |

## Tools
Expand All @@ -22,10 +22,13 @@
The [bakery](./posit-bakery/) command line interface (CLI) binds together various [tools](./posit-bakery/README.md#3rd-party-tools) to managed a matrix of container image builds.

>[!TIP]
> [Get started with `bakery`](./posit-bakery/README.md#getting-started)
> - [Get started with `bakery`](./posit-bakery/README.md#getting-started)
> - [Bakery Examples](https://github.com/posit-dev/images-examples/tree/main/bakery) — step-by-step tutorials

## GitHub Actions

See [CI Workflows](./CI.md) for shared GitHub Actions workflows used by product image repositories.

### setup-goss

Bakery uses [goss](https://github.com/goss-org/goss) and [dgoss](https://github.com/goss-org/goss/tree/master/extras/dgoss) to define and execute tests that ensure that the container image was built properly.
Expand Down
6 changes: 6 additions & 0 deletions posit-bakery/CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -534,3 +534,9 @@ A GossOption represents options for `dgoss` tests against an image target.
| `runtimeOptions`<br/>*string* | Additional runtime options to pass to the `dgoss` container instantiation when running tests. | | `--privileged` |
| `command`<br/>*string* | | The command to run within the `dgoss` container. This can be used to start a service in the container for testing. | `sleep infinity` | `start-server` |
| `wait`<br/>*int* | The number of seconds to wait after container startup before running tests. Useful if there is a service that needs to complete its startup prior to testing. | `0` | `30` |

## See Also

- [Templating Documentation](./TEMPLATING.md) — Jinja2 macros and variables available in image templates
- [Architecture Diagrams](./ARCHITECTURE.md) — Detailed tool behavior and flow diagrams
- [Bakery Examples](https://github.com/posit-dev/images-examples/tree/main/bakery) — Real-world `bakery.yaml` files and step-by-step tutorials
12 changes: 10 additions & 2 deletions posit-bakery/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,14 @@ The [bakery](./posit-bakery/) command line interface (CLI) binds together variou
pipx install 'git+https://github.com/posit-dev/images-shared.git@main#subdirectory=posit-bakery&egg=posit-bakery'
```

## Examples

See the [Bakery Examples](https://github.com/posit-dev/images-examples/tree/main/bakery) repository for step-by-step tutorials on creating and managing container image projects with Bakery.

## CI Integration

Bakery provides shared GitHub Actions workflows for building, testing, and pushing images. See the [CI Workflows](../CI.md) documentation for usage details.

## Usage

>[!TIP]
Expand Down Expand Up @@ -159,7 +167,7 @@ bakery help
bakery run dgoss
```

Additional run options can be specified using Goss options in `bakery.yaml` on a per image or per variant basis
Additional run options can be specified using [Goss options](./CONFIGURATION.md#gossoptions) in `bakery.yaml` on a per image or per variant basis

## Bakery Concepts

Expand All @@ -176,7 +184,7 @@ bakery --context /path/to/directory
```

A bakery **project** can include one or more **image**s.
Each **image** can optionally have one or more **variant**s. By default, there are two variants: Standard and Minimal.
Each **image** can optionally have one or more [**variant**](./CONFIGURATION.md#imagevariant)s. By default, there are two variants: Standard and Minimal.
Each **image** should have one or more **version**s.
Each **version** can have one or more **OS**es.

Expand Down
6 changes: 6 additions & 0 deletions posit-bakery/TEMPLATING.md
Original file line number Diff line number Diff line change
Expand Up @@ -470,3 +470,9 @@ To wrap `install()` in a Docker RUN statement, use:
```jinja2
{{ waitforit.run_install() }}
```

## See Also

- [Configuration Documentation](./CONFIGURATION.md) — `bakery.yaml` schema reference
- [Architecture Diagrams](./ARCHITECTURE.md) — Detailed tool behavior and flow diagrams
- [Bakery Examples](https://github.com/posit-dev/images-examples/tree/main/bakery) — Step-by-step tutorials, including the managed dependencies and matrix images examples