fix(conf_env): enhance environment variable loading for config #892
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.
New Environment Variable documentation is published: https://artalk.js.org/guide/env.html
This PR includes:
Adding a mapping from environment variable names to configuration node paths by reading golang struct tags via
reflect
Adding a configuration documentation generator
Structured configuration file option metadata
Optimizing deployment documentation
Solving the problem of configuring the frontend interface through environment variables
Implemented
GetOptionsMetaData
,GetEnvPathMapByModel
,Unflatten
functionsImproved numerous unit tests
related to #559 #573 #790 (comment)
fixes #875
Next optimization steps:
Hardcode the output results of
GetOptionsMetaData
into the code and generate them usinggo generate
. This will avoid repeating the YAML configuration file parsing and reading reflect tags to obtain theconfNodePaths => envName
mapping table every time Artalk starts. (This has been implemented in 401cf5c)