Repository navigation
docs: Document every configuration value - #76
Conversation
Brings the README configuration tables and the AGENTS.md conventions of Colony and Omni, so the values stop being findable only by reading the code of each plugin.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 50 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e46e5e68ba
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| | **DB_COLLATE** | `str` | `utf8_general_ci` (MySQL), `nocase` (SQLite) | Same as `DB_INSENSITIVE_COLLATE`. | | ||
| | **DB_FILE** | `str` | A temporary file | The path of the file of the SQLite database. | | ||
| | **DB_SYNCHRONOUS** | `int` | `2` | The synchronization of the writes of the SQLite database to the disk (its `synchronous` pragma), `0` turning it off (eg: when running the tests on a busy disk). | | ||
| | **DB_READ_ONLY** | `bool` | `False` | If the data source is read only, any persistence of the entities raising an error. | |
There was a problem hiding this comment.
Limit the documented read-only guarantee to MVC store operations
When an operator sets DB_READ_ONLY=True, this description promises that the data source rejects all entity persistence, but the only enforcement is in mvc/src/mvc_utils/entity_model.py's store(). The same module's save(), update() and remove() call the entity manager without checking this flag, and delete() delegates to remove(), so writes and deletions can still succeed. Describe the flag as blocking MVC store() operations rather than making the database read-only, so operators do not rely on it to protect production data.
Useful? React with 👍 / 👎.
Closes #75
Summary
Configurationsection in the README, after the quick start as in the README of Colony, with the 64 configuration values read by the plugins in the tables of Colony and Omni (bold name, type, default and description), grouped by area as in Omni: Database (22), Session (6), HTTP (5), WSGI (9), Templates (1), Diagnostics (14), AT (5), Crypton (1) and Console (1).envandcolony.json), the boolean values (1,trueorTrue) and the environment variables in the strings of the resources (${HOME})LOGGING_LOGSTASH:WSGI_ALLOW_ORIGIN(fallback:WSGI_CORS) andDB_INSENSITIVE_COLLATE(fallback:DB_COLLATE)Python Virtual Environment (venv)andCommit Messagessections of Colony and Omni (verbatim), a style guide rule and a pre-commit checklist item to document every new configuration value in the README, and aNew Releasesection with the actual process (every push tomasteris released by the Deploy Workflow, tests thencpm upload), the steps of Colony and Omni (version commit, tag and GitHub release) not applying hereChecks
colony.conf(82 calls, tests and mocks excluded, listed withast) is documented, and every documented value is read: 64 on both sidesDEFAULT_TIMEOUT,ISOLATION_LEVELper engine, theALLOW_*and security headers of WSGI)Not changed
SESSION_KEEP(feat: Keep the sessions in development mode with SESSION_KEEP #74) is not documented here as it's not inmasteryet, its row goes in the Session table with whichever of the two is merged last.SESSION=memoryfails to load (noMemorySessionclass), the in-memory sessions being only the fallback of a store that fails to load, so onlyredisandshelve(file) are documented as values ofSESSION.🤖 Generated with Claude Code