skypilot-nightly 1.0.0.dev20250728__tar.gz → 1.0.0.dev20250729__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of skypilot-nightly might be problematic. Click here for more details.
- {skypilot_nightly-1.0.0.dev20250728/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250729}/PKG-INFO +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/__init__.py +2 -2
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/kubernetes_catalog.py +2 -2
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/kubernetes.py +2 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/404.html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/clusters/[cluster].html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/clusters.html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/config.html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/index.html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/infra/[context].html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/infra.html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/jobs/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/jobs.html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/users.html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/volumes.html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/workspace/new.html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/workspaces/[name].html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/workspaces.html +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/server/core.py +4 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/logs/agent.py +0 -14
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/logs/aws.py +0 -28
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/kubernetes/instance.py +4 -3
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/kubernetes/utils.py +51 -28
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/server/core.py +21 -2
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/service.py +22 -2
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/server.py +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/sky-serve-controller.yaml.j2 +3 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/gpu_labeler.py +2 -2
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/schemas.py +5 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729/skypilot_nightly.egg-info}/PKG-INFO +1 -1
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/skypilot_nightly.egg-info/SOURCES.txt +2 -2
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/README.md +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/pyproject.toml +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/setup.cfg +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/cloudflare.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/docker.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/adaptors/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/admin_policy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/authentication.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/backends/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/backends/backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/backends/backend_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/backends/cloud_vm_ray_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/backends/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/backends/local_docker_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/backends/wheel_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/aws_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/azure_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/cudo_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/analyze.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/do_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/fluidstack_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/gcp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/hyperbolic_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/ibm_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/lambda_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/nebius_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/oci_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/paperspace_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/runpod_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/scp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/ssh_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/vast_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/catalog/vsphere_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/check.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/cli/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/cli/command.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/cli/deprecation_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/cli/flags.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/cli/git.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/oauth.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/sdk.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/client/service_account_auth.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/cloud_stores.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/paperspace.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/scp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/ssh.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/utils/aws_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/utils/azure_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/utils/gcp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/utils/oci_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/utils/scp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728/sky/dashboard/out/_next/static/ucBqsWPN0A5D2kXj8-FqQ → skypilot_nightly-1.0.0.dev20250729/sky/dashboard/out/_next/static/Q2sVXboB_t7cgvntL-6nD}/_buildManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728/sky/dashboard/out/_next/static/ucBqsWPN0A5D2kXj8-FqQ → skypilot_nightly-1.0.0.dev20250729/sky/dashboard/out/_next/static/Q2sVXboB_t7cgvntL-6nD}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/1043-869d9c78bf5dd3df.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/1141-e49a159c30a6c4a7.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/1559-18717d96ef2fcbe9.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/1664-d65361e92b85e786.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/1871-ea0e7283886407ca.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/2003.b82e6db40ec4c463.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/2350.23778a2b19aabd33.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/2369.2d6e4757f8dfc2b7.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/2641.74c19c4d45a2c034.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/3698-9fa11dafb5cad4a6.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/3785.59705416215ff08b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/3937.d7f1c55d1916c7f2.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/4725.66125dcd9832aa5d.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/4869.da729a7db3a31f43.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/4937.d75809403fc264ac.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/5230-df791914b54d91d9.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/5739-5ea3ffa10fc884f2.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/6135-2abbd0352f8ee061.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/616-162f3033ffcd3d31.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/6601-d4a381403a8bae91.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/691.488b4aef97c28727.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/6989-eab0e9c16b64fd9f.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/6990-f64e03df359e04f7.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/7411-2cc31dc0fdf2a9ad.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/8969-8e0b2055bf5dd499.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/9025.4a9099bdf3ed4875.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/938-7ee806653aef0609.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/9847.387abf8a14d722db.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/9984.0460de9d3adf5582.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/fd9d1056-61f2257a9cd8b32b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/framework-efc06c2733009cd3.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/main-app-68c028b1bc5e1b72.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/main-c0a4f1ea606d48d2.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/_app-da491665d4289aae.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/_error-c72a1f77a3c0be1b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-2186770cc2de1623.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-95afb019ab85801c.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/clusters-3d4be4961e1c94eb.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/config-a2673b256b6d416f.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/index-89e7daf7b7df02e0.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-a90b4fe4616dc501.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/infra-0d3d1f890c5d188a.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dc0299ffefebcdbe.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/jobs-49f790d12a85027c.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/users-6790fcefd5487b13.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/volumes-61ea7ba7e56f8d06.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-5629d4e551dba1ee.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-6bcd4b20914d76c9.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/pages/workspaces-5f7fe4b7d55b8612.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/chunks/webpack-a305898dc479711e.js +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/_next/static/css/b3227360726f12eb.css +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/skypilot.svg +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/data/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/data/data_transfer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/data/data_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/data/mounting_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/data/storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/data/storage_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/exceptions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/execution.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/recovery_strategy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/scheduler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/server/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/logs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/logs/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/metrics/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/metrics/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/models.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/optimizer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/aws/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/aws/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/aws/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/azure/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/azure/azure-config-template.json +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/azure/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/azure/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/cudo/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/cudo/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/cudo/cudo_machine_type.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/cudo/cudo_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/cudo/cudo_wrapper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/cudo/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/do/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/do/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/do/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/do/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/do/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/fluidstack/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/fluidstack/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/fluidstack/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/gcp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/gcp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/gcp/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/gcp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/gcp/instance_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/gcp/mig_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/gcp/volume_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/hyperbolic/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/hyperbolic/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/hyperbolic/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/hyperbolic/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/instance_setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/kubernetes/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/kubernetes/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/kubernetes/network.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/kubernetes/network_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/kubernetes/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/lambda_cloud/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/lambda_cloud/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/lambda_cloud/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/nebius/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/nebius/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/nebius/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/nebius/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/nebius/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/oci/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/oci/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/oci/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/oci/query_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/paperspace/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/paperspace/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/paperspace/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/paperspace/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/paperspace/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/provisioner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/runpod/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/runpod/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/runpod/api/commands.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/runpod/api/pods.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/runpod/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/runpod/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/runpod/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/scp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/scp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/scp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/ssh/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vast/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vast/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vast/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vast/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/cls_api_client.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/custom_script.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/id_generator.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/service_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/ssl_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/vapiconnect.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/common/vim_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/provision/vsphere/vsphere_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/resources.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/schemas/db/README +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/schemas/db/env.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/schemas/db/script.py.mako +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/autoscalers.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/load_balancer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/load_balancing_policies.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/replica_managers.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/serve_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/serve_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/service_spec.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/serve/spot_placer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/html/log.html +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/html/token_page.html +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/metrics.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/event_loop.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/executor.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/payloads.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/preconditions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/process.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/queues/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/queues/local_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/queues/mp_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/requests.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/serializers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/serializers/decoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/requests/serializers/encoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/rest.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/stream_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/uvicorn.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/server/versions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/setup_files/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/setup_files/alembic.ini +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/setup_files/dependencies.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/setup_files/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/sky_logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/attempt_skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/autostop_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/configs.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/events.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/job_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/log_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/log_lib.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/providers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/providers/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/providers/ibm/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/providers/ibm/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/providers/ibm/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/ray_patches/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/ray_patches/cli.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/ray_patches/updater.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/ray_patches/worker.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skylet/subprocess_daemon.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/skypilot_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/ssh_node_pools/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/ssh_node_pools/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/ssh_node_pools/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/task.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/aws-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/azure-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/cudo-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/do-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/fluidstack-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/gcp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/ibm-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/jobs-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/kubernetes-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/lambda-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/local-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/nebius-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/oci-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/paperspace-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/runpod-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/scp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/vast-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/vsphere-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/templates/websocket_proxy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/usage/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/usage/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/usage/usage_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/users/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/users/model.conf +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/users/permission.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/users/rbac.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/users/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/users/token_service.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/accelerator_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/admin_policy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/annotations.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/atomic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/aws/get_default_security_group.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/cli_utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/cli_utils/status_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/cluster_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/command_runner.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/common_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/config_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/context.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/context_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/control_master_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/controller_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/dag_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/db/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/db/db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/db/migration_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/env_options.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/git.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/git_clone.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/infra_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/config_map_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/create_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/delete_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/generate_kind_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/rsync_helper.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes/ssh_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/kubernetes_enums.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/locks.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/log_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/message_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/resource_checker.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/resources_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/rich_console_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/rich_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/status_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/subprocess_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/tempstore.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/timeline.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/ux_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/validator.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/utils/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/volumes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/volumes/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/volumes/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/volumes/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/volumes/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/volumes/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/volumes/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/volumes/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/workspaces/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/workspaces/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/workspaces/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/workspaces/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/skypilot_nightly.egg-info/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/skypilot_nightly.egg-info/requires.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/skypilot_nightly.egg-info/top_level.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_api.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_api_compatibility.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_failover.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_jobs.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_jobs_and_serve.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_list_accelerators.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_no_parellel.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_optimizer_dryruns.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_optimizer_random_dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_serve_autoscaler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_smoke.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_wheels.py +0 -0
- {skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/tests/test_yaml_parser.py +0 -0
|
@@ -5,7 +5,7 @@ from typing import Optional
|
|
|
5
5
|
import urllib.request
|
|
6
6
|
|
|
7
7
|
# Replaced with the current commit when building the wheels.
|
|
8
|
-
_SKYPILOT_COMMIT_SHA = '
|
|
8
|
+
_SKYPILOT_COMMIT_SHA = '1e4f892c08e19e9ca7651d3a114a71d954dcd915'
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def _get_git_commit():
|
|
@@ -35,7 +35,7 @@ def _get_git_commit():
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
__commit__ = _get_git_commit()
|
|
38
|
-
__version__ = '1.0.0.
|
|
38
|
+
__version__ = '1.0.0.dev20250729'
|
|
39
39
|
__root_dir__ = os.path.dirname(os.path.abspath(__file__))
|
|
40
40
|
|
|
41
41
|
|
|
@@ -214,7 +214,7 @@ def _list_accelerators(
|
|
|
214
214
|
# Generate the accelerator quantities
|
|
215
215
|
accelerator_count = (
|
|
216
216
|
kubernetes_utils.get_node_accelerator_count(
|
|
217
|
-
node.status.allocatable))
|
|
217
|
+
context, node.status.allocatable))
|
|
218
218
|
|
|
219
219
|
if accelerator_count > 0:
|
|
220
220
|
# TPUs are counted in a different way compared to GPUs.
|
|
@@ -261,7 +261,7 @@ def _list_accelerators(
|
|
|
261
261
|
if container.resources.requests:
|
|
262
262
|
allocated_qty += (
|
|
263
263
|
kubernetes_utils.get_node_accelerator_count(
|
|
264
|
-
container.resources.requests))
|
|
264
|
+
context, container.resources.requests))
|
|
265
265
|
|
|
266
266
|
accelerators_available = accelerator_count - allocated_qty
|
|
267
267
|
# Initialize the total_accelerators_available to make sure the
|
{skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/clouds/kubernetes.py
RENAMED
|
@@ -547,7 +547,8 @@ class Kubernetes(clouds.Cloud):
|
|
|
547
547
|
tpu_requested = True
|
|
548
548
|
k8s_resource_key = kubernetes_utils.TPU_RESOURCE_KEY
|
|
549
549
|
else:
|
|
550
|
-
k8s_resource_key = kubernetes_utils.get_gpu_resource_key(
|
|
550
|
+
k8s_resource_key = kubernetes_utils.get_gpu_resource_key(
|
|
551
|
+
context)
|
|
551
552
|
else:
|
|
552
553
|
# If no GPUs are requested, we set NVIDIA_VISIBLE_DEVICES=none to
|
|
553
554
|
# maintain GPU isolation. This is to override the default behavior
|
{skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/dashboard/out/404.html
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c72a1f77a3c0be1b.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c72a1f77a3c0be1b.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-2cc31dc0fdf2a9ad.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-eab0e9c16b64fd9f.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-9fa11dafb5cad4a6.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-2abbd0352f8ee061.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-2186770cc2de1623.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-2cc31dc0fdf2a9ad.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-eab0e9c16b64fd9f.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-9fa11dafb5cad4a6.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-2abbd0352f8ee061.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-2186770cc2de1623.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-2cc31dc0fdf2a9ad.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1559-18717d96ef2fcbe9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-eab0e9c16b64fd9f.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-9fa11dafb5cad4a6.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-2abbd0352f8ee061.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f64e03df359e04f7.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-8e0b2055bf5dd499.js" defer=""></script><script src="/dashboard/_next/static/chunks/1043-869d9c78bf5dd3df.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-d4a381403a8bae91.js" defer=""></script><script src="/dashboard/_next/static/chunks/938-7ee806653aef0609.js" defer=""></script><script src="/dashboard/_next/static/chunks/1871-ea0e7283886407ca.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-95afb019ab85801c.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-2cc31dc0fdf2a9ad.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1559-18717d96ef2fcbe9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-eab0e9c16b64fd9f.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-9fa11dafb5cad4a6.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-2abbd0352f8ee061.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f64e03df359e04f7.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-8e0b2055bf5dd499.js" defer=""></script><script src="/dashboard/_next/static/chunks/1043-869d9c78bf5dd3df.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-d4a381403a8bae91.js" defer=""></script><script src="/dashboard/_next/static/chunks/938-7ee806653aef0609.js" defer=""></script><script src="/dashboard/_next/static/chunks/1871-ea0e7283886407ca.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-95afb019ab85801c.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-3d4be4961e1c94eb.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-3d4be4961e1c94eb.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/config-a2673b256b6d416f.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/config-a2673b256b6d416f.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-89e7daf7b7df02e0.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-89e7daf7b7df02e0.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra/%5Bcontext%5D-a90b4fe4616dc501.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra/%5Bcontext%5D-a90b4fe4616dc501.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra-0d3d1f890c5d188a.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra-0d3d1f890c5d188a.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-2cc31dc0fdf2a9ad.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-eab0e9c16b64fd9f.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-9fa11dafb5cad4a6.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-2abbd0352f8ee061.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-8e0b2055bf5dd499.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-dc0299ffefebcdbe.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-2cc31dc0fdf2a9ad.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-eab0e9c16b64fd9f.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-9fa11dafb5cad4a6.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-2abbd0352f8ee061.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-8e0b2055bf5dd499.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-dc0299ffefebcdbe.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-49f790d12a85027c.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-49f790d12a85027c.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/users-6790fcefd5487b13.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/users-6790fcefd5487b13.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/users","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/volumes-61ea7ba7e56f8d06.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/volumes-61ea7ba7e56f8d06.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/volumes","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspace/new-5629d4e551dba1ee.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspace/new-5629d4e551dba1ee.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspace/new","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-2cc31dc0fdf2a9ad.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1559-18717d96ef2fcbe9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-eab0e9c16b64fd9f.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-9fa11dafb5cad4a6.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-2abbd0352f8ee061.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f64e03df359e04f7.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-8e0b2055bf5dd499.js" defer=""></script><script src="/dashboard/_next/static/chunks/1043-869d9c78bf5dd3df.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-d4a381403a8bae91.js" defer=""></script><script src="/dashboard/_next/static/chunks/938-7ee806653aef0609.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-e49a159c30a6c4a7.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-6bcd4b20914d76c9.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-2cc31dc0fdf2a9ad.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1559-18717d96ef2fcbe9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-eab0e9c16b64fd9f.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-9fa11dafb5cad4a6.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-2abbd0352f8ee061.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f64e03df359e04f7.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-8e0b2055bf5dd499.js" defer=""></script><script src="/dashboard/_next/static/chunks/1043-869d9c78bf5dd3df.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-d4a381403a8bae91.js" defer=""></script><script src="/dashboard/_next/static/chunks/938-7ee806653aef0609.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-e49a159c30a6c4a7.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-6bcd4b20914d76c9.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-5f7fe4b7d55b8612.js" defer=""></script><script src="/dashboard/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/b3227360726f12eb.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/b3227360726f12eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-a305898dc479711e.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-da491665d4289aae.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-5f7fe4b7d55b8612.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Q2sVXboB_t7cgvntL-6nD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"Q2sVXboB_t7cgvntL-6nD","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
{skypilot_nightly-1.0.0.dev20250728 → skypilot_nightly-1.0.0.dev20250729}/sky/jobs/server/core.py
RENAMED
|
@@ -59,7 +59,10 @@ def _upload_files_to_controller(dag: 'sky.Dag') -> Dict[str, str]:
|
|
|
59
59
|
# as uploading to the controller is only a local copy.
|
|
60
60
|
storage_clouds = (
|
|
61
61
|
storage_lib.get_cached_enabled_storage_cloud_names_or_refresh())
|
|
62
|
-
|
|
62
|
+
force_disable_cloud_bucket = skypilot_config.get_nested(
|
|
63
|
+
('jobs', 'force_disable_cloud_bucket'), False)
|
|
64
|
+
if (not managed_job_utils.is_consolidation_mode() and storage_clouds and
|
|
65
|
+
not force_disable_cloud_bucket):
|
|
63
66
|
for task_ in dag.tasks:
|
|
64
67
|
controller_utils.maybe_translate_local_file_mounts_and_sync_up(
|
|
65
68
|
task_, task_type='jobs')
|
|
@@ -67,20 +67,6 @@ class FluentbitAgent(LoggingAgent):
|
|
|
67
67
|
}
|
|
68
68
|
return common_utils.dump_yaml_str(cfg_dict)
|
|
69
69
|
|
|
70
|
-
def add_fallback_outputs(self, cfg_dict: Dict[str, Any]) -> Dict[str, Any]:
|
|
71
|
-
"""Add fallback outputs to the Fluent Bit configuration.
|
|
72
|
-
|
|
73
|
-
This method can be overridden by subclasses to add fallback outputs
|
|
74
|
-
in case the primary output fails.
|
|
75
|
-
|
|
76
|
-
Args:
|
|
77
|
-
cfg_dict: The Fluent Bit configuration dictionary.
|
|
78
|
-
|
|
79
|
-
Returns:
|
|
80
|
-
The updated configuration dictionary.
|
|
81
|
-
"""
|
|
82
|
-
return cfg_dict
|
|
83
|
-
|
|
84
70
|
@abc.abstractmethod
|
|
85
71
|
def fluentbit_output_config(
|
|
86
72
|
self, cluster_name: resources_utils.ClusterName) -> Dict[str, Any]:
|
|
@@ -211,36 +211,8 @@ class CloudwatchLoggingAgent(FluentbitAgent):
|
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
# Add fallback outputs for graceful failure handling
|
|
215
|
-
cfg_dict = self.add_fallback_outputs(cfg_dict)
|
|
216
|
-
|
|
217
214
|
return common_utils.dump_yaml_str(cfg_dict)
|
|
218
215
|
|
|
219
|
-
def add_fallback_outputs(self, cfg_dict: Dict[str, Any]) -> Dict[str, Any]:
|
|
220
|
-
"""Add fallback outputs to the Fluent Bit configuration.
|
|
221
|
-
|
|
222
|
-
This adds a local file output as a fallback in case
|
|
223
|
-
CloudWatch logging fails.
|
|
224
|
-
|
|
225
|
-
Args:
|
|
226
|
-
cfg_dict: The Fluent Bit configuration dictionary.
|
|
227
|
-
|
|
228
|
-
Returns:
|
|
229
|
-
The updated configuration dictionary.
|
|
230
|
-
"""
|
|
231
|
-
# Add a local file output as a fallback
|
|
232
|
-
fallback_output = {
|
|
233
|
-
'name': 'file',
|
|
234
|
-
'match': '*',
|
|
235
|
-
'path': '/tmp/skypilot_logs_fallback.log',
|
|
236
|
-
'format': 'out_file',
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
# Add the fallback output to the configuration
|
|
240
|
-
cfg_dict['pipeline']['outputs'].append(fallback_output)
|
|
241
|
-
|
|
242
|
-
return cfg_dict
|
|
243
|
-
|
|
244
216
|
def fluentbit_output_config(
|
|
245
217
|
self, cluster_name: resources_utils.ClusterName) -> Dict[str, Any]:
|
|
246
218
|
"""Get the Fluent Bit output configuration for CloudWatch.
|
|
@@ -210,7 +210,7 @@ def _raise_pod_scheduling_errors(namespace, context, new_nodes):
|
|
|
210
210
|
# case we will need to update this logic.
|
|
211
211
|
# TODO(Doyoung): Update the error message raised
|
|
212
212
|
# with the multi-host TPU support.
|
|
213
|
-
gpu_resource_key = kubernetes_utils.get_gpu_resource_key() # pylint: disable=line-too-long
|
|
213
|
+
gpu_resource_key = kubernetes_utils.get_gpu_resource_key(context) # pylint: disable=line-too-long
|
|
214
214
|
if 'Insufficient google.com/tpu' in event_message:
|
|
215
215
|
extra_msg = (
|
|
216
216
|
f'Verify if '
|
|
@@ -797,7 +797,8 @@ def _create_pods(region: str, cluster_name_on_cloud: str,
|
|
|
797
797
|
limits = pod_spec['spec']['containers'][0].get('resources',
|
|
798
798
|
{}).get('limits')
|
|
799
799
|
if limits is not None:
|
|
800
|
-
needs_gpus = limits.get(kubernetes_utils.get_gpu_resource_key(),
|
|
800
|
+
needs_gpus = limits.get(kubernetes_utils.get_gpu_resource_key(context),
|
|
801
|
+
0) > 0
|
|
801
802
|
|
|
802
803
|
# TPU pods provisioned on GKE use the default containerd runtime.
|
|
803
804
|
# Reference: https://cloud.google.com/kubernetes-engine/docs/how-to/migrate-containerd#overview # pylint: disable=line-too-long
|
|
@@ -900,7 +901,7 @@ def _create_pods(region: str, cluster_name_on_cloud: str,
|
|
|
900
901
|
# to the non-DWS case.
|
|
901
902
|
if needs_gpus:
|
|
902
903
|
gpu_toleration = {
|
|
903
|
-
'key': kubernetes_utils.get_gpu_resource_key(),
|
|
904
|
+
'key': kubernetes_utils.get_gpu_resource_key(context),
|
|
904
905
|
'operator': 'Exists',
|
|
905
906
|
'effect': 'NoSchedule'
|
|
906
907
|
}
|
|
@@ -147,12 +147,14 @@ MEMORY_SIZE_UNITS = {
|
|
|
147
147
|
# The resource keys used by Kubernetes to track NVIDIA GPUs and Google TPUs on
|
|
148
148
|
# nodes. These keys are typically used in the node's status.allocatable
|
|
149
149
|
# or status.capacity fields to indicate the available resources on the node.
|
|
150
|
-
|
|
150
|
+
SUPPORTED_GPU_RESOURCE_KEYS = {'amd': 'amd.com/gpu', 'nvidia': 'nvidia.com/gpu'}
|
|
151
151
|
TPU_RESOURCE_KEY = 'google.com/tpu'
|
|
152
152
|
|
|
153
153
|
NO_ACCELERATOR_HELP_MESSAGE = (
|
|
154
154
|
'If your cluster contains GPUs or TPUs, make sure '
|
|
155
|
-
f'
|
|
155
|
+
f'one of {SUPPORTED_GPU_RESOURCE_KEYS["amd"]}, '
|
|
156
|
+
f'{SUPPORTED_GPU_RESOURCE_KEYS["nvidia"]} or '
|
|
157
|
+
f'{TPU_RESOURCE_KEY} resource is available '
|
|
156
158
|
'on the nodes and the node labels for identifying GPUs/TPUs '
|
|
157
159
|
'(e.g., skypilot.co/accelerator) are setup correctly. ')
|
|
158
160
|
|
|
@@ -391,6 +393,8 @@ def get_gke_accelerator_name(accelerator: str) -> str:
|
|
|
391
393
|
return 'nvidia-h200-141gb'
|
|
392
394
|
elif accelerator.startswith('tpu-'):
|
|
393
395
|
return accelerator
|
|
396
|
+
elif accelerator.startswith('amd-'):
|
|
397
|
+
return accelerator
|
|
394
398
|
else:
|
|
395
399
|
return 'nvidia-tesla-{}'.format(accelerator.lower())
|
|
396
400
|
|
|
@@ -1098,10 +1102,10 @@ def detect_accelerator_resource(
|
|
|
1098
1102
|
context: Optional[str]) -> Tuple[bool, Set[str]]:
|
|
1099
1103
|
"""Checks if the Kubernetes cluster has GPU/TPU resource.
|
|
1100
1104
|
|
|
1101
|
-
|
|
1102
|
-
with nvidia.com/gpu and google.com/tpu. If nvidia.com/gpu resource is
|
|
1105
|
+
Three types of accelerator resources are available which are each checked
|
|
1106
|
+
with amd.com/gpu, nvidia.com/gpu and google.com/tpu. If amd.com/gpu or nvidia.com/gpu resource is
|
|
1103
1107
|
missing, that typically means that the Kubernetes cluster does not have
|
|
1104
|
-
GPUs or the nvidia GPU operator and/or device drivers are not installed.
|
|
1108
|
+
GPUs or the amd/nvidia GPU operator and/or device drivers are not installed.
|
|
1105
1109
|
|
|
1106
1110
|
Returns:
|
|
1107
1111
|
bool: True if the cluster has GPU_RESOURCE_KEY or TPU_RESOURCE_KEY
|
|
@@ -1112,7 +1116,7 @@ def detect_accelerator_resource(
|
|
|
1112
1116
|
nodes = get_kubernetes_nodes(context=context)
|
|
1113
1117
|
for node in nodes:
|
|
1114
1118
|
cluster_resources.update(node.status.allocatable.keys())
|
|
1115
|
-
has_accelerator = (get_gpu_resource_key() in cluster_resources or
|
|
1119
|
+
has_accelerator = (get_gpu_resource_key(context) in cluster_resources or
|
|
1116
1120
|
TPU_RESOURCE_KEY in cluster_resources)
|
|
1117
1121
|
|
|
1118
1122
|
return has_accelerator, cluster_resources
|
|
@@ -1262,8 +1266,8 @@ def check_instance_fits(context: Optional[str],
|
|
|
1262
1266
|
else:
|
|
1263
1267
|
# Check if any of the GPU nodes have sufficient number of GPUs.
|
|
1264
1268
|
gpu_nodes = [
|
|
1265
|
-
node for node in gpu_nodes if
|
|
1266
|
-
|
|
1269
|
+
node for node in gpu_nodes if get_node_accelerator_count(
|
|
1270
|
+
context, node.status.allocatable) >= acc_count
|
|
1267
1271
|
]
|
|
1268
1272
|
if not gpu_nodes:
|
|
1269
1273
|
return False, (
|
|
@@ -1325,14 +1329,14 @@ def get_accelerator_label_key_values(
|
|
|
1325
1329
|
Raises:
|
|
1326
1330
|
ResourcesUnavailableError: Can be raised from the following conditions:
|
|
1327
1331
|
- The cluster does not have GPU/TPU resources
|
|
1328
|
-
(nvidia.com/gpu, google.com/tpu)
|
|
1332
|
+
(amd.com/gpu, nvidia.com/gpu, google.com/tpu)
|
|
1329
1333
|
- The cluster has GPU/TPU resources, but no node in the cluster has
|
|
1330
1334
|
an accelerator label.
|
|
1331
1335
|
- The cluster has a node with an invalid accelerator label value.
|
|
1332
1336
|
- The cluster doesn't have any nodes with acc_type GPU/TPU
|
|
1333
1337
|
"""
|
|
1334
1338
|
# Check if the cluster has GPU resources
|
|
1335
|
-
# TODO(romilb): This assumes the accelerator is a nvidia GPU. We
|
|
1339
|
+
# TODO(romilb): This assumes the accelerator is a amd/nvidia GPU. We
|
|
1336
1340
|
# need to support TPUs and other accelerators as well.
|
|
1337
1341
|
# TODO(romilb): Currently, we broadly disable all GPU checks if autoscaling
|
|
1338
1342
|
# is configured in config.yaml since the cluster may be scaling up from
|
|
@@ -1496,12 +1500,15 @@ def get_accelerator_label_key_values(
|
|
|
1496
1500
|
f'`sky ssh up --infra {context_display_name}`. {suffix}')
|
|
1497
1501
|
else:
|
|
1498
1502
|
msg = (
|
|
1499
|
-
f'Could not detect GPU/TPU resources ({
|
|
1503
|
+
f'Could not detect GPU/TPU resources ({SUPPORTED_GPU_RESOURCE_KEYS["amd"]!r}, '
|
|
1504
|
+
f'{SUPPORTED_GPU_RESOURCE_KEYS["nvidia"]!r} or '
|
|
1500
1505
|
f'{TPU_RESOURCE_KEY!r}) in Kubernetes cluster. If this cluster'
|
|
1501
1506
|
' contains GPUs, please ensure GPU drivers are installed on '
|
|
1502
1507
|
'the node. Check if the GPUs are setup correctly by running '
|
|
1503
1508
|
'`kubectl describe nodes` and looking for the '
|
|
1504
|
-
f'{
|
|
1509
|
+
f'{SUPPORTED_GPU_RESOURCE_KEYS["amd"]!r}, '
|
|
1510
|
+
f'{SUPPORTED_GPU_RESOURCE_KEYS["nvidia"]!r} or '
|
|
1511
|
+
f'{TPU_RESOURCE_KEY!r} resource. '
|
|
1505
1512
|
'Please refer to the documentation on how to set up GPUs.'
|
|
1506
1513
|
f'{suffix}')
|
|
1507
1514
|
raise exceptions.ResourcesUnavailableError(msg)
|
|
@@ -2861,7 +2868,7 @@ def get_unlabeled_accelerator_nodes(context: Optional[str] = None) -> List[Any]:
|
|
|
2861
2868
|
nodes = get_kubernetes_nodes(context=context)
|
|
2862
2869
|
nodes_with_accelerator = []
|
|
2863
2870
|
for node in nodes:
|
|
2864
|
-
if get_gpu_resource_key() in node.status.capacity:
|
|
2871
|
+
if get_gpu_resource_key(context) in node.status.capacity:
|
|
2865
2872
|
nodes_with_accelerator.append(node)
|
|
2866
2873
|
|
|
2867
2874
|
label_formatter, _ = detect_gpu_label_formatter(context)
|
|
@@ -2950,7 +2957,8 @@ def get_kubernetes_node_info(
|
|
|
2950
2957
|
break
|
|
2951
2958
|
|
|
2952
2959
|
allocated_qty = 0
|
|
2953
|
-
accelerator_count = get_node_accelerator_count(
|
|
2960
|
+
accelerator_count = get_node_accelerator_count(context,
|
|
2961
|
+
node.status.allocatable)
|
|
2954
2962
|
|
|
2955
2963
|
if pods is None:
|
|
2956
2964
|
accelerators_available = -1
|
|
@@ -2965,7 +2973,7 @@ def get_kubernetes_node_info(
|
|
|
2965
2973
|
for container in pod.spec.containers:
|
|
2966
2974
|
if container.resources.requests:
|
|
2967
2975
|
allocated_qty += get_node_accelerator_count(
|
|
2968
|
-
container.resources.requests)
|
|
2976
|
+
context, container.resources.requests)
|
|
2969
2977
|
|
|
2970
2978
|
accelerators_available = accelerator_count - allocated_qty
|
|
2971
2979
|
|
|
@@ -3177,7 +3185,8 @@ def is_tpu_on_gke(accelerator: str) -> bool:
|
|
|
3177
3185
|
return normalized in GKE_TPU_ACCELERATOR_TO_GENERATION
|
|
3178
3186
|
|
|
3179
3187
|
|
|
3180
|
-
def get_node_accelerator_count(
|
|
3188
|
+
def get_node_accelerator_count(context: Optional[str],
|
|
3189
|
+
attribute_dict: dict) -> int:
|
|
3181
3190
|
"""Retrieves the count of accelerators from a node's resource dictionary.
|
|
3182
3191
|
|
|
3183
3192
|
This method checks the node's allocatable resources or the accelerators
|
|
@@ -3192,7 +3201,7 @@ def get_node_accelerator_count(attribute_dict: dict) -> int:
|
|
|
3192
3201
|
Number of accelerators allocated or available from the node. If no
|
|
3193
3202
|
resource is found, it returns 0.
|
|
3194
3203
|
"""
|
|
3195
|
-
gpu_resource_name = get_gpu_resource_key()
|
|
3204
|
+
gpu_resource_name = get_gpu_resource_key(context)
|
|
3196
3205
|
assert not (gpu_resource_name in attribute_dict and
|
|
3197
3206
|
TPU_RESOURCE_KEY in attribute_dict)
|
|
3198
3207
|
if gpu_resource_name in attribute_dict:
|
|
@@ -3318,7 +3327,7 @@ def process_skypilot_pods(
|
|
|
3318
3327
|
unit='G')
|
|
3319
3328
|
gpu_count = parse_cpu_or_gpu_resource(
|
|
3320
3329
|
pod.spec.containers[0].resources.requests.get(
|
|
3321
|
-
|
|
3330
|
+
get_gpu_resource_key(context), '0'))
|
|
3322
3331
|
gpu_name = None
|
|
3323
3332
|
if gpu_count > 0:
|
|
3324
3333
|
label_formatter, _ = (detect_gpu_label_formatter(context))
|
|
@@ -3373,19 +3382,33 @@ def process_skypilot_pods(
|
|
|
3373
3382
|
return list(clusters.values()), jobs_controllers, serve_controllers
|
|
3374
3383
|
|
|
3375
3384
|
|
|
3376
|
-
def
|
|
3377
|
-
"""
|
|
3378
|
-
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3385
|
+
def _gpu_resource_key_helper(context: Optional[str]) -> str:
|
|
3386
|
+
"""Helper function to get the GPU resource key."""
|
|
3387
|
+
gpu_resource_key = SUPPORTED_GPU_RESOURCE_KEYS['amd']
|
|
3388
|
+
try:
|
|
3389
|
+
nodes = kubernetes.core_api(context).list_node().items
|
|
3390
|
+
for gpu_key in SUPPORTED_GPU_RESOURCE_KEYS.values():
|
|
3391
|
+
if any(gpu_key in node.status.capacity for node in nodes):
|
|
3392
|
+
return gpu_key
|
|
3393
|
+
except Exception as e: # pylint: disable=broad-except
|
|
3394
|
+
logger.warning(f'Failed to load kube config or query nodes: {e}. '
|
|
3395
|
+
'Falling back to default GPU resource key.')
|
|
3396
|
+
return gpu_resource_key
|
|
3397
|
+
|
|
3398
|
+
|
|
3399
|
+
@annotations.lru_cache(scope='request')
|
|
3400
|
+
def get_gpu_resource_key(context: Optional[str] = None) -> str:
|
|
3401
|
+
"""Get the GPU resource name to use in Kubernetes.
|
|
3402
|
+
|
|
3403
|
+
The function auto-detects the GPU resource key by querying the Kubernetes node API.
|
|
3404
|
+
If detection fails, it falls back to a default value.
|
|
3405
|
+
An environment variable can override the detected or default value.
|
|
3406
|
+
|
|
3382
3407
|
Returns:
|
|
3383
3408
|
str: The selected GPU resource name.
|
|
3384
3409
|
"""
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
# E.g., can be nvidia.com/gpu-h100, amd.com/gpu etc.
|
|
3388
|
-
return os.getenv('CUSTOM_GPU_RESOURCE_KEY', default=GPU_RESOURCE_KEY)
|
|
3410
|
+
gpu_resource_key = _gpu_resource_key_helper(context)
|
|
3411
|
+
return os.getenv('CUSTOM_GPU_RESOURCE_KEY', default=gpu_resource_key)
|
|
3389
3412
|
|
|
3390
3413
|
|
|
3391
3414
|
def get_kubeconfig_paths() -> List[str]:
|