Skip to content

docs: Document every configuration value - #76

Merged
joamag merged 1 commit into
masterfrom
docs/configuration
Nov 5, 2026
Merged

joamag merged 1 commit into
masterfrom
docs/configuration

Conversation

@joamag

@joamag joamag commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Closes #75

Summary

  • Configuration section 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)
  • an introduction with where the values are read from (environment, .env and colony.json), the boolean values (1, true or True) and the environment variables in the strings of the resources (${HOME})
  • fallbacks documented as Colony does for LOGGING_LOGSTASH: WSGI_ALLOW_ORIGIN (fallback: WSGI_CORS) and DB_INSENSITIVE_COLLATE (fallback: DB_COLLATE)
  • the Sentry values as in COP-004, with links to COP-001, COP-002, COP-003 and COP-004 and to the AT resources README
  • AGENTS.md: the Python Virtual Environment (venv) and Commit Messages sections 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 a New Release section with the actual process (every push to master is released by the Deploy Workflow, tests then cpm upload), the steps of Colony and Omni (version commit, tag and GitHub release) not applying here

Checks

  • Every value read with colony.conf (82 calls, tests and mocks excluded, listed with ast) is documented, and every documented value is read: 64 on both sides
  • Defaults read from the code, including the ones coming from constants and connection parameters (eg: DEFAULT_TIMEOUT, ISOLATION_LEVEL per engine, the ALLOW_* and security headers of WSGI)
  • Every relative link of the README resolves

Not changed

  • SESSION_KEEP (feat: Keep the sessions in development mode with SESSION_KEEP #74) is not documented here as it's not in master yet, its row goes in the Session table with whichever of the two is merged last.
  • SESSION=memory fails to load (no MemorySession class), the in-memory sessions being only the fallback of a store that fails to load, so only redis and shelve (file) are documented as values of SESSION.

🤖 Generated with Claude Code

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.
Copilot AI balanced review requested due to automatic review settings November 5, 2026 06:01
@coderabbitai

coderabbitai Bot commented Nov 5, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You'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.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 263ab467-65bd-4e2d-ae5e-e5ead79df9cb
Commits

Reviewing files that changed from the base of the PR and between 48534e9 and e46e5e6.

Files selected for processing: 3

  • AGENTS.md
  • CHANGELOG.md
  • README.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Share

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-05T06:04:12.261566Z e46e5e6 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@joamag joamag left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@joamag joamag self-assigned this Nov 5, 2026
@joamag joamag added the enhancement New feature or request label Nov 5, 2026
@joamag
joamag merged commit a5a251b into master Nov 5, 2026
43 checks passed
@joamag
joamag deleted the docs/configuration branch November 5, 2026 06:04

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread README.md
| **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. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document every configuration value in the README

2 participants