- Add conditional route registration based on feature toggles - AuthEnabled now controls authentication/user management endpoints - ClusteringEnabled controls member and Merkle tree endpoints - RevisionHistoryEnabled controls history endpoints - Feature toggles for RateLimitingEnabled and TamperLoggingEnabled were already implemented This completes issue #6 allowing flexible deployment scenarios by disabling unnecessary features and their associated endpoints. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
46 lines
1.7 KiB
Markdown
46 lines
1.7 KiB
Markdown
# Issue #6: Configuration Options to Disable Optional Functionalities
|
|
|
|
**Status:** ✅ **COMPLETED**
|
|
**Author:** MrKalzu
|
|
**Created:** 2025-09-12
|
|
**Repository:** https://git.rauhala.info/ryyst/kalzu-value-store/issues/6
|
|
|
|
## Description
|
|
|
|
Proposes adding configuration options to disable advanced features in the KVS (Key-Value Store) server to allow more flexible and lightweight deployment scenarios.
|
|
|
|
## Suggested Disablement Options
|
|
|
|
1. **Authentication System** - Disable JWT authentication entirely
|
|
2. **Tamper-Evident Logging** - Disable cryptographic audit trails
|
|
3. **Clustering** - Disable gossip protocol and distributed features
|
|
4. **Rate Limiting** - Disable per-client rate limiting
|
|
5. **Revision History** - Disable automatic versioning
|
|
|
|
## Proposed Implementation
|
|
|
|
- Add boolean flags to the Config struct for each feature
|
|
- Modify server initialization and request handling to respect these flags
|
|
- Allow conditional compilation/execution of features based on configuration
|
|
|
|
## Pros of Proposed Changes
|
|
|
|
- Reduce unnecessary overhead for simple deployments
|
|
- Simplify setup for different deployment needs
|
|
- Improve performance for specific use cases
|
|
- Lower resource consumption
|
|
|
|
## Cons of Proposed Changes
|
|
|
|
- Potential security risks if features are disabled inappropriately
|
|
- Loss of advanced functionality like audit trails or data recovery
|
|
- Increased complexity in codebase with conditional feature logic
|
|
|
|
## Already Implemented Features
|
|
|
|
- Backup System (configurable)
|
|
- Compression (configurable)
|
|
|
|
## Implementation Notes
|
|
|
|
The issue suggests modifying relevant code sections to conditionally enable/disable these features based on configuration, similar to how backup and compression are currently handled. |