Fork me on GitHub
#datomic
<
2021-12-02
>
Benjamin08:12:27

Can I do anything inside a transaction? Like making a web request to slack or something?

Lennart Buit08:12:49

You probably don’t want to; transacting is an intentionally serial process. So any significant work you do inside the transactor will block other transactions from going through.

Benjamin09:12:10

I see. So maybe my code would do something like transact and afterwards trigger a lambda that makes the slack message?

Lennart Buit09:12:12

my aws-fu isn’t great, but that sounds reasonable

👍 1
Benjamin10:12:30

is there a correct way to ssh tunnel into a compute group? https://docs.datomic.com/cloud/whatis/architecture.html#api-gateway here it says have an api gateway for client access. The goal would be to connect to a running nrepl process

Daniel Jomphe13:12:08

https://github.com/markbastian/replionhas been a great guide for this, although the procedure is much simpler since this summer's new Datomic Cloud.

Daniel Jomphe13:12:10

The new topology makes it easier since there no more is any bastion to go through, and the Datomic instances are publicly exposed to the Internet.

Daniel Jomphe13:12:09

Opening the tunnel is as easy as: ssh -i/<path-to-key>.pem -L 7000: where the X vals are your compute instances public DNS.

👀 1
Daniel Jomphe13:12:33

7000 assumes that's the port you serve nRepl on.

Benjamin13:12:44

oh nice thanks a lot

1
Daniel Jomphe13:12:15

You only need to adjust the security group on the compute instance to let pass the traffic, as shown in Replion's guide (but the guide shows you to do it on the Bastion instance and the compute instance IIRW, but now there is no bastion, only the compute instance to open up).

Benjamin13:12:15

it's like an "inbound rule" on the security group right?

Daniel Jomphe13:12:29

Yes, let me confirm and screenshot.

Benjamin13:12:38

which is the security group that counts for a query group stack? There is lambda and loadbalancer group

Daniel Jomphe13:12:07

The one with -NodeSecurityGroup- in the name.

👀 1
Benjamin13:12:40

will try making it work 😄

🙂 1
Daniel Jomphe13:12:23

good luck! Things are errily silent when we miss a detail, but otherwise it's quite easy.

Benjamin13:12:24

what is missing a detail? Ah you mean if something isn't working there is no warnings and such when trying this

Daniel Jomphe13:12:21

Approximately in this order: 1. Network SSH p22: If your addresses are wrong, some error; if your path to the pem key is wrong, quick auth error 2. Network TCP p7000: If you open up the ports on the wrong SG or source CIDER, etc., IIRW connection will fail quickly with some error, or silently after a long timeout 3. nRepl service: If you forget to start your nRepl server on the appropriate port, long timeout IIRW I could be well off in my predictions. I never can remember which response is caused by which detail missed.

📝 1
Benjamin17:12:30

haha it works bananadance so sick. Can even use cider debug instrumentation on lambdas :pogg:

1
Daniel Jomphe20:12:41

Nice, Benjamin! 🙂

Benjamin14:12:09

Is there a ghetto fix way of using a custom (1.11alpha) in ions?

Benjamin14:12:54

yea I fix it differently

Benjamin15:12:32

What is the correct way to define a git sha in deps.edn? When I do it like this

io.github.discljord/discljord
        {:git/sha "f4942108038463b4c381c1ab152cdb2ae4863b38"
         :sha "f4942108038463b4c381c1ab152cdb2ae4863b38"}
then datomic ion dev is happy, but clj is not
Error building classpath. git coord has both :sha and :git/sha for io.github.discljord/discljord
I fell like the issue is that ion-dev doesn't read the namespaced one. Says "sha missing'" when I only put :git/sha

Alex Miller (Clojure team)16:12:08

ion stuff is still using the older tools.deps that doesn't understand :git/sha

Alex Miller (Clojure team)16:12:20

but clj should still work with :sha

Alex Miller (Clojure team)16:12:37

I guess you'll also need :git/url though

Alex Miller (Clojure team)16:12:07

:git/url + full :sha should work in both

Benjamin16:12:28

can confirm

org.suskalo/discljord
        {:git/url "[email protected]:IGJoshua/discljord.git"
         :sha "f4942108038463b4c381c1ab152cdb2ae4863b38"}
this worked 🎉