openculinary / infrastructure

This repository documents the steps required to set up a fresh RecipeRadar environment
GNU Affero General Public License v3.0
5 stars 5 forks source link

Enable local development via `podman` and `buildah` #17

Open jayaddison opened 4 years ago

jayaddison commented 4 years ago

Is your feature request related to a problem? Please describe. Currently it's challenging and time-consuming to set up a local development environment because there is an assumption that the developer will run a CRI-O-backed Kubernetes cluster.

Describe the solution you'd like The buildah and podman tools can run in unprivileged userspace and build containers that are compatible with CRI-O Kubernetes.

Indeed, openculinary projects already use these tools to build and push (but not run) these images.

These tools could be a good fit to allow developers to run containers locally for each of the openculinary projects.

Questions here include:

Describe alternatives you've considered docker-compose would be an alternative route to take here -- essentially, we could define a compose file to define and configure the set of services required.

This has a short-term benefit of being a relatively widely-used tool and a relatively straightforward solution. It does introduce a larger attack surface and requires a privileged install environment since a Docker daemon is required.

jayaddison commented 4 years ago

:man_cook: :kiss: https://github.com/containers/podman-compose

jayaddison commented 4 years ago

Regarding persistence: investigate overlay mounts in podman (-O command-line argument) - https://github.com/containers/podman/blob/e8f48a11b6100c6d0ec21366c66a95fd7abfd154/docs/source/markdown/podman-build.1.md

jayaddison commented 3 years ago

A functional syntax for bind-mounting the local directory into a running container via podman run is: --mount=type=bind,ro,src=web,dst=/web,relabel=shared