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)
  1. 1
    NEXT_PUBLIC_TICKETS_ENABLED - Tickets menu (default: Disabled)
  2. 2
    NEXT_PUBLIC_APP_CREDENTIALS_ENABLED - App Credentials menu (default: Disabled)
  3. 3
    NEXT_PUBLIC_CREDENTIAL_TYPES_ENABLED - Credential Types menu (default: Disabled)
  4. 4
    NEXT_PUBLIC_CLOUD_PROVIDER_CREDENTIALS_ENABLED - Cloud Provider Credentials menu (default: Disabled)
  5. 5
    Activity Stream visibility (default: Disabled)
  6. 6
    Access Management visibility (default: Disabled)
  7. 7
    Payments / billing (default: Disabled)
  8. 8
    Module Registry visibility (default: Disabled)
  9. 9
    Email/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