Skip to content
Snippets Groups Projects
  • Sami Hiltunen's avatar
    d5105cd6b17c
    Match Praefect's configuration format in Omnibus · d5105cd6b17c
    Sami Hiltunen authored
    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
    d5105cd6b17c
    History
    Match Praefect's configuration format in Omnibus
    Sami Hiltunen authored
    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
This project manages its dependencies using Bundler. Learn more