Parameterizing Ion configuration

How would we parameterize the configuration for ions? For example, we have multiple Datomic databases - one each developer. How would we configure a lambda to use one database or another?

In our current development workflow, we would set environment variables for lambdas but there doesn’t seem to be a parallel concept for ions.

1 Like

@stu has mentioned using say the Parameter Store from AWS Systems Manager. I’m just about to start playing with it myself. To ‘root’ your vars you could transact something into the DB (which i’m less than thrilled with lol), or perhaps read an ENV tag off of the instance with the ec2 api

Thanks. That makes sense except for one case: Which database should the client connect to? Maybe this just isn’t an issue in real use of Ions.

Actually it’s a good question lol. I think the answer is ultimately ‘it depends’. if you’re doing a system/app per env (dev,test,etc) then you could always use the same DB name(s).

@markaddleman did you ever come up with a satisfying solution to this?

I did not. @stu suggested using initialization code within a namespace as a way to get around the limitation but I never got around to trying it.

Updating with info from Slack channel: https://clojurians.slack.com/archives/C03RZMDSH/p1585240883030900