[RFC]: Hot reload dab-config.json #1829
Labels
enhancement
New feature or request
🔥Hot Reload
Tasks related to DAB's Hot Reload feature proposal
triage
issues to be triaged
What happened?
For reference: #67
Hot reload
The idea of hot reload allows the direct manipulation of the
dab-config.json
file without requiringdab start
.Use cases
mode=development
allow a simpler workflow so developers can tweak the configuration file.mode=development
allow administrators to modifyminimum-log-level
to diagnose problems.Canges
Config:
runtime.hot-reload-enabled=true|false
defaulttrue
.When set to
true
, depending onmode
the hot reload behavior will respond to changes in thedab-config.json
file.CLI:
dab start --hot-reload-enabled true
When set to
true
, depending onmode
the hot reload behavior will respond to changes in thedab-config.json
file. If the same property is set to a conflicting value in the config file, the CLI value overrides it.Config:
runtime.minimal-logging-level=information|enum
default based onmode
.Currently only available as an argument in
dab start
this allows in-memory modification through hot reload.mode=Production
is the primary use case, allowing increased (or decreased) logging during troubleshooting.Order of precedence
In terms of precedence of value, the last thing that sets the log level wins.
mode
mode=Production
thenInformation
mode=Development
thenDebug
config
then ignore themode
-based default.CLI
then ignore the `config setting, except...minimal-logging-level
is set by hot reload then ignore current in-mem setting for hot reload value.##Behavior
production
it is important that the engine hot reload and not restartsdevelopment
it is not important that the engine hot reload and just restartsSome questions
?. Should
runtime.hot-reload-enabled
also be hot reloadable inproduction
??. Can we/should we implement the
production
version of this first??. Is "restart the engine" too drastic? Is there a simpler way to do the
development
version?Version
Future
What database are you using?
Azure SQL
What hosting model are you using?
Local (including CLI)
Which API approach are you accessing DAB through?
REST, GraphQL
Relevant log output
No response
Code of Conduct
The text was updated successfully, but these errors were encountered: