# 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.