Skip to content

Commit

Permalink
Remove lineage graph and legacy dashboard support (#3064)
Browse files Browse the repository at this point in the history
* Remove lineage graph

* Remove support for legacy dashboard

* Remove legacy dashboard download from script

* Redirect to pro dashboard if configured

* Remove legacy function arg

* Fix return annotation
  • Loading branch information
schustmi authored Oct 21, 2024
1 parent e5c8b22 commit 0130823
Show file tree
Hide file tree
Showing 21 changed files with 35 additions and 950 deletions.
9 changes: 0 additions & 9 deletions docs/book/getting-started/deploying-zenml/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,6 @@ connects the client to the server. The diagram for this looks as follows:

![ZenML with a local ZenML OSS Server](../../.gitbook/assets/Scenario2.png)

{% hint style="warning" %}
Currently the ZenML server supports a legacy and a brand-new version of the dashboard. To use the legacy version simply use the
following command `zenml up --legacy`
{% endhint %}

In order to move into production, the ZenML server needs to be deployed somewhere centrally so that the different cloud stack components can read from and write to the server. Additionally, this also allows all your team members to connect to it and share stacks and pipelines.

![ZenML centrally deployed for multiple users](../../.gitbook/assets/Scenario3.2.png)
Expand All @@ -91,10 +86,6 @@ Currently, there are two main options to access a deployed ZenML server:
1. **Managed deployment:** With [ZenML Pro](../zenml-pro/README.md) offering you can utilize a control plane to create ZenML servers, also known as [tenants](../zenml-pro/tenants.md). These tenants are managed and maintained by ZenML's dedicated team, alleviating the burden of server management from your end. Importantly, your data remains securely within your stack, and ZenML's role is primarily to handle tracking of metadata and server maintenance.
2. **Self-hosted Deployment:** Alternatively, you have the ability to deploy ZenML on your own self-hosted environment. This can be achieved through various methods, including using [Docker](./deploy-with-docker.md), [Helm](./deploy-with-helm.md), or [HuggingFace Spaces](./deploy-using-huggingface-spaces.md). We also offer our Pro version for self-hosted deployments, so you can use our full paid feature-set while staying fully in control with an air-gapped solution on your infrastructure.

{% hint style="warning" %}
Currently the ZenML server supports a legacy and a brand-new version of the dashboard. To use the legacy version which supports stack registration from the dashboard simply set the following environment variable in the deployment environment: `export ZEN_SERVER_USE_LEGACY_DASHBOARD=True`.
{% endhint %}

Both options offer distinct advantages, allowing you to choose the deployment approach that best aligns with your organization's needs and infrastructure preferences. Whichever path you select, ZenML facilitates a seamless and efficient way to take advantage of the ZenML Server and enhance your machine learning workflows for production-level success.

### Options for deploying ZenML
Expand Down
9 changes: 2 additions & 7 deletions scripts/install-dashboard.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ REPO_URL="https://github.com/zenml-io/zenml-dashboard"

: "${INSTALL_PATH:=./src/zenml/zen_server}"
: "${INSTALL_DIR:=dashboard}"
: "${LEGACY_INSTALL_DIR:=dashboard_legacy}"
: "${VERIFY_CHECKSUM:=true}"
# : "${DESIRED_VERSION:=latest}"

Expand All @@ -29,8 +28,8 @@ verifySupported() {
# checkGitIgnore checks if the dashboard directories are ignored by Git
checkGitIgnore() {
if [ -f ".gitignore" ]; then
if grep -q -E "(^|\/)dashboard($|\/)" ".gitignore" || grep -q -E "(^|\/)src\/zenml\/zen_server\/dashboard($|\/)" ".gitignore" || grep -q -E "(^|\/)dashboard-legacy($|\/)" ".gitignore" || grep -q -E "(^|\/)src\/zenml\/zen_server\/dashboard-legacy($|\/)" ".gitignore"; then
echo "Error: The '/dashboard', '/dashboard-legacy', 'src/zenml/zen_server/dashboard-legacy' or 'src/zenml/zen_server/dashboard' directory is ignored by Git."
if grep -q -E "(^|\/)dashboard($|\/)" ".gitignore" || grep -q -E "(^|\/)src\/zenml\/zen_server\/dashboard($|\/)" ".gitignore"; then
echo "Error: The '/dashboard' or 'src/zenml/zen_server/dashboard' directory is ignored by Git."
echo "Please remove the corresponding entries from the .gitignore file to proceed with the installation."
exit 1
fi
Expand Down Expand Up @@ -167,9 +166,5 @@ if [[ -n "$TAG" ]]; then
downloadFile "zenml-dashboard.tar.gz"
verifyFile "zenml-dashboard.tar.gz"
installFile "$INSTALL_DIR"

downloadFile "zenml-dashboard-legacy.tar.gz"
verifyFile "zenml-dashboard-legacy.tar.gz"
installFile "$LEGACY_INSTALL_DIR"
fi
cleanup
11 changes: 0 additions & 11 deletions src/zenml/cli/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,6 @@
default=None,
help="Specify an ngrok auth token to use for exposing the ZenML server.",
)
@click.option(
"--legacy",
is_flag=True,
help="Start the legacy ZenML dashboard instead of the new ZenML dashboard.",
default=False,
type=click.BOOL,
)
def up(
docker: bool = False,
ip_address: Union[
Expand All @@ -109,7 +102,6 @@ def up(
connect: bool = False,
image: Optional[str] = None,
ngrok_token: Optional[str] = None,
legacy: bool = False,
) -> None:
"""Start the ZenML dashboard locally and connect the client to it.
Expand All @@ -125,8 +117,6 @@ def up(
ngrok_token: An ngrok auth token to use for exposing the ZenML dashboard
on a public domain. Primarily used for accessing the dashboard in
Colab.
legacy: Start the legacy ZenML dashboard instead of the new ZenML
dashboard.
"""
from zenml.zen_server.deploy.deployer import ServerDeployer

Expand Down Expand Up @@ -198,7 +188,6 @@ def up(
ServerProviderType.DOCKER,
]:
config_attrs["ip_address"] = ip_address
config_attrs["use_legacy_dashboard"] = legacy

from zenml.zen_server.deploy.deployment import ServerDeploymentConfig

Expand Down
5 changes: 0 additions & 5 deletions src/zenml/config/server_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
DEFAULT_ZENML_SERVER_SECURE_HEADERS_XFO,
DEFAULT_ZENML_SERVER_SECURE_HEADERS_XXP,
DEFAULT_ZENML_SERVER_THREAD_POOL_SIZE,
DEFAULT_ZENML_SERVER_USE_LEGACY_DASHBOARD,
ENV_ZENML_SERVER_PREFIX,
)
from zenml.enums import AuthScheme
Expand Down Expand Up @@ -218,9 +217,6 @@ class ServerConfiguration(BaseModel):
one of the reserved values `disabled`, `no`, `none`, `false`, `off`
or to an empty string, the `Permissions-Policy` header will not be
included in responses.
use_legacy_dashboard: Whether to use the legacy dashboard. If set to
`True`, the dashboard will be used with the old UI. If set to
`False`, the new dashboard will be used.
server_name: The name of the ZenML server. Used only during initial
deployment. Can be changed later as a part of the server settings.
display_announcements: Whether to display announcements about ZenML in
Expand Down Expand Up @@ -313,7 +309,6 @@ class ServerConfiguration(BaseModel):
default=DEFAULT_ZENML_SERVER_SECURE_HEADERS_PERMISSIONS,
union_mode="left_to_right",
)
use_legacy_dashboard: bool = DEFAULT_ZENML_SERVER_USE_LEGACY_DASHBOARD

server_name: str = DEFAULT_ZENML_SERVER_NAME
display_announcements: bool = True
Expand Down
5 changes: 0 additions & 5 deletions src/zenml/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,9 +181,6 @@ def handle_int_env_var(var: str, default: int = 0) -> int:
ENV_ZENML_SERVER_REPORTABLE_RESOURCES = (
f"{ENV_ZENML_SERVER_PREFIX}REPORTABLE_RESOURCES"
)
ENV_ZENML_SERVER_USE_LEGACY_DASHBOARD = (
f"{ENV_ZENML_SERVER_PREFIX}USE_LEGACY_DASHBOARD"
)
ENV_ZENML_SERVER_AUTO_ACTIVATE = f"{ENV_ZENML_SERVER_PREFIX}AUTO_ACTIVATE"
ENV_ZENML_RUN_SINGLE_STEPS_WITHOUT_STACK = (
"ZENML_RUN_SINGLE_STEPS_WITHOUT_STACK"
Expand Down Expand Up @@ -316,7 +313,6 @@ def handle_int_env_var(var: str, default: int = 0) -> int:
"payment=(), sync-xhr=(), usb=()"
)
DEFAULT_ZENML_SERVER_SECURE_HEADERS_REPORT_TO = "default"
DEFAULT_ZENML_SERVER_USE_LEGACY_DASHBOARD = False
DEFAULT_ZENML_SERVER_REPORT_USER_ACTIVITY_TO_DB_SECONDS = 30
DEFAULT_ZENML_SERVER_MAX_REQUEST_BODY_SIZE_IN_BYTES = 256 * 1024 * 1024

Expand Down Expand Up @@ -354,7 +350,6 @@ def handle_int_env_var(var: str, default: int = 0) -> int:
EVENT_SOURCES = "/event-sources"
FLAVORS = "/flavors"
GET_OR_CREATE = "/get-or-create"
GRAPH = "/graph"
HEALTH = "/health"
INFO = "/info"
LOGIN = "/login"
Expand Down
34 changes: 0 additions & 34 deletions src/zenml/lineage_graph/__init__.py

This file was deleted.

24 changes: 0 additions & 24 deletions src/zenml/lineage_graph/edge.py

This file was deleted.

Loading

0 comments on commit 0130823

Please sign in to comment.