Skip to content

Commit 94f3bfd

Browse files
authored
Merge pull request #12 from posit-dev/examples-docs
Update README for bakery steps
2 parents aa54e39 + 96b711b commit 94f3bfd

File tree

2 files changed

+110
-3
lines changed

2 files changed

+110
-3
lines changed

LICENSE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Posit Software, PBC
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 89 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,104 @@
22

33
Container images for [Posit Workbench](https://docs.posit.co/ide/server-pro).
44

5+
## Images
6+
7+
| Image | Docker Hub | GitHub Container Registry |
8+
|:------|:-----------|:--------------------------|
9+
| [workbench](./workbench/) | [`docker.io/posit/workbench`](https://hub.docker.com/repository/docker/posit/workbench/tags) | [`ghcr.io/posit-dev/workbench`](https://github.com/posit-dev/images-workbench/pkgs/container/workbench) |
10+
| [workbench-session-init](./workbench-session-init/) | [`docker.io/posit/workbench-session-init`](https://hub.docker.com/repository/docker/posit/workbench-session-init/tags) | [`ghcr.io/posit-dev/workbench-session-init`](https://github.com/posit-dev/images-workbench/pkgs/container/workbench-session-init) |
11+
12+
Additional Posit container images are published to [Docker Hub](https://hub.docker.com/u/posit) and [GitHub Container Registry](https://github.com/orgs/posit-dev/packages).
13+
514
## Getting Started
615

16+
You can interact with this repository in multiple ways:
17+
18+
* [Build container images directly](#build) from the Containerfile.
19+
* [Use the `bakery` CLI](#using-bakery) to manage and build container images.
20+
* Extend the functionality by using the Minimal base image (see [examples](/posit-dev/images-examples)).
21+
22+
## Build
23+
24+
You can build OCI container images from the defitions in this repository using one of the following container build tools:
25+
26+
* [buildah](https://github.com/containers/buildah/blob/main/install.md)
27+
* [docker buildx](https://github.com/docker/buildx#installing)
28+
29+
The root of the bakery project is used as the build context for each Containerfile.
30+
Here, the `bakery.yaml` file, or project, is in the root of this repository.
31+
32+
```shell
33+
PWB_VERSION="2025.05"
34+
35+
# Build the standard Workbench image using docker
36+
docker buildx build \
37+
--tag workbench:${PWB_VERSION} \
38+
--file workbench/${PWB_VERSION}/Containerfile.ubuntu2204.std \
39+
.
40+
41+
# Build the minimal Workbench image using buildah
42+
buildah build \
43+
--tag workbench:${PWB_VERSION} \
44+
--file workbench/${PWB_VERSION}/Containerfile.ubuntu2204.min \
45+
.
46+
```
47+
48+
## Using `bakery`
49+
50+
The structure and contents of this reposity were created following the steps in [bakery usage](/posit-dev/images-shared/tree/main/posit-bakery#usage).
51+
752
### Prerequisites
853

9-
### Installation
54+
Build prerequisites
1055

11-
## Usage
56+
* [python](https://docs.astral.sh/uv/guides/install-python/)
57+
* [pipx](https://pipx.pypa.io/stable/installation/)
58+
* [docker buildx bake](https://github.com/docker/buildx#installing)
59+
* [just](https://just.systems/man/en/prerequisites.html)
60+
* [gh](https://github.com/cli/cli#installation) (required while repositories are private)
61+
* `bakery`
62+
63+
```shell
64+
just install bakery
65+
```
66+
67+
* `goss` and `dgoss` for running image validation tests
68+
69+
```shell
70+
just install-goss
71+
```
72+
73+
### Build with `bakery`
74+
75+
By default, bakery creates a ephemeral JSON [bakefile](https://docs.bakefile.org/en/latest/language.html) to render all containers in parallel.
76+
77+
```shell
78+
bakery build
79+
```
80+
81+
You can view the bake plan using `bakery build --plan`.
82+
83+
You can use CLI flags to build only a subset of images in the project.
84+
85+
### Test images
86+
87+
After building the container images, run the test suite for all images:
88+
89+
```shell
90+
bakery run dgoss
91+
```
92+
93+
You can use CLI flags to limit the tests to run against a subset of images.
1294

1395
## Issues
1496

15-
If you encounter any issues or have any questions, please [open an issue](https://github.com/posit-dev/images-workbench/issues). We appreciate your feedback.
97+
If you encounter any issues or have any questions, please [open an issue](/posit-dev/images-workbench/issues). We appreciate your feedback.
1698

1799
## Code of Conduct
18100

19101
We expect all contributors to adhere to the project's [Code of Conduct](CODE_OF_CONDUCT.md) and create a positive and inclusive community.
102+
103+
## License
104+
105+
Posit Container Images and associated tooling are licensed under the [MIT License](LICENSE.md)

0 commit comments

Comments
 (0)