Fork me on GitHub

so, about that :app-name in ion-config.edn lol. As far as I can tell so far, that must be the same as your datomic cloud system name? Curious because have been cranking away, and have enough ion code, that I’d probably like to break it out into separate projects, that would still be installed in the same system/instance/whatever. Is that possible at this point?

👍 4

@U380J7PAQ you can set the application name when you create a system, see If you have N library projects and 1 app project, the app project should have the ion-config.edn file.


ok, but basically there can be only one app project per ‘system’? Where a system is a deployed instance of Datomic Cloud?


I was thinking (hoping 😉 ) that I could install multiple apps, not just libs that a single app uses. I may be looking at this incorrectly. I’m moving what used to be 4,5 clojure/datomic microservices into ions. I was thinking they’d each be an ‘app’ in a given ’sytem.s


@U380J7PAQ an Ion app is 1-1 with an AWS CodeDeployment app, which is the unit of deployment to a compute group (not a system). When we release query groups (see you will be able to deploy a different app to each query group in a system, if you want.


ok, i think i got it now. So (granted, I know this is new even for you guys lol), in your estimation would query groups be the logical longer term unit of demarcation, for more or less independent chunks of functionality? I’m working through how this would scale in terms of dev teams. I’m about to turn a scrum loose on this but will have others coming online in the next quarter or so.


and on that note, lol, any ETA on query groups?


working on it 🙂 Because it is a CloudFormation change requires more coordination with AWS


I am recommending "popup solo system per dev who needs isolation", query groups will provide another axis here.


very interested in your feedback on mapping the tech to a team workflow, and already working on improvements in this area as well


yeah, i’d already adopted the solo per dev approach. which makes things pretty awesome. self contained env. The query groups stuff is more about app segmentation. while all the code is all hanging out in a compute/query group or whatever. I’d stll like to have the ‘microservice feel’ lol. Where my ‘apps’ have their own db’s etc etc. It’s a little brain twisty. But yeah will definitely keep you apprised. Fortunately the first app is small enough for this to work.


Okay, so this has taken far longer than I wanted to get into a state I am okay sharing, but here is an early draft:


Full-stack GraphQL example backed by the ion-starter code and data set. Thanks to @steveb8n for his work on the Cognito-aware SPA client.


I’m just about to crash and then go catch a plane for a short vacation, but I will try to remember to post this to the Datomic forum tomorrow as well. Cheers!

👍 24

That’s great, thanks for writing this up!


Nice to see it come alive @chris_johnson


Nice. Im working on some similar stuff with amplify in a cljs client, and a ring ion entry point via api gateway. And a poc with lacinia, umlaut, etc to see if we can build a '"better appsync"


Hey is it or will it, be possible to deploy into an existing VPC?


@U380J7PAQ no current plans for "BYO VPC" -- it is an implementation and support hairball


Understood, I can imagine, lol. We’re doing some significant rengineering of our VPC’s one per lifecycle stage, then dedicated ones for transit, logs/secvault, etc. will dig on on how to best integrate datomic clouds’ config


Hey guys, Is there a better place to ask Datomic-ION setup questions?

Joe Lane20:07:16

Anyone ever seen an error like this before? "No implementation of method: :value-size of protocol: #' found for class: java.lang.Integer"

👍 8
Joe Lane20:07:42

I’m trying to transact some data, which transacts locally, but not from apigw

Joe Lane21:07:15

Figured it out. Datomic Cloud doesn’t (currently) seem to store integers (nor convert them automatically to longs). I had a field that was using ->int from semantic-csv to convert from string to java.lang.Integer.

Joe Lane21:07:45

Instead Datomic Cloud stores longs. Once converting the int to a long it worked great. Hope this help someone in the future.


Yep, ran into that myself a few days ago. Weirder thing, was that it it seemed to be intermittent. I had some code that would call parseInt on a string, transact it in, it would fail in some cases but not others

😬 4