tuchella the most pragmatic solution is to keep the application persistent by mounting it as volume. the state between the application directory must be in sync with the system database.
but also your two other options are good to go.
1) redeploy on each start works and we have especially improved the behavior in 8.0 for this.
2) this is the "docker way" to go. you can ADD
your .iar
in the deploy directroy. The Axon.ivy Engine will deploy it on start. (I think this is really good supported also in Axon.ivy 8.0)
It depends somehow on your build pipeline and infrastructure. How do you want to deploy Axon.ivy Projects? Building a new docker image and pushing it to production (solution 2)? Or do you want to have a running Axon.ivy Engine and calling the REST Endpoint for deployment (Solution: Mount app directory as volume)?
we are still working on the fact that we don't deploy configuration in system database. someday you just need to put your iar at the right place. no deployment to system database needs to be happen. but this will take some more time....