Skip to content

Conversation

simonLeary42
Copy link
Contributor

@simonLeary42 simonLeary42 commented Oct 5, 2025

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:

PLUGIN_AUTH_LDAP
PLUGIN_AUTH_OIDC
PLUGIN_FREEIPA
PLUGIN_IQUOTA
PLUGIN_LDAP_USER_SEARCH
PLUGIN_PROJECT_OPENLDAP
PLUGIN_SLURM
PLUGIN_XDMOD

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 in CONTRIBUTING.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 as DB_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:

  • to make Coldfront's behavior more predictable, I think some standards need to be set like "all environment variables must also have corresponding settings" or "all settings must also have corresponding environment variables"
    • the files /tmp/settings.txt and /tmp/envvars.txt in the CI workflow would prove most useful for enforcing such a standard
  • and of course the blank cells in the tables in the docs need to be filled out soon

@simonLeary42 simonLeary42 force-pushed the config-missing-docs branch 4 times, most recently from 7d8bf34 to b7bc4c1 Compare October 5, 2025 22:39
@simonLeary42 simonLeary42 changed the title document undocumented options document undocumented settings, document settings vs. environment variables Oct 5, 2025
@simonLeary42 simonLeary42 marked this pull request as draft October 5, 2025 22:45
This was referenced Oct 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant