nussknacker icon indicating copy to clipboard operation
nussknacker copied to clipboard

Less boilerplate in application.conf

Open arkadius opened this issue 6 years ago • 0 comments

Regards to other frameworks, configuration file should contain very little non-commented code. Logic of defaulting should be moved to application code - we can add more conventions there (like standard user.conf location)

Good example of boilerplate is base-application.conf where we have all non interesting things: db configuration, signals topic, checkpoint intervals, authorization and so on. The only things that are interesting are urls to flink and kafka.

Also good thing would be prefixing all nussknacker configuration with e.g. nk, and example model's configuration with model prefix (to propagate good conventions). Giving to that would be possible to use includes (that are not supported for root level of lightbend config).

After those changes we can think about making tgz distribution lighter:

  • move code of profiling infrastructure from run.sh to developer's runServer.sh
  • remove code of setting user.conf, logback.xml, storage dir from run.sh
  • remove docker files from tgz

And also:

  • remove base-application.conf
  • split dev-application.conf to two parts: one shared in docker dev distro and second one used in ./runServer.sh and from Intellij Idea. It will make less effort to run application with debugger atttached

arkadius avatar Dec 10 '19 09:12 arkadius