Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move from server configuration to project-level settrings #970

Open
hackerwins opened this issue Aug 20, 2024 · 0 comments
Open

Move from server configuration to project-level settrings #970

hackerwins opened this issue Aug 20, 2024 · 0 comments
Labels
cleanup 🧹 Paying off technical debt

Comments

@hackerwins
Copy link
Member

hackerwins commented Aug 20, 2024

Description:

Previously, Yorkie started as a simple server for real-time collaborative applications. As the service model transitions towards PaaS, adding the concepts of Project and User becomes essential. Given that user applications may vary in workload and usage patterns, it would be beneficial to have some server configuration set on a per-project basis.

I propose to move the following server configuration should be moved to project-level settings:

  • --auth-webhook-cache-auth-ttl duration: TTL value for caching authorized webhook responses (default 10s)
  • --auth-webhook-cache-size int: Cache size for authorization webhook (default 5000)
  • --auth-webhook-cache-unauth-ttl duration: TTL value for caching unauthorized webhook responses (default 10s)
  • --auth-webhook-max-retries uint: Maximum number of retries for an authorization webhook (default 10)
  • --auth-webhook-max-wait-interval duration: Maximum wait interval for authorization webhook (default 3s)
  • --backend-snapshot-disable-gc: Option to disable garbage collection of snapshots
  • --backend-snapshot-interval int: Interval for creating snapshots (default 1000)
  • --backend-snapshot-threshold int: Threshold to determine if changes should be sent with snapshot when number of changes exceeds this value (default 500)
  • --backend-snapshot-with-purging-changes: Whether to delete previous changes upon snapshot creation
  • --client-deactivate-threshold string: Deactivate threshold for clients in specific project (default "24h")
  • --housekeeping-candidates-limit-per-project int: Candidates limit per project for a housekeeping run (default 500)
  • --housekeeping-interval duration: Interval between housekeeping runs (default 30s)
  • --housekeeping-project-fetch-size int: Project fetch size for a single housekeeping run (default 100)

Related to yorkie-team/dashboard#145

Why:

Introducing these project-level settings will enhance the flexibility and efficiency of the Yorkie server, allowing it to better cater to various user requirements and improve overall performance as the architecture evolves.

@hackerwins hackerwins added the cleanup 🧹 Paying off technical debt label Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup 🧹 Paying off technical debt
Projects
Status: Backlog
Development

No branches or pull requests

1 participant