Elektrobit / flake-pilot

Registration/Control utility for applications launched through a runtime-engine, e.g containers
MIT License
9 stars 5 forks source link

Replace adhoc yaml with serde #131

Closed Ichmed closed 1 year ago

Ichmed commented 1 year ago

first part of https://github.com/Elektrobit/flake-pilot/issues/128

Includes only podman config, will copy the approach for firecracker and/or create generic version for all back ends if approved

Adds lazy_static for config initialization, can be removed if rust version is bumped to one that includes OnceCell

Ichmed commented 1 year ago

I had to adjust the config slightly because apparently rust_yaml and serde_yaml treat the ~ slightly differently (this version wanted to use the user "~" instead of the default user)

This also meant swapping out all user arguments for Option<&str>

schaefi commented 1 year ago

Great this is a good pull request to review and test, thanks much :+1: I will take a closer look and test at the end of the week. Until then my plate is full with other stuff. On a first look it really looks good, again thanks much appreciated

Ichmed commented 1 year ago

Re-added yaml unification and added a unit test for it. Had to use yaml-rust since serde_yaml does not support identical keys since version 0.9. We should probably still figure out a better solution for unification but that is out of the scope of this PR