Reorder config loading so it doesn't merge values inappropriately #185
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR changes the order of operations when loading the config.yml
Currently when wings starts up, it starts with an empty Configuration struct that is then filled with the defaults and THEN we overlay the data from the config.yml using
yaml.Unmarshal()
. This overwrites any values in the struct with any values that exist in theconfig.yml
The issue is when encountering an array/list/map
yaml.Unmarshal()
will merge the values from theconfig.yml
with the defaults. Such as shown in pterodactyl/panel#5008By changing the order so that
defaults.Set()
is called after the struct has been filled with the data fromconfig.yml
, only missing keys will be filledThis would resolve pterodactyl/panel#5008