datomic

Ask questions on the official Q&A site at https://ask.datomic.com!
kenny 2020-08-28T00:49:05.095800Z

How do folks handle deploying the same ion config to N different Datomic Cloud systems? Datomic only allows the ion config to be specified as a static edn file on the classpath. Right now we have to dynamically generate that file for each datomic system at deploy time. It feels quite hacky though. I'd really like a single "master" config where I can customize the :app-name at deployment time.

4☝️
adamtait 2020-08-28T14:49:38.102300Z

What I do is worse; change the classpath (in deps.edn) each time I deploy. I’d love to see a better solution, too!

steveb8n 2020-08-28T23:48:16.104200Z

I do the same thing. Overwriting the file and doing an unreproducible deployment. Feels wrong

kenny 2020-08-29T00:04:13.104400Z

@adamtait @steveb8n @cjsauer @jake.shelby Pinging you all since you seemed interested in this. I created a post on the Datomic forum so this doesn't get lost in Slack. Post is here: https://forum.datomic.com/t/dynamic-ion-config-edn-app-name/1607

4👍
2020-08-29T01:47:04.105Z

May be misunderstanding the use case, but all our environments have the same app name, only the aws profile (in gitlab deployment params) determine where it's being deployed to.

kenny 2020-08-29T02:04:06.111700Z

I think you can customize profile when calling the deploy functions, right?

2020-08-29T07:41:17.114600Z

Yes

cjsauer 2020-08-29T13:57:36.118700Z

My use case is for dev/staging/prod deploys of the app. By “AWS profile”, I’m assuming that means you have an AWS account per deploy? That seems overkill for my simple use case, but perhaps there are benefits to keeping envs isolated in that way.

2020-08-30T06:14:59.121100Z

Yes, separate accounts. It probably is overkill for a simple case. I use terraform for the AWS stuff so creating another account/deployment is relatively low effort

kschltz 2020-08-28T01:33:36.097100Z

I was wondering, whats the procedure to delete data from datomic cloud, due to data regulations?

jdhollis 2020-08-28T17:40:46.102600Z

My understanding is that excision is not available in Datomic Cloud. So if you’re worried about GDPR or similar, you’re better off storing any identifying data elsewhere.

2👍
kschltz 2020-08-28T19:39:24.103100Z

@jd537 This would be our primary path

Ben Sless 2020-08-28T08:33:45.097200Z

yeah, it looks like to be safe and atomic you must use a tx fn

cjsauer 2020-08-28T13:31:46.099700Z

Somewhat out of date now, but Valentin’s Datofu library had some helpers for resetting to-many relations as a tx fn. It might be worth studying the code for ideas: https://github.com/vvvvalvalval/datofu#resetting-to-many-relationships

2👍
adamtait 2020-08-28T14:49:38.102300Z

What I do is worse; change the classpath (in deps.edn) each time I deploy. I’d love to see a better solution, too!

jdhollis 2020-08-28T17:40:46.102600Z

My understanding is that excision is not available in Datomic Cloud. So if you’re worried about GDPR or similar, you’re better off storing any identifying data elsewhere.

2👍
kschltz 2020-08-28T19:39:24.103100Z

@jd537 This would be our primary path

Jon Walch 2020-08-28T22:48:36.104100Z

Is it possible to downgrade a production topology to a solo topology?

jdhollis 2020-08-29T18:08:11.119Z

I haven’t tried it, but I suspect it should be possible. I believe both topologies share the same storage layer.

steveb8n 2020-08-28T23:48:16.104200Z

I do the same thing. Overwriting the file and doing an unreproducible deployment. Feels wrong