Database configuration backend #3770
Labels
area/configuration
Affects the configuration
enhancement
New feature or improvement
queue/wishlist
Probable candidate for a future release
At the moment we store most of our configuration on disk in INI files. While this allows easy editing it requires duplicating configuration in a clustered environment.
Subtasks:
Enforce as default backend
At the moment we provide support for INI files and a database as configuration backend. With the release of v2.9.0 we are going to deprecate INI files and enforce a database as configuration backend for new installations.
This requires the following changes:
Icinga\Common\Database
which utilizes the resource configured in the general configuration.Development Hints
If the setup module is enabled, the setup is accessible by visiting
/icingaweb2/setup
. It can be started by entering a token that needs to be generated on the server. (Useicingacli setup token create
in theweb
container)WebWizard::getRequirements()
defines what is necessary to start the setup. Currently the database adapters for MySQL and PostgreSQL are both optional. This needs to change so that at least either of the two must be available.WebWizard::getNewPage()
controls whetherDbResourcePage
is shown in case the database is not already set-up due to the authentication config.GeneralConfigPage
is used to let the user configure the general configuration of Icinga Web 2. This includes choosing which backend to use to store user preferences. This option needs to be removed so that the user can't choose the backend type anymore. This also requires changes inWebWizard::setupPage()
as it's accessing the page's element.PreferencesStore::create()
is utilized to get an idea how to accomplish that. Remember to log a warning for INI backends.GeneralConfigForm
needs to also show a warning if INI is detected as configuration backend type. To accomplish that implement methodonRequest()
in this class, inspect the configuration object and show a warning with$this->warning()
.The text was updated successfully, but these errors were encountered: