#variant - May 2019

variantArchived
38 messages

Discuss variant (the “Universal CLI”) https://github.com/mumoshu/variant

Archive: https://archive.sweetops.com/variant/

Alexander Tolstikov
Alexander Tolstikovover 7 years ago
Alexander Tolstikov
Alexander Tolstikovover 7 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
any thoughts?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago(edited)
this is like your anydeps but uses variant without overloading helm as package manager.
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
(as you can see the motivation is for #helmfile to fetch releases)
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
but will be also used to fetch binaries
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
though I confess i wrote this without looking at anydep and now that I do see a bunch of things I can do better
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
mumoshu
mumoshuover 7 years ago
@Erik Osterman (Cloud Posse) I believe your approach does work and simpler, which is nice!

Your assumption would be that you don’t need transitive dependencies to be handled, right?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
yea, not for this stage
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
no deps of deps
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
i think a "package" system would be better then; perhaps why you chose helm
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago(edited)
@mumoshu have you considered a "default" command? e.g. if none of the args match, pass $* to some command
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
e.g. terraformctl would intercept any task defined, but if not defined, it would pass to terraform
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
basically, using variant to overload commands
mumoshu
mumoshuover 7 years ago
@Erik Osterman (Cloud Posse) sounds like a great addition to variant!
mumoshu
mumoshuover 7 years ago
@Erik Osterman (Cloud Posse) For variant (and also helmfile potentially) I got to think that we eventually need a tool like this:

https://github.com/mumoshu/versadep/blob/master/README.md

WDYT?
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
rohit
rohitover 7 years ago
I just came to know about variant
rohit
rohitover 7 years ago
i am not sure what advantage does variant have over regular bash scripts
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
consistent interface
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
proper arg validatin
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
very terse
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
most bash scripts have very poor argument handling
mumoshu
mumoshuover 7 years ago
yep, and it provides a “upgrade path” to a golang app 🙂
mumoshu
mumoshuover 7 years ago
you can use variant build and some scripts to produce a single executable that runs without variant
mumoshu
mumoshuover 7 years ago
and even add extra commands written in golang to your cmd written in yaml
mumoshu
mumoshuover 7 years ago(edited)
so if you feel outgrown from bash, variant allows you to gradually/fully migrate to golang.
rohit
rohitover 7 years ago
it is currently flying over my head, i will have to check it out
rohit
rohitover 7 years ago
i guess i will start with @Erik Osterman (Cloud Posse) intro video
rohit
rohitover 7 years ago
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
Yes
Erik Osterman (Cloud Posse)
Erik Osterman (Cloud Posse)over 7 years ago
Everything new we do is in variant
Alexander Tolstikov
Alexander Tolstikovover 7 years ago(edited)
@rohit I think about it like this: makefile is good for the wrapping bash scripts (and other executables), and variant is better than makefile to do it 🙂
Maycon Santos
Maycon Santosover 7 years ago
@Maycon Santos has joined the channel
mumoshu
mumoshuover 7 years ago