Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,9 @@ jobs:
./tests/db/compose.sh run --rm --no-TTY $service pytest \
tests/store/tracking/test_sqlalchemy_store.py \
tests/store/model_registry/test_sqlalchemy_store.py \
tests/store/model_registry/test_sqlalchemy_store_workspace.py \
tests/store/workspace/test_sqlalchemy_store.py \
tests/store/tracking/test_sqlalchemy_store_workspace.py \
tests/db
RESULTS="$RESULTS\n$service: $(if [ $? -eq 0 ]; then echo "✅"; else echo "❌"; fi)"
done
Expand Down
20 changes: 20 additions & 0 deletions docs/api_reference/api_inventory.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ mlflow.client.MlflowClient.create_prompt_version
mlflow.client.MlflowClient.create_registered_model
mlflow.client.MlflowClient.create_run
mlflow.client.MlflowClient.create_webhook
mlflow.client.MlflowClient.create_workspace
mlflow.client.MlflowClient.delete_dataset
mlflow.client.MlflowClient.delete_dataset_tag
mlflow.client.MlflowClient.delete_experiment
Expand All @@ -61,6 +62,7 @@ mlflow.client.MlflowClient.delete_tag
mlflow.client.MlflowClient.delete_trace_tag
mlflow.client.MlflowClient.delete_traces
mlflow.client.MlflowClient.delete_webhook
mlflow.client.MlflowClient.delete_workspace
mlflow.client.MlflowClient.detach_prompt_from_run
mlflow.client.MlflowClient.download_artifacts
mlflow.client.MlflowClient.end_span
Expand All @@ -84,6 +86,8 @@ mlflow.client.MlflowClient.get_registered_model
mlflow.client.MlflowClient.get_run
mlflow.client.MlflowClient.get_trace
mlflow.client.MlflowClient.get_webhook
mlflow.client.MlflowClient.get_workspace
mlflow.client.MlflowClient.get_workspace_uri
mlflow.client.MlflowClient.link_prompt_version_to_model
mlflow.client.MlflowClient.link_prompt_version_to_run
mlflow.client.MlflowClient.link_prompt_versions_to_trace
Expand All @@ -92,6 +96,7 @@ mlflow.client.MlflowClient.list_artifacts
mlflow.client.MlflowClient.list_logged_model_artifacts
mlflow.client.MlflowClient.list_logged_prompts
mlflow.client.MlflowClient.list_webhooks
mlflow.client.MlflowClient.list_workspaces
mlflow.client.MlflowClient.load_prompt
mlflow.client.MlflowClient.load_table
mlflow.client.MlflowClient.log_artifact
Expand Down Expand Up @@ -146,6 +151,7 @@ mlflow.client.MlflowClient.update_model_version
mlflow.client.MlflowClient.update_registered_model
mlflow.client.MlflowClient.update_run
mlflow.client.MlflowClient.update_webhook
mlflow.client.MlflowClient.update_workspace
mlflow.config.disable_system_metrics_logging
mlflow.config.enable_async_logging
mlflow.config.enable_system_metrics_logging
Expand All @@ -159,6 +165,7 @@ mlflow.config.set_system_metrics_sampling_interval
mlflow.config.set_tracking_uri
mlflow.create_experiment
mlflow.create_external_model
mlflow.create_workspace
mlflow.crewai.autolog
mlflow.data.dataset.Dataset
mlflow.data.dataset.Dataset.to_dict
Expand Down Expand Up @@ -221,6 +228,7 @@ mlflow.delete_logged_model_tag
mlflow.delete_run
mlflow.delete_tag
mlflow.delete_trace_tag
mlflow.delete_workspace
mlflow.deployments.BaseDeploymentClient
mlflow.deployments.BaseDeploymentClient.create_deployment
mlflow.deployments.BaseDeploymentClient.create_endpoint
Expand Down Expand Up @@ -529,6 +537,7 @@ mlflow.entities.WebhookTestResult
mlflow.entities.WebhookTestResult.from_proto
mlflow.entities.WebhookTestResult.to_proto
mlflow.entities.Workspace
mlflow.entities.Workspace.to_dict
mlflow.entities.assessment.Assessment
mlflow.entities.assessment.Expectation
mlflow.entities.assessment.Feedback
Expand Down Expand Up @@ -881,6 +890,7 @@ mlflow.get_registry_uri
mlflow.get_run
mlflow.get_trace
mlflow.get_tracking_uri
mlflow.get_workspace
mlflow.groq.autolog
mlflow.h2o.get_default_conda_env
mlflow.h2o.get_default_pip_requirements
Expand Down Expand Up @@ -924,6 +934,7 @@ mlflow.lightgbm.get_default_pip_requirements
mlflow.lightgbm.load_model
mlflow.lightgbm.log_model
mlflow.lightgbm.save_model
mlflow.list_workspaces
mlflow.litellm.autolog
mlflow.llama_index.autolog
mlflow.llama_index.load_model
Expand Down Expand Up @@ -1188,10 +1199,14 @@ mlflow.server.auth.client.AuthServiceClient.delete_experiment_permission
mlflow.server.auth.client.AuthServiceClient.delete_registered_model_permission
mlflow.server.auth.client.AuthServiceClient.delete_scorer_permission
mlflow.server.auth.client.AuthServiceClient.delete_user
mlflow.server.auth.client.AuthServiceClient.delete_workspace_permission
mlflow.server.auth.client.AuthServiceClient.get_experiment_permission
mlflow.server.auth.client.AuthServiceClient.get_registered_model_permission
mlflow.server.auth.client.AuthServiceClient.get_scorer_permission
mlflow.server.auth.client.AuthServiceClient.get_user
mlflow.server.auth.client.AuthServiceClient.list_user_workspace_permissions
mlflow.server.auth.client.AuthServiceClient.list_workspace_permissions
mlflow.server.auth.client.AuthServiceClient.set_workspace_permission
mlflow.server.auth.client.AuthServiceClient.update_experiment_permission
mlflow.server.auth.client.AuthServiceClient.update_registered_model_permission
mlflow.server.auth.client.AuthServiceClient.update_scorer_permission
Expand All @@ -1209,6 +1224,9 @@ mlflow.server.auth.entities.ScorerPermission.to_json
mlflow.server.auth.entities.User
mlflow.server.auth.entities.User.from_json
mlflow.server.auth.entities.User.to_json
mlflow.server.auth.entities.WorkspacePermission
mlflow.server.auth.entities.WorkspacePermission.from_json
mlflow.server.auth.entities.WorkspacePermission.to_json
mlflow.server.get_app_client
mlflow.set_active_model
mlflow.set_experiment
Expand All @@ -1224,6 +1242,7 @@ mlflow.set_tag
mlflow.set_tags
mlflow.set_trace_tag
mlflow.set_tracking_uri
mlflow.set_workspace
mlflow.shap.get_default_conda_env
mlflow.shap.get_default_pip_requirements
mlflow.shap.get_underlying_model_flavor
Expand Down Expand Up @@ -1450,6 +1469,7 @@ mlflow.types.schema.Schema
mlflow.types.schema.TensorSpec
mlflow.update_assessment
mlflow.update_current_trace
mlflow.update_workspace
mlflow.utils.async_logging.run_operations.RunOperations
mlflow.utils.async_logging.run_operations.RunOperations.wait
mlflow.utils.async_logging.run_operations.get_combined_run_operations
Expand Down
4 changes: 3 additions & 1 deletion docs/api_reference/source/rest-api.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

.. _rest-api:

========
Expand Down Expand Up @@ -62,6 +61,9 @@ Request Structure
+-------------------+----------------------------------------+------------------------------------------------------------------------------------------------+
| artifact_location | ``STRING`` | Location where all artifacts for the experiment are stored. |
| | | If not provided, the remote server will select an appropriate default. |
| | | When workspaces are enabled, artifact_location must be omitted. The |
| | | server uses the workspace's default artifact location and returns |
| | | INVALID_PARAMETER_VALUE if provided. |
+-------------------+----------------------------------------+------------------------------------------------------------------------------------------------+
| tags | An array of :ref:`mlflowexperimenttag` | A collection of tags to set on the experiment. Maximum tag size and number of tags per request |
| | | depends on the storage backend. All storage backends are guaranteed to support tag keys up |
Expand Down
10 changes: 10 additions & 0 deletions docs/docs/self-hosting/architecture/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,13 @@ The following diagram and table show a few common setups for the MLflow Tracking
</tr>
</tbody>
</Table>

## Multi-Tenancy with Workspaces

For organizations managing multiple teams or projects, MLflow supports [workspaces](/self-hosting/workspaces) to provide logical isolation within a single server instance. Workspaces enable:

- Team-based resource isolation
- Shared infrastructure with logical separation
- Integration with platform-level tenancy systems (e.g., Kubernetes namespaces)

Workspaces are opt-in and require a SQL database backend. See the [Workspaces documentation](/self-hosting/workspaces) for setup instructions and architecture details.
4 changes: 4 additions & 0 deletions docs/docs/self-hosting/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@ Each component is designed to be pluggable, so you can customize it to meet your

To learn more about the architecture and available backend options, see [Architecture](./architecture/overview).

## Multi-Tenancy

MLflow supports [workspaces](/self-hosting/workspaces) for multi-tenant deployments. Workspaces provide logical isolation of experiments, models, and artifacts within a single MLflow instance, enabling multiple teams or projects to share infrastructure while maintaining complete data separation. Note: workspaces require a SQL database backend and are opt-in.

## Access Control & Security

MLflow support [username/password login](./security/basic-http-auth) via basic HTTP authentication, [SSO (Single Sign-On)](./security/sso), and [custom authentication plugins](./security/custom).
Expand Down
Loading
Loading