I've found using bb to calculate a dynamic GitHub Actions testing matrix to be really useful at home and at work. https://github.com/typedclojure/typedclojure/blob/main/script/print-actions-matrix.clj
Nice!
For the rest of the glue, grep for "matrix" https://github.com/typedclojure/typedclojure/blob/main/.github/workflows/clj.yml
> if you have some ideas how babashka could pass down args to the deps system...
Nothing directly comes to mind, the -C-Sforce
is interesting, because it's consistent with the approach deps.tools have taken; maybe it would be enough to have a :clojure-opts
setting in the bb.edn
?
The complexity also stems from the fact that you have the clojure
that is internal and used to resolve things like bb :deps
; but there is also the clojure
that can be invoked by a user task. If one were to pass or configure some default clojure args, should they be applied the same to both?
That’s not really an issue. clojure is a drop-in replacement to which you can pass all args
The args we are discussing should only affect bb deps
touché
Hello! How can I distinguish between whether a file is run from the terminal via bb <http://myfile.bb|myfile.bb>
or evaluated in repl via my editor's load file in REPL? What I do now is checking (str/includes? *file* "\n")
which, if true, means we run from repl as the var is the content of the file instead of a path. But there must surely be a better way?
How could I have overlooked that? Thanks a lot!
I'm afk for the rest of the day, back tonight (hiking!)
enjoy the trip! ⛰️
(Living in Norway, when you say hiking, I of course only think about mountains, though I bet the situation is rather different in Holland)
are people using bb for server automation tasks? like “ssh in, do some config changes, restart a service” typo of things?
sure, I can always shell out to ssh command line
that gives me an idea that if the other machine has bb installed, one could make a macro like (remote-bb "<mailto:foo@example.com|foo@example.com>" (println "I'm evaluated on the remote machine"))
that would invoke bb on the other machine via ssh and return result
there’s also https://epiccastle.io/spire/ but bb is more general purpose
Any tips how to encrypt data from bb? Since javax.crypto.Cipher
is not available? I see there is a pod for https://github.com/rorokimdim/stash but I want something that does not require to install an external binary. So I guess my best option is to use openssl via CLI?
There is a buddy pod for this
I don’t see why not :)
any examples publicly available?
But it seemed to have only Mac, hash, nonce, not crypto ns?
true, but it does seem simple to add though, without having looked into it further than just looking here: https://github.com/babashka/pod-babashka-buddy/blob/37ce1185d43e5f5855e56425ee46550a167687c0/src/pod/babashka/buddy.clj
Good catch
@tatut I was afk today, but I'm finally back. An example:
bb -e '(:out @(babashka.process/process ["ssh" "<mailto:borkdude@foobar.com|borkdude@foobar.com>" "ls"] {:out :string :err :inherit}))'
this would return the string return from the ssh
command and would pipe the stderr stream to bb's stderr
@holyjak So did you find another solution?
Just sh/sh openssl