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.