babashka

https://github.com/babashka/babashka. Also see #sci, #nbb and #babashka-circleci-builds .
2020-12-31T11:31:32.433300Z

Good news (I think). First stab at a aws-api pod. Calling it a day. Happy new year!

๐ŸŽ‰ 9
lispyclouds 2021-01-01T09:15:59.463500Z

Thanks @borkdude , @jeroenvandijk feel free to poke me about things too, Iโ€™m equally happy to help out ๐Ÿ’ช

2021-01-02T20:17:06.466200Z

@borkdude and @rahul080327 Iโ€™ve pushed a first version and created a PR

1
Dig 2021-01-04T17:30:27.468100Z

I would like to test it out too, please add 'digash'

borkdude 2021-01-04T17:31:53.468300Z

@i.slack added

๐Ÿ‘ 1
2020-12-31T11:55:49.433700Z

S3 requests work as well. only aws/doc gives some problems (it prints to standard out). Will look at it later

borkdude 2020-12-31T16:43:55.434800Z

One last time this year! @rahul080327 and I are happy to announce the sqlite3 pod! https://github.com/babashka/pod-babashka-sqlite3 Use sqlite from babashka. The pod is self-contained, no need to install sqlite3 on your system. Implemented in golang and uses transit for communication. Even blobs work.

8
borkdude 2020-12-31T16:50:22.435700Z

@thomas.ormezzano Btw, we used the go transit library for the above to deal with the bytes over the wire, it worked well

๐Ÿš€ 1
2020-12-31T17:14:24.436900Z

Just a silly question, but would it be possible to use pod with traditional Clojure applications?

2020-12-31T17:14:36.437300Z

I would be interested into linking this go app with Clojure to support "dqlite"

2020-12-31T17:14:37.437500Z

https://github.com/canonical/go-dqlite

2020-12-31T17:15:00.438Z

dqlite is a distributed sqlite from Canonical

borkdude 2020-12-31T17:20:03.438300Z

@neo2551 Yes, you can use pods with the JVM

2020-12-31T17:20:17.438600Z

Interesting ๐Ÿ™‚

borkdude 2020-12-31T17:20:19.438900Z

you will need to use the pods library: https://github.com/babashka/pods

2020-12-31T17:38:39.439800Z

I asked before, but maybe something has changed then, is there jsch pod or something?

borkdude 2020-12-31T17:44:43.441300Z

What would a jsch pod do for you - can you describe the use case?

2020-12-31T17:49:13.445800Z

Iโ€™m looking for ssh port forwarding solution. Last time I built my own binaries by compiling some clojure code with graalvm. Maybe Iโ€™m wrong calling it pod, basically I want something that allows me to stay within bb script and use jsch

borkdude 2020-12-31T18:25:02.446100Z

Can you sketch what an example call would look like?

borkdude 2020-12-31T18:42:19.446300Z

Last time someone asked about this I replied: what about shelling out to ssh using babashka.process - is there something that you could do with jsch which cannot be done that way?

borkdude 2020-12-31T18:46:08.446700Z

There is a bb-like project (based on sci as well) which uses stuff like jsch under the hood: https://epiccastle.io/spire/ So I'm pretty positive that this can work, I just don't know the requirements that well

2020-12-31T18:50:08.449900Z

I think what I want is pretty close to clj-commons/clj-ssh just tried to run it with bb but itโ€™s not working out of the box. Yes, shelling out is possible, but I wanted to abstract the platform https://github.com/clj-commons/clj-ssh

borkdude 2020-12-31T18:51:34.450400Z

right

2020-12-31T18:52:24.452100Z

One example where shelling out is not a good option is native macOS apps. In sandbox you donโ€™t have permission to run arbitrary binaries but only those you provide within your app

borkdude 2020-12-31T18:53:22.452500Z

A pod is also loading an external binary btw. It's comparable to shelling out, it's just more structured

2020-12-31T18:55:21.454900Z

Right so Iโ€™m thinking this structure is quite helpful for bundling

2020-12-31T18:57:26.457300Z

thank you for your helpful responses @borkdude and happy new year! :)

borkdude 2020-12-31T18:57:37.457500Z

I made an issue here: https://github.com/borkdude/babashka/issues/694 I'm willing to set up a private skeleton project in the babashka repo and invite you for collaboration if you want

borkdude 2020-12-31T18:58:07.458Z

To get things started

borkdude 2020-12-31T18:58:31.458200Z

Thanks, the same to you!

2020-12-31T18:58:54.459Z

Awesome, thanks again!

borkdude 2020-12-31T19:14:18.459200Z

Small dev tip: You can test the pod from the JVM without going native:

(pods/load-pod ["clojure" "-M" "-m" "pod.babashka.buddy"])
this is faster for iterating

borkdude 2020-12-31T19:14:31.459400Z

But you probably already figured that out ;)

borkdude 2020-12-31T20:25:13.459800Z

What is your github id?

2020-12-31T20:36:41.460100Z

RomanTsopin

borkdude 2020-12-31T20:41:22.460300Z

Added you to https://github.com/babashka/pod-babashka-ssh

๐Ÿ‘ 1
borkdude 2020-12-31T20:49:43.460600Z

@jeroenvandijk I created the repo here and gave you write access. If you want you can continue over there: https://github.com/babashka/pod-babashka-aws Currently I'm getting this:

$ bb test.clj
----- Error --------------------------------------------------------------------
Type:     clojure.lang.ExceptionInfo
Message:  Cannot find resource cognitect/aws/s3/service.edn.
but I'm sure you can figure it out from here

borkdude 2020-12-31T20:55:09.460800Z

Feel free to poke me. I also added @rahul080327 and will add more people if they want, until there is a release that's suitable to make public