I’m moving a Luminus REST web service project to Ions and thinking through project structure and what’s possible with deployment via deps.edn
. Luminus projects are structured as a core of functionality (eg src
and resources
for use across environments) and a set of environment-specific directories with their own src
and resources
, allowing for different initialization and configuration depending on your deployment environment.
If I have, for example, different logging configurations that I want to use for different environments (dev, test, production, different query groups, etc…) can I put those in different directories, then specify which one should end up on the deployed classpath via the :extra-paths
of an alias in my deps.edn
?
In commands like clojure -Adev -m datomic.ion.dev '{:op :push}'
, we’re specifying the dev
alias for running our deploy command (ie configuring the local classpath+main), but it would be nice to be able to also specify how tools.deps should construct the remotely deployed system. Hopefully the forthcoming docs will clarify both the default behavior (is datomic.ion.dev
just deploying the top-level :paths
, :deps
, etc… and ignoring the aliases?) and the extent of what’s possible and/or recommended.