Files
kalzu-value-store/issues/6.md
ryyst 8d6a280441 feat: complete issue #6 - implement feature toggle integration in routes
- 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>
2025-09-20 23:50:58 +03:00

1.7 KiB

Issue #6: Configuration Options to Disable Optional Functionalities

Status: COMPLETED
Author: MrKalzu
Created: 2025-09-12
Repository: ryyst/kalzu-value-store#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.