Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Document configuration option vocabulary/taxonomy and then simplify #5584

Open
michaelkaye opened this issue Jul 1, 2019 · 5 comments
Open
Labels
A-Docs things relating to the documentation O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Blocks non-critical functionality, workarounds exist. T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.

Comments

@michaelkaye
Copy link
Contributor

A document that contains the vocabulary of the synapse configuration and the expected values of those named fields would assist in keeping code consistent.

A few things have popped up recently, here and in other branches, so I thought i'd start an issue to collect examples.

I think we should first generate a statement on what the best naming scheme is for things, aim to apply that in future, then come back and deprecate/rename existing options to bring them into line.

Related issues:

@michaelkaye
Copy link
Contributor Author

For instance, we have secrets with different key names:

  • pepper - a secret
  • macaroon_secret_key - another secret
  • registration_shared_secret - another secret

Secrets should be obviously a secret, and should match the form XXX_secret

We have:

  • pid_file - a path to the writable pid file
  • signing_key_path - a path to a readable secret file
  • uploads_path - a path to a writable directory
  • log_config - a path to a file, not a configuration itself.

All paths should match the form XXX_path if they're for directories
All paths should match the form XXX_file if they're to a single file

@michaelkaye
Copy link
Contributor Author

We also have:

  • turn_allow_guests- a boolean
  • allow_guest_access - another boolean
  • enable_metrics - a boolean
  • disable_set_displayname - another boolean
  • report_stats - a boolean.
  • use_presence - another boolean

This should be something like "all boolean-type enabling options should use the format: "enable_XXX" (or if we want both enable and disable as defaultable things, prefix with "enable_XXX" or "disable_XXX") - but what we shouldn't do is mix enable, allow, use, report and so on.

@neilisfragile neilisfragile added maintenance z-p2 (Deprecated Label) labels Jul 3, 2019
@richvdh
Copy link
Member

richvdh commented Jul 8, 2019

Another contender: durations:

  • email.validation_token_lifetime
  • key_refresh_interval
  • account_validity.period
  • account_validity.renew_at
  • saml2.saml_session_lifetime
  • stats.bucket_size
  • stats.retention
  • turn_user_lifetime
  • rc_federation.sleep_delay

Most (all?) of the above can be expressed with units eg 6h, 2d.

  • mau_trial_days (in days rather than milliseconds)

@ptman
Copy link
Contributor

ptman commented Oct 1, 2020

The sample config goes a long way. Could the comments just be improved and extended?

@richvdh
Copy link
Member

richvdh commented Nov 9, 2021

vaguely related to #8159

@DMRobertson DMRobertson added P4 (OBSOLETE: use S- labels.) Okay backlog: will not schedule, will accept patches T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks. and removed z-p2 (Deprecated Label) labels Nov 18, 2021
@DMRobertson DMRobertson added A-Docs things relating to the documentation S-Minor Blocks non-critical functionality, workarounds exist. O-Occasional Affects or can be seen by some users regularly or most users rarely and removed z-maintenance P4 (OBSOLETE: use S- labels.) Okay backlog: will not schedule, will accept patches labels Aug 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Docs things relating to the documentation O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Blocks non-critical functionality, workarounds exist. T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.
Projects
None yet
Development

No branches or pull requests

5 participants