SelfhostedPro / Yacht

A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for.
MIT License
3.32k stars 158 forks source link

[Feature Request] TOML support for Templating #665

Open eternalevelyn opened 5 months ago

eternalevelyn commented 5 months ago

Is your feature request related to a problem? Please describe. As it stands JSON and YAML tend to be weird and verbose. I'm not a fan of working in verbose configuration languages with otherwise difficult configuration issues (e.g. the general tendency of YAML parsers to reject tab whitespace characters instead of multiple spaces, the verbosity of YAML). I'm a big fan of TOML for working in config files, because the layout makes more sense.

Describe the solution you'd like Just an implementation of TOML for making templates. I could probably prototype it in Rust or Python if you want an example.

Describe alternatives you've considered I've tried YAML a lot, and I just can't get past my frustrations with it. It's a pain to deal with in any context, and I never use YAML when writing my own software as a result. As well in my experience JSON is kind of a hassle to use.

Additional context As I said, I'm a programmer myself- but I'm unfamiliar with pretty much anything JS/TS-affiliated, so I don't know exactly how to deal with making an implementation and pull request here due to my languages mostly being backend-related or systems-related. Open to it if you want me to implement it in Python, C, C++, Go, Rust, Kotlin, Scala, Zig, or Clojure though.

SelfhostedPro commented 4 months ago

Hey, most of the new work being done on Yacht is over here: https://github.com/SelfhostedPro/yacht-nuxt The backend work for it wouldn't need to change much, I would just need to add a parser for it (the type should remain the same) so I'll go ahead and add that in.

wickedyoda commented 3 weeks ago

Please update or close the ticket as resolved.