A contributor cannot build, test, validate, and scan a product image on a local computer today. Each task needs its own tool, and each tool exists only as a step inside GitHub Actions:
- goss and dgoss
- hadolint
- wizcli
- trivy
- oras
- Docker Buildx
There is no single, repeatable way to install all of these tools on one computer.
The proposed container holds all of these tools. Its name is "the oven".
The oven uses Docker-outside-of-Docker. With this method, the oven sends commands to the host's own Docker daemon. The oven does not run a second daemon inside itself.
A just oven command builds the oven if it is not current, then starts it. This command mounts each sibling product repository at the same path inside the oven and on the host. As a result, bakery build and dgoss run work the same way inside the oven as they do on the host.
A contributor cannot build, test, validate, and scan a product image on a local computer today. Each task needs its own tool, and each tool exists only as a step inside GitHub Actions:
There is no single, repeatable way to install all of these tools on one computer.
The proposed container holds all of these tools. Its name is "the oven".
The oven uses Docker-outside-of-Docker. With this method, the oven sends commands to the host's own Docker daemon. The oven does not run a second daemon inside itself.
A
just ovencommand builds the oven if it is not current, then starts it. This command mounts each sibling product repository at the same path inside the oven and on the host. As a result,bakery buildanddgoss runwork the same way inside the oven as they do on the host.