containers / podman-compose

a script to run docker-compose.yml using podman
GNU General Public License v2.0
4.86k stars 465 forks source link

Add TOML support for Podman-Compose? #901

Closed eternalevelyn closed 2 months ago

eternalevelyn commented 3 months ago

Feature request description

Hi- I'm new to Podman but I am migrating from Docker. I'd like to suggest (in no way do I intend to impose of course) allowing an alternate configuration for writing compose files in TOML. Primarily because I find that YAML compose is verbose and weirdly formatted (i.e. without an IDE, it discriminates and throws errors over tab characters being used instead of spaces), and TOML is a more efficient way.

Suggest potential solution

Implementing TOML support- it's more concise and easy, it's less difficult to learn (imo), and it throws less errors. Of course you don't have to, I just think it'd be neat and draw more people to it.

Have you considered any alternatives?

I've tried a lot of YAML, but the configs are difficult to navigate, verbose, and throw errors often.

Additional context

TOML is, I think, an optimal language for config files. I might actually create a TOML compose parser/spec prototype in Rust or Python and share it here, for you guys to base yours off.

baude commented 3 months ago

podman compose is not part of the podman project and is not related except by name ... i'll see about transferring your feature request to the correct project.

eternalevelyn commented 3 months ago

Gotcha, thanks.

p12tic commented 2 months ago

I've looked into this and unfortunately adding TOML is impossible. TOML uses dot character to define paths to children nodes. podman-compose supports keys with dot in the name. Because of that, it is impossible to unambiguously parse TOML file. a.b.c could mean that it's a root key named a.b.c, or that there's a dict with b child dict which has c key.