I would use Cattle to deploy Java application. Moreover I would take advantage of healthchecking and load balancing features.
Java application usually take time to deploy that why you may create
Initializing Timeout: The number of milliseconds before we exit initializing.
However the given Java application is also in charge of database upgrade using Flyway.
Problem is, Flyway migrations are running during deployment, that mean application will not listen any HTTP requests until migrations completed.
Thus between each app version (depending of migration present or not), application deployment can take different time to deploy from less than 1 min (without migration) to more than hour (when migration).
Is there a way to tell Cattle that application is currently doing some mandatory stuff (migration) and do not load balance (or restart container) until stuff completed? (or any other solution, way to do, etc)