MightyMoud / sidekick

Bare metal to production ready in mins; your own fly server on your VPS.
https://www.sidekickdeploy.com
GNU General Public License v3.0
5.97k stars 98 forks source link

JSON OUT and Koanf #28

Closed gedw99 closed 1 month ago

gedw99 commented 1 month ago

Hey @MightyMoud ,

Just following up our mention of this in another issue...

On the CLI, can we have a global flag like "--output=json" ?

why ?

so then automation systems can grok it and we can do runtime level co-ordination of main dockers spread out anywhere, and other things that are not yet imagined.

how ?

https://github.com/cli/cli/blob/trunk/pkg/cmdutil/json_flags.go have a nice way.

why Koanf ? https://github.com/knadh/koanf has the bells and whistles ..

Sidekick, once integrated into someone's pipeline, will probably want to be reactive to other data changed and causing sidekick to "do things" as a result. It's why I kind of like the koanf approach.

It's NOT really a CLI system, but rather a Configuration system.

So I think it's absolutely great for holding the final config.

https://github.com/launchrctl/launchr is pretty much like what side kicks is going but using koanf

But I think we can use the current packages for the CLI, with the final sidekick config using koanf. We get the best of both worlds. a CLI with JSON out, and a final config that is reactive.

https://github.com/knadh/koanf/tree/master/examples shows it off how it can react to other data changing.

Its a nice big profitable company behind it with lots of open source ethics, so the package will not go and get slipped under the rug :)

MightyMoud commented 1 month ago

Yup I see the vision.

For now Sidekick needs to be much better at running from local machines first before I focus on making sure it can part of an automation system as you mentioned.

Distant future it is.

MightyMoud commented 1 month ago

Closing this out with the distant future vision. Just cleaning things up a little