Skip to content
  • Sami Hiltunen's avatar
    Match Praefect's configuration format in Omnibus · 1292be75
    Sami Hiltunen authored
    Praefect's and Omnibus's configuration formats deviate from each other.
    This has a few problems:
    
    1. The configuration keys differ in Omnibus from what Praefect uses. This
    makes things confusing as the keys for the same options are different in
    different contexts.
    
    2. This forces us to duplicate the configuration in Omnibus' template to
    map the different keys. This creates menial work and requires us to touch
    Omnibus everytime new configuration keys are added.
    
    This commit solves the problem by matching the configuration format of Praefect
    in Omnibus completely with Praefect's own format. This is done by introducing the
    submap Gitlab['praefect']['configuration'] which gets directly serialized as TOML.
    As existing installations still depend on the old keys, compatbility code is added
    to transfer the configuration to their new locations. We should later deprecate the
    old keys and ask users to move the configuration to its new location.
    
    Additionally, the unneeded default values are removed. This ensures the default
    values are not duplicated and can be controlled for both source and Omnibus
    installations by just updating Praefect's source.
    
    As tomlrb does not support encoding TOML, dependency to tomlib was added to do so.
    
    Tests had a slight change as the old template was outputting empty config sections
    which are not needed. The new code outputs no unnecessary empty sections.
    
    Changelog: changed
    1292be75
Loading