Feature Flags
Infra0 uses feature flags to enable or disable features in a deployment. Flags are configured via environment variables set by your administrator.
Infra0 has two flag modules
- Menu / feature-visibility flags (config/features.ts)
- Proxy / dock-behavior flags (config/featureFlags.ts)
Menu / Feature-Visibility Flags
- 1NEXT_PUBLIC_TICKETS_ENABLED - Tickets menu (default: Disabled)
- 2NEXT_PUBLIC_APP_CREDENTIALS_ENABLED - App Credentials menu (default: Disabled)
- 3NEXT_PUBLIC_CREDENTIAL_TYPES_ENABLED - Credential Types menu (default: Disabled)
- 4NEXT_PUBLIC_CLOUD_PROVIDER_CREDENTIALS_ENABLED - Cloud Provider Credentials menu (default: Disabled)
- 5Activity Stream visibility (default: Disabled)
- 6Access Management visibility (default: Disabled)
- 7Payments / billing (default: Disabled)
- 8Module Registry visibility (default: Disabled)
- 9Email/password authentication - EMAIL_AUTH_ENABLED (default: Enabled)
Proxy / Dock-Behavior Flags (config/featureFlags.ts)
- drift - drift detection
- compliance - compliance checks
- infraAnalysis - infrastructure analysis
- beta - beta features
Important Notes for Administrators
- Every flag defaults to Disabled EXCEPT EMAIL_AUTH_ENABLED, which defaults to Enabled
- A flag is treated as ON when its value is any of: 1, true, yes, y, on (case-insensitive)
- NEXT_PUBLIC_* flags are inlined into the client bundle at BUILD time - changing them requires rebuilding the app, not just restarting it
- Feature flags affect visibility/behavior, not data - disabling a feature does not delete existing data
- Example .env settings:
code
NEXT_PUBLIC_TICKETS_ENABLED=false NEXT_PUBLIC_APP_CREDENTIALS_ENABLED=false NEXT_PUBLIC_CREDENTIAL_TYPES_ENABLED=false NEXT_PUBLIC_CLOUD_PROVIDER_CREDENTIALS_ENABLED=false EMAIL_AUTH_ENABLED=true