Issue/500 support for other engines#504
Conversation
- create readme with setup instructions - configuration does not affect production environment
- is already managed by the journalctl
StatusI created a single instance setup with rootles podman quadlet that could already be used in production with more documentation. This needs to be adjusted for a 3dic-ttp dev-setup. For this quadlet is maybe not the best choice. A pure kubernetes yaml setup with podman kube-play is considered. The single instance setup is further documented under Planned improvements on single instance
3dic-ttp Setup Tasks (based on the single instance setup)
|
|
Thank you for the PR, @Leaced!
I agree, Quadlet / systemd seams too heavyweight for dev-setups. For the install guide we currently generate In general I think that Kubernetes YAML based deployments are too static for the use in dev-setups. When using the If you are up for it, I still would like you to add a Kubernetes YAML equivalent for the Please consider the following changes:
For step 1 we could modify the templating function of our For the privileged port problem: As mentioned in #500 I think we should consider adding "minimal" variants of our images. These would not include curl, would only use unprivileged ports and maybe have configurable uids/gids. We would need four more Dockerfiles (Dockerfile.minimal?) and some modifications to the build scripts. But maybe we want to tackle this in a separate PR. |
This sounds like an ideal place for the setup I already have. If you are up
This is something I can do. In a dev-setup I would use hostpath and then I can keep this close to the existing dev-setups. What about the rootless? It would be good to test this, if we want it in the dsf-config, but this would need a few changes for namespacing. Should the dev-setup include them? So I would split this in 2 completely different projects. A dev-setup and an prod-setup. I will continue with my work in the next week. |
|
This is an initial draft establishing a local development setup similar to Key differences from a production-ready environment:
The goal is to provide an environment that closely mirrors the production setup for quadlet while remaining lightweight and simple for local testing. Please note that this setup is still experimental and requires thorough testing. I am seeking feedback on the general structure before proceeding. To-Do List
Known Limitations
Alternatives to consider:I initially explored using Quadlets as an intermediate stepping stone toward Kubernetes. However, transitioning to Kubernetes will require additional architectural changes. Continuing down this path risks leaving us with three separate environments to maintain (Kubernetes, Compose, and Quadlets). Alternatively, Podman has its own Compose Provider. We could simply provide a deployment guide on how to run our existing Compose files using rootless Podman, which would require minimal modifications. From there, the YAML configurations generated during this spike could be used to build a standardized Helm chart. Under this approach, we would only need to support two setups:
To validate the production-ready path, we could test the Helm chart locally during development using a tool like KinD (Kubernetes in Docker). |
See: #500
Closes #500.
Changes
This creates a new dev-setup based on podman quadlet and podman-kube. Further discussion is needed.
Maybe we should use quadlet only in production and a single yaml with kube-play for dev-setups?
How Was This Patch Tested?
It is used in a test-instance of the Universitätsmedizin der Johannes Gutenberg-Universität Mainz.
Because it is only a deployment, there are no unit tests.