document undocumented settings, document settings vs. environment variables #818
+279
−132
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.
Many environment variables and settings are used but not documented. I have added these settings to the docs, but I haven't actually added descriptions for them (except
project_openldap
). Some of these appear as though they were left out intentionally, so I have marked them as "internal use only".The documentation is unclear about which settings are appropriate for
local_settings.py
and which are appropriate for environment variables. I have specified for each setting whether it can be used for each. It's very inconsistent, so I think this is valuable information.There are some settings / env vars which are not referenced anywhere in the coldfront code base, as far as I can tell:
I marked these with question marks in the docs because I don't understand how they work. Please advise.
To ensure that the documentation stays comprehensive in the future, I added a CI workflow that uses regular expressions to check that all settings and environment variables used are present in
docs/pages/config.md
. This is documented inCONTRIBUTING.md
as a new convention.I also added a CI workflow that uses regular expressions to check that all settings and environment variables present in
docs/pages/config.md
are actually used. The question mark variables mentioned above are excempt from this check, as well asDB_URL
which I assume is known by Django proper.If #815, is going to be addressed, it should be done first and then I can remove that setting from here as well.
Future work:
/tmp/settings.txt
and/tmp/envvars.txt
in the CI workflow would prove most useful for enforcing such a standard