Skip to content
Snippets Groups Projects
Commit d5105cd6b17c authored by Sami Hiltunen's avatar Sami Hiltunen
Browse files

Match Praefect's configuration format in Omnibus

The configuration formats of Praefect and Omnibus deviate from each
other creating a few problems:

1. Configuration keys for the same option differ between the context of
   Omnibus and Praefect creating confusion for the user.

2. Each new key added requires duplicate work to map the different keys
   into Omnibus.

This change introduces praefect['configuration'] matching configuration
in Omnibus with Praefect's own format. The previous configuration keys
are remapped into this new format to assist administrators during the
transition period.

The tomlrb gem does not supporting encoding TOML, so the tomlib gem has
been added as a dependency. The configuration values are now serialized
directly into TOML instead of using a template.

Removes unneeded values allowing Praefect's own source to be the single
source of truth for configuration.

Updates tests because the new serialization method does not output empty
config sections.

Guards are included to prevent errors with latency configurations that
must be arrays where the previous configuration expected a string until
such time as Praefect's own validation subroutines are implemented.

Closes https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/7422

Changelog: changed
parent 9e712aac1bf9
No related branches found
No related tags found
2 merge requests!102heptapod#1237: making 0.38 the new oldstable,!90Merged upstream 15.9.0+ce.0 into heptapod branch
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment