Skip to content

Feature Flags

Listing Feature Flags

Feature flags can be listed within an Orion pod.

To list flags, run prefect-cloud flags ls:

kubectl exec --context=fake-cluster deployment/task-run-reads -c task-run-reads -n cloud2 -- prefect-cloud flags ls

Toggling a Feature Flag

Feature Flags can be enabled through setting the PREFECT_CLOUD_FEATURES_ENABLED environment variable in your helm deployment. This env variable takes a comma separate list of inputs (disable-rate-limiting,schemas-v2). If they exist as flags in the system, they are registered and enabled during deployment rollout.

To manually enable or disable a flag, you must run the following commands from within an Orion pod.

To disable a flag, run prefect-cloud flags disable <flag-name>. To enable a flag, run prefect-cloud flags enable <flag-name>.

kubectl exec --context=fake-cluster deployment/task-run-reads -c task-run-reads -n cloud2 -- prefect-cloud flags enable my-cool-flag 

Required Feature Flags

Feature flags are initially developed to release new features in a controlled manner. This is critical for SaaS and Prefect Cloud, but can introduce some deviating behavior where Prefect Cloud has a feature enabled, but Self-Managed does not.

Feature Flags

PREFECT_CLOUD_NEBULA_EMAIL_SMTP = register_flag("PREFECT_CLOUD_NEBULA_EMAIL_SMTP") Facilitates sending workspace / account invitations through SMTP. Additionally requires PREFECT_CLOUD_NEBULA_SMTP_ environment variables set.

DISABLE_RATE_LIMITING = register_flag("disable-rate-limiting") Enables / disables rate limiting for API requests to the server service. DISABLE_RATE_LIMITING being set to TRUE indicates that rate limiting is DISABLED, while being set to FALSE indicates rate limiting is ENABLED.

ENABLE_TRANSFER_WORKSPACE = register_flag("enable-transfer-workspace") Enables / disables the ability to transfer a workspece from one account to another.

ENABLE_CHAMELEON = register_flag("enable-chameleon") Enables / disables front-end UI extensions, such as product tours and demos.

ENABLE_LOG_RATE_LIMITING = register_flag("enable-log-rate-limiting") Enables / disables rate limiting for the logging service endpoint.

ENABLE_WORKERS = register_flag("enable-workers") Enables / disables API routes for workers and work-pools.

ENABLE_HELLO_FLOW = register_flag("enable-hello-flow") Enables / disables a mock flow run end-point to evaluate and test flow-run behavior for testing purposes.

ENABLE_EVENTS_UI = register_flag("enable-events-ui") Enables / disables the Events UI page and feature set.

ENABLE_TEMPLATIZED_DEPLOYMENT_PARAMETERS = register_flag( "enable-templatized-deployment-parameters", is_enabled=True ) Enables / disables block and variable usage with Automations.

ENABLE_ARTIFACTS = register_flag("enable-artifacts") Enables / disables the Artifact tab and feature of flow-runs.

ENABLE_COLLECTION_VIEWS = register_flag("enable-collection-views") Enables / disables feature integrations page.

ENABLE_RESULTS_UI = register_flag("enable-results-ui") Enables / disables the results UI page and features.

ENABLE_RUN_CACHING = register_flag("enable-run-caching") Enables / disables the ability to cache flow-runs. While this is a performance increase, it then caches the UI, requiring a page reload to see new runs.

ENABLE_VARIABLES = register_flag("enable-variables") Enables / disables the variables UI page and feature set.

ENABLE_NAVIGATION_REDESIGN = register_flag( "enable-navigation-redesign", is_previewable=True ) Enables / disables the redesigned homepage navigation.

ENABLE_WORKSPACE_DASHBOARD = register_flag( "enable-workspace-dashboard", is_previewable=True ) Enables / disables the redesigned homepage UI dashboard.

ENABLE_WEBHOOKS_UI = register_flag("enable-webhooks-ui") Enables / disables the UI webhooks page and featureset.

ENABLE_FEATURE_PREVIEW = register_flag("enable-feature-preview") Enables / disables a user side feature flag allowing users to opt-in through the browser.

ENABLE_REDESIGNED_FLOWS_PAGE = register_flag( "enable-redesigned-flows-page", is_previewable=True ) Enables / disables the redesigned flow page.

ENABLE_PUSH_WORK_POOLS = register_flag("enable-push-work-pools") Enables / disables the ability and UI elements to configure push work pools.

ENABLE_AI_FLOW_RUN_LOGS = register_flag("enable-ai-flow-run-logs") Enables / disables the Marvin generated AI summary for flow-run log failures. If enabled, requires an additional environment variable set.

ENABLE_WORK_POOL_AND_WORKER_STATUS = register_flag(“enable-work-pool-and-worker-status”) Periodically polls to determine if a worker and associated work pool is responding and healthy.

ENABLE_CONCURRENCY_V2_UI = register_flag(“enable-concurrency-v2-ui”) Adds a UI page as a dropdown (under Settings) to manage Global Concurrency settings.

ENABLE_DEPLOYMENT_ACCESS_CONTROL = register_flag(“enable-deployment-access-control”) Allows for user / role scoped access to Deployments.

ENABLE_SEARCH_PAGES = register_flag(“enable-search-pages”) Adds a search field for workspace objects, flow-runs, etc.

ENABLE_OBJECT_ACL_VIEW_PERMISSIONS = register_flag( “enable-object-acl-view-permissions”, is_enabled=True ) Enables a Viewer option for object access control lists.