Docs / Raw

Feature Flags Overview

Sourced from docs/admin-guide/feature-flags/README.md

Edit on GitHub

Feature Flags Overview

VoiceAssist uses a comprehensive feature flag system for runtime feature management, A/B testing, and gradual rollouts.

Quick Reference

CategoryPurposeExamples
uiFrontend/UX featuresui.dark_mode, ui.new_navigation
backendAPI/Server featuresbackend.rag_strategy, backend.rbac_enforcement
adminAdmin panel featuresadmin.bulk_operations, admin.analytics
integrationExternal servicesintegration.nextcloud, integration.openai
experimentA/B testsexperiment.experimental_api
opsOperational controlsops.maintenance_mode, ops.rate_limiting

Naming Convention

All flags follow the pattern: <category>.<feature_name>

// Good examples ui.dark_mode; backend.rag_strategy; ops.maintenance_mode; // Bad examples darkMode; // Missing category ui - dark - mode; // Wrong separator ff_ui_dark_mode; // Old deprecated pattern

Architecture

┌─────────────────┐     ┌──────────────────┐     ┌──────────────┐
│  Application    │────▶│  Feature Flag    │────▶│  PostgreSQL  │
│                 │     │  Service         │     │  (persist)   │
└─────────────────┘     └──────────────────┘     └──────────────┘
                              │
                              ▼
                        ┌──────────────┐
                        │    Redis     │
                        │  (5min TTL)  │
                        └──────────────┘

API Endpoints

EndpointMethodDescription
/api/admin/feature-flagsGETList all flags
/api/admin/feature-flags/{name}GETGet specific flag
/api/admin/feature-flagsPOSTCreate flag
/api/admin/feature-flags/{name}PATCHUpdate flag
/api/admin/feature-flags/{name}DELETEDelete flag
/api/admin/feature-flags/{name}/togglePOSTToggle boolean flag
Beginning of guide
End of guide